Repository navigation
PJA 0.9.7
The flush beside the work.
- Faster writes, as safe. Since 0.9.5 every output reaches the disk before it takes its name (a power cut leaves the old file or the whole new one). That flush waits on the disk: about 16 ms a file on a SATA SSD, 4.9 s of the 37 s
pja x -th 1took on 151 photos.pja aandpja xnow hand each file's write (flush, rename, the directory's flush) to a thread of their own and go on with the next file: 151 photos extracted on one thread 40.7 s → 36.2 s. The same files, lines in the same order,--jsonand exit code; the run ends only when every write has. Not with--no-sync,-nor--stats;PJA_SYNC_INLINE=1writes inline as before. - Nothing else changes: the same
.pjafiles, streams, and the 31 zpaq-std codecs with their ZPAQL (the plugin is 0.9.6's but for its version number). The 7-Zip plugin reports 0.97. - Checked: every suite on native and 32-bit with the same stream hashes; CI on all six platforms; Windows 10 (
pja.exeselftest 42/42, 172 files back byte for byte with and without the write thread, the same lines). - Benchmarks in the README and the wiki are now measured with zpaq-std 2.6.0, which ships PJA 0.9.6 with
pja2kin its-sa: JPEG 2000 in a zpaq archive 92.51% of its size.
Downloads
| platform | the pja command |
the zpaq-std plugin | libpja (C library, 7-Zip plugin) |
|---|---|---|---|
| Linux x86-64 | pja-0.9.7-linux-x86_64.tar.gz |
pja-0.9.7-zpaqstd-plugin-linux-x86_64.tar.gz |
pja-0.9.7-lib-linux-x86_64.tar.gz |
| Linux x86 (32-bit) | pja-0.9.7-linux-x86.tar.gz |
pja-0.9.7-zpaqstd-plugin-linux-x86.tar.gz |
pja-0.9.7-lib-linux-x86.tar.gz |
| Linux arm64 | pja-0.9.7-linux-arm64.tar.gz |
pja-0.9.7-zpaqstd-plugin-linux-arm64.tar.gz |
pja-0.9.7-lib-linux-arm64.tar.gz |
| macOS arm64 | pja-0.9.7-macos-arm64.tar.gz |
pja-0.9.7-zpaqstd-plugin-macos-arm64.tar.gz |
pja-0.9.7-lib-macos-arm64.tar.gz |
| Windows x64 (7 and later) | pja-0.9.7-windows-x64.zip |
pja-0.9.7-zpaqstd-plugin-windows-x64.zip |
pja-0.9.7-lib-windows-x64.zip |
| Windows x86 (XP and later) | pja-0.9.7-windows-x86.zip |
pja-0.9.7-zpaqstd-plugin-windows-x86.zip |
pja-0.9.7-lib-windows-x86.zip |
pja-0.9.7-zpaqstd.tar.gz holds the plugin's sources as zpaq-std vendors them, with VENDOR.md. CI builds and checks every binary on its own platform (.github/workflows/release.yml); libpja is checked with its C test and, on Linux x86-64, through a real 7-Zip. SHA256SUMS has the checksums. The Linux builds need glibc 2.34 or later. The macOS ones are not signed: run xattr -d com.apple.quarantine after unpacking.