![]() |
PMT - Parallel Multithreaded Encoder/Decoder
1 Attachment(s)
PMT is a 4x4 like algorithm to make everything run parallelly. You can run any compressor/encoder that supports stdio/stdin/stdout or even nothing. The program can make a single threaded compressor multithreaded by using blocks, just like 4x4.
Run PMT.exe --h to see this help that describes a lot: Quote:
Encode: Quote:
Quote:
Quote:
Code:
[External compressor:precomp,mpzapi,zlib,razor]You can make everything multithreaded with this. As it's first release and I haven't tested it much, there can be bugs. Do report if you find one. The program may seem too complex for beginners, but I can't make it simpler than this. Good Luck and Merry Christmas. Release 2 changelog: 1. The whole ini settings changed. See help again. 2. Minor bug fixed. Source released on github |
Test
Thanks 78372
Code:
[razor]Code:
[External compressor:precomp,mpzapi,zlib,razor]Code:
Compressed 8 files, 466,568,427 => 58,679,682 bytes. Ratio 12.58%Code:
Tested 8 files, 58,679,682 => 466,568,427 bytes. Ratio 12.58% |
^^.pcf isn't needed here, that was for precomp which gives
pcf as output. And -d 32m doesn't make sense with 16m blocks |
Ohh, okay. This seems to be interresting. I will test it out next year if I have a bit more time :D
Thank you for all your stuff here until now! |
Nice Work! Thanks.
|
Thanks for the Christmas gift, it's working as intended! Will do more tests.
|
@Everyone.
Release 2 Uploaded. Changed the whole INI setup and made it as easy as fa. I wonder why I didn't make it before. Check first post for changes, settings and download. |
What if only CLS is available for unpacking? In this case how can i use PMT? Is it possible somehow?
|
Quote:
|
anyway to make bpk mt I tested it's not working
|
Quote:
|
1 Attachment(s)
If you have a cls for both compression and decompression, you can use wrapcls.exe with PMT to use the cls. Here's an example of PMT.ini:
Quote:
|
Quote:
It's intended for codecs which rely on pure stream data - generic compressors, precompressors, MPZ (cause it deals with frames in MP3, not full files). |
@Simorq,
I think FitGirl has already answered your question. In addition, let me describe how PMT works. PMT splits your input as blocksize you have specified. If your encoder doesn't support stdio, it makes temporary files and runs your encoder over it. It requires disk space for that. If your encoder supports stdio, then it uses memory for storing blocks. Basically the additional memory you need here is blocksize * threads + encoded size * threads. Same goes for non-stdio but it takes disk space and temp files then. PMT can't work without extra memory for stdio as PMT itself supports stdio, and without using blocks, both stdio support for encoding+decoding is not possible. Also, even without stdio, running a lot of instances parallelly and writing to same output isn't possible. So either way it requires extra memory or temp files. As the program requires blocks, encoders/compressors that require full files(such as bpk or srep) won't work perfectly/won't work at all. I think this answers and will answer to future questions regarding PMT. |
Is this working with packet compressor? I can compress with UltraARC, but decompression doesn't work. This is my configuration:
Quote:
Thanks btw for PMT |
| All times are GMT -7. The time now is 00:19. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
FileForums @ https://fileforums.com