1539 Commits

Author SHA1 Message Date
Timofey Solomko 98b5ee3610 [swcomp] Save results file JSON with keys sorted
This ensures a more stable layout of JSON fields between updates to the same file.
2026-02-12 21:44:35 +08:00
Timofey Solomko 3f5694aeee [swcomp] Rename SaveFile to OldSaveFile 2026-02-12 21:44:35 +08:00
Timofey Solomko b2b4e18a58 [swcomp] Remove redundant import statements 2026-02-12 21:44:30 +08:00
Timofey Solomko 871b5dbe03 [swcomp] Add benchmark remove-run subcommand 2026-02-12 21:44:29 +08:00
Timofey Solomko 5618fea2ee [swcomp] Add --self-compare option to benchmark show command
This option allows to compare a run with other runs in the same file.
2026-02-11 21:56:37 +08:00
Timofey Solomko c05b37d324 [swcomp] Add --metadata-only option to benchmark show command
With this option only metadata is printed for the benchmark runs saved in the file.
2026-02-11 19:15:20 +08:00
Timofey Solomko 6b701e0b2f [swcomp] Add --print-uuid option to benchmark show command
This option enables printing of internal UUIDs of benchmark runs saved in the file.
2026-02-11 19:14:26 +08:00
Timofey Solomko e236b502b7 [swcomp] Improve benchmark show output for multi-way comparsions 2026-02-11 19:03:48 +08:00
Timofey Solomko 3537e0ada1 [swcomp] Save raw benchmark data for posterity 2026-02-11 19:03:14 +08:00
Timofey Solomko 5e8f568f64 [swcomp] Save and show benchmark warmup iteration 2026-02-11 19:03:14 +08:00
Timofey Solomko 5a0eb8187a [XZ] Rename a file for consistency 2026-02-11 19:03:14 +08:00
Timofey Solomko 5d27f1b9b9 [swcomp] Print benchmark metadatas in normal order 2026-02-11 19:03:09 +08:00
Timofey Solomko d8c4527c89 [BZip2] Slightly optimize MTF transform of selectors during compression
It can be statically proven that the output of MTF transform lies within a certain range, so a guard check can be replaced with an assertion.
2026-02-11 17:21:52 +08:00
Timofey Solomko e7c4c13543 [BZip2] Code comments clarification 2026-02-11 17:21:48 +08:00
Timofey Solomko 33341b690b [LZ4] Code comments grammar and wording improvements 2026-02-03 01:17:21 +08:00
Timofey Solomko 1566b49ce3 [7-Zip][ZIP] Remove support for CocoaPods optional dependencies 2026-02-03 01:15:33 +08:00
Timofey Solomko ea9aaccfb9 Update copyright year to 2026 2026-01-31 15:30:24 +08:00
Timofey Solomko fa4af5803a [TAR] Remove compatibility functions for FileHandle 2024-04-21 17:18:53 +03:00
Timofey Solomko 891848f939 [swcomp] Remove redundant compiler check 2024-04-21 14:05:16 +03:00
Timofey Solomko 687517cfd5 Prepare for 4.8.6 release 2024-04-21 13:13:02 +03:00
Timofey Solomko eabfe947ea Add stupid PrivacyInfo thing 2024-04-21 11:43:33 +03:00
Timofey Solomko ed66991cbd Update copyright year to 2024 2024-01-11 16:57:04 +03:00
Timofey Solomko 6a6e75d752 [docs] Fix an error in documentation for TarEntryInfo.deviceMinorNumber 2023-09-20 11:45:27 +03:00
Timofey Solomko 1e7393dc54 Prepare for 4.8.5 release 2023-02-19 17:25:03 +02:00
Timofey Solomko c85adf3d73 [LZMA] Init range decoder's code with only one byte reader call 2023-02-19 16:51:03 +02:00
Timofey Solomko ae99c943f6 [LZMA] Fix incorrect check for empty out window
This was caused by incorrectly assuming that out window (dictionary) always starts at 0 index. This is not correct in the case of LZMA2 where dictionary may have been reset, but the out window is technically not an empty array.
2023-02-19 16:49:14 +02:00
Timofey Solomko 43132fc39d Update copyright year to 2023 2023-02-07 15:31:45 +02:00
Timofey Solomko cbb34a17ce Prepare for 4.8.4 release 2022-12-20 22:09:04 +03:00
Timofey Solomko c1ecadbcb7 Update some code comments 2022-12-17 19:02:19 +03:00
Timofey Solomko db48b07ec2 [TAR] TarReader now always returns nil after reaching EOF
Previosuly, repeated calls of read() or process() after reaching EOF would result in DataError.truncated being thrown. This behavior caused issues when there was no EOF marker in the TAR container.
2022-12-17 19:02:19 +03:00
Timofey Solomko b1fe47fdbb [BZip2] Fix incorrect BWT pointer in compression 2022-12-15 23:25:21 +03:00
Timofey Solomko c7f4665394 Prepare for 4.8.3 release 2022-10-22 20:06:24 +03:00
Timofey Solomko 9263cd3284 [swcomp] Correctly extract hard links from TAR containers
Note that creating containers with hard links is still not supported (I do not know how to detect hard links with FileManager).
2022-10-22 19:29:04 +03:00
Timofey Solomko efd67feb07 [TAR] Handle PAX headers with non-utf8 values and values with newline characters
For example, Apple's implementation of TAR on macOS produces such containers, which technically do not conform to the (informal) specifications.
2022-10-22 18:42:44 +03:00
Timofey Solomko f191db2494 [swcomp] Use saved (relative) paths when extracting symlinks 2022-10-21 21:27:47 +03:00
Timofey Solomko 5b590803b8 [TAR] Remove outdated code comment 2022-10-21 19:33:50 +03:00
Timofey Solomko 32d6dc8ae6 [GZip] Improve truncation detection in the footer and optional parts of the header 2022-10-21 19:27:25 +03:00
Timofey Solomko dafd474b96 [GZip] Add a new parameter with a default value to GzipArchive.archive which allows to set any extra fields 2022-10-14 20:23:19 +03:00
Timofey Solomko 03e23231fa [GZip] Add processing of extra fields in GzipHeader 2022-10-14 19:59:18 +03:00
Timofey Solomko 241e523ba7 [GZip] Add a struct that represents header's extra field 2022-10-14 19:57:20 +03:00
Timofey Solomko c5362651dd [GZip] Change GzipHeader properties to var instead of let 2022-10-14 19:32:23 +03:00
Timofey Solomko f9297d96a1 [GZip] Reject non byte-aligned members
The reasoning here is that GZip format is "byte-oriented" and not "bit-oriented", so seemingly GZip members (headers) that begin not on a byte boundary should be disallowed.
2022-10-14 19:30:39 +03:00
Timofey Solomko 987111c620 [swcomp] Fix build issues on linux and windows due to absence of autoreleasepool 2022-10-12 13:13:59 +03:00
Timofey Solomko 7cf26da9cb [swcomp] Optimize printing in benchmark show 2022-10-11 21:25:21 +03:00
Timofey Solomko d3143d58b4 [swcomp] Perform benchmark speed computations using nanosecond time resolution 2022-10-11 21:14:11 +03:00
Timofey Solomko 5187f34a9d [swcomp] Reuse saved benchmark metadata if possible 2022-10-11 11:22:03 +03:00
Timofey Solomko 9a948f8584 [swcomp] Make benchmark results timestamp optional by introducing --preserve-timestamp option 2022-10-11 11:22:03 +03:00
Timofey Solomko 708e1bbade [swcomp] Add --append option to benchmark run 2022-10-11 11:22:02 +03:00
Timofey Solomko f3ca7a7ff5 [swcomp] Print brackets around metadata numbers 2022-10-11 11:22:02 +03:00
Timofey Solomko f47d541882 [swcomp] Introduce a new, more flexible version of the save file format
It features a separate struct for results metadata and also allows multi-way comparisons with previously saved results.
2022-10-11 11:21:36 +03:00