Parchive / par3cmdline

Official repo for par3cmdline and par3lib
GNU Lesser General Public License v2.1
92 stars 3 forks source link

Can't change working directory on Windows 11 #7

Open Hatibovics opened 12 months ago

Hatibovics commented 12 months ago

I'm trying to use par3cmdline on Windows 11 (21H2), typed the following command and I got the following error:

par3 c "D:\Folder\Test.par3" "D:\Folder\IMG_1007.TIF" Failed to change working directory: Invalid argument Failed to search: D:/Folder/IMG_1007.TIF

I tried it multiple times and I always get the same error, is par3cmdline in such an early stage that it can't change the working directory or is it an error of the software or an error of my computer?

(Are there softwares other than par3cmdline that can create par3 files, or currently this is the only one?)

Yutaka-Sawada commented 12 months ago

is par3cmdline in such an early stage that it can't change the working directory or is it an error of the software or an error of my computer?

It's a sample and testing period. You should use current par3cmdline for testing purpose only. When you find a bug or problem, please report.

It didn't accept absolute path for input files. I updated the source code to support absolute path today. You should set base-path properly, though it may be set automatically. When you set absolute path for PAR file, its parent directory will be the base-path automatically.

For example, by setting "D:\Folder\Test.par3" for PAR file, its parent "D:\Folder" will become the base-path. In this case, you should put input files under the base-path. "D:\Folder\IMG_1007.TIF" is OK, as it's under "D:\Folder".

Are there softwares other than par3cmdline that can create par3 files, or currently this is the only one?

Because PAR3 specification is under writing draft, there is no formal PAR3 client yet. Don't use PAR3 for long time file protection at this time. Current PAR3 files may become incompatible with future one.

Hatibovics commented 12 months ago

Thank you, now I can change the directory. Unfortunately it's slow compared to MultiPar 1.3.2.9, it takes around 6 times more to create par files for the same input files while redundancy is set to the same amount (I tested it with 5%), I think par3 is more complex than par2, so I think that it's normal that it takes more time to create par3 files than par2 files, but I don't know if this big difference is normal.

Don't use PAR3 for long time file protection at this time. Current PAR3 files may become incompatible with future one.

Thank you for mentioning, I didn't think about this.

Yutaka-Sawada commented 12 months ago

Unfortunately it's slow compared to MultiPar 1.3.2.9, it takes around 6 times more to create par files for the same input files while redundancy is set to the same amount

PAR3 supports multiple Error Correction Codes algorithms. Theoretically, the encoding speed depends on using Error Correction Codes. But, it also depends on their implementation and optimization. When you set normal Reed-Solomon Codes (similar to PAR2), par3cmdline must be slower than par2cmdline or MultiPar, becasue current par3cmdline doesn't use SIMD nor multi-threading.

If you want to see the power of fast algorithm, SIMD, and multi-threading, set "-e8" option at creation. Though the algorithm isn't formal and it uses experimental implementation, it would be faster mostly. At this time, it seems to be the fastest Reed-Solomon Codes. While LDPC may be faster, it requires many source blocks and extra parity blocks to work reliably. I may try to add LDPC in future, but I could not find good sample implementation yet.