Commit Graph
2496 Commits
Author SHA1 Message Date
Timofey Solomko 51734eb8d3 [swcomp] Remove empty warmupIteration function from comp-ratio benchmarks
These functions weren't called anyway since 5e8f568f64 commit where Benchmark protocol requirement for this function acquired Double return type. In any event, skipping of warmup iteration is better controlled by the corresponding option of "benchmark run" command.
2026-02-23 18:08:26 +08:00
Timofey Solomko 3686067e54 [LZMA] Remove LZMARangeDecoder.isCorrupted property
According to LZMA specification this property is ignored by the reference implementation. In addition, specification suggests that other LZMA decoders should also ignore it. We weren't using this property for anything anyway, so its removal does not really change anything, except for better compliance with LZMA specification.

In addition, range decoder initialization error is now thrown in accordance with reference implementation.
2026-02-23 18:08:26 +08:00
Timofey Solomko 609eb29791 [BZip2] Change a couple of guard/if-checks to assertions 2026-02-23 18:08:26 +08:00
Timofey Solomko 1e7154474b [BZip2] Use better versions of bit writer functions
First, write(unsignedNumber:) is better than write(number:) when the argument is already UInt, since it does one fewer precondition check and does not do additional integer conversion. Secondly, using write(number:) to write one bit was very inefficient.
2026-02-23 18:08:25 +08:00
Timofey Solomko 7af76764d7 [BZip2] Use UInt8 arrays instead of Data 2026-02-23 18:08:25 +08:00
Timofey Solomko bff411d511 [BZip2] Improve encoding performance of code lengths deltas 2026-02-23 18:08:25 +08:00
Timofey Solomko 273b6ed9e9 Remove redundant imports 2026-02-18 12:21:57 +08:00
Timofey Solomko 5b5b20f582 [Huffman] Remove codes argument label from EncodingTree.init 2026-02-18 00:12:55 +08:00
Timofey Solomko ce1736a2b0 [Huffman] Add HuffmanCodes typealias for clarity 2026-02-18 00:10:29 +08:00
Timofey Solomko f5b8a393ce Cleanup gitignore 2026-02-13 13:23:03 +08:00
Timofey Solomko d76351caa0 [swcomp] Update benchmark run command to use new format 2026-02-12 21:44:42 +08:00
Timofey Solomko 52961ea60d [swcomp] Update benchmark show command to use new format
This allowed to rewrite implementation in a much clearer way. One user-visible change, however, is that NEW/BASE is now always printed with an index even if there is only one (implementation complexity to accommodate empty index is not worth it).
2026-02-12 21:44:42 +08:00
Timofey Solomko 515c11fd0e [swcomp] Support new format in benchmark remove-run command 2026-02-12 21:44:42 +08:00
Timofey Solomko 8847fe92ce [swcomp] SaveFile.load now auto-converts from old format 2026-02-12 21:44:41 +08:00
Timofey Solomko 4ec437e912 [swcomp] Add benchmark convert command
This command converts save file from old format to the new one.
2026-02-12 21:44:35 +08:00
Timofey Solomko 20d33b0966 [swcomp] Add a new benchmark save file format
Ultimately, it turned out that the approach of the old save file format of separating runs metadatas and results only leads to super complicated code. Unfortunately, it didn't help with append-updates to save files (they are still loaded fully, their content is modified in memory, and the actual file is then overwritten).
2026-02-12 21:44:35 +08:00
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 60283d4a54 Reorder PrivacyInfo file in Xcode project 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 9916541aa8 utils.py: change OS X to macOS 2026-02-03 01:16:51 +08:00
Timofey Solomko b5a0a02b54 Remove installation instructions with CocoaPods and Carthage from README 2026-02-03 01:16:33 +08:00
Timofey Solomko 1566b49ce3 [7-Zip][ZIP] Remove support for CocoaPods optional dependencies 2026-02-03 01:15:33 +08:00
Timofey Solomko ad4a9574f7 Remove podspec 2026-02-03 01:10:15 +08:00
Timofey Solomko 8a90134aa5 Remove Cartfile 2026-02-03 01:09:59 +08:00
Timofey Solomko 5b3840f613 utils.py: remove download-bbd-macos command 2026-02-03 01:09:29 +08:00
Timofey Solomko 29697ca7ce Remove from Xcode project settings for embedding BBD built with Carthage 2026-02-03 01:08:25 +08:00
Timofey Solomko f1b635056d Add BitByteData as a package dependency in Xcode project 2026-02-03 01:07:34 +08:00
Timofey Solomko eb83e098af Fix framework search paths in Xcode project
This should fix installation with Carthage on the currently supported versions of Xcode.
2026-02-02 17:17:45 +08:00
Timofey Solomko cd116a92dd [CI] Add a step for installing Darwin platforms
This needs to be done before downloading BBD. AZP now has an extremely limited set of preinstalled simulators.
2026-01-31 22:00:51 +08:00
Timofey Solomko 718bdfa493 utils.py: add an option to build BBD only for macOS
This option is mutually exclusive with xros.
2026-01-31 21:48:49 +08:00
Timofey Solomko 713ae2c630 Remove mention of generate-xcodeproj command in README
This command was deprecated by SPM a long time ago.
2026-01-31 21:48:48 +08:00
Timofey Solomko 44476e46b4 [CI] Disable Swift 5.10 build on Windows
Swift 5.10 Windows Docker container causes ridiculous errors like "unknown or missing subcommand 'swift-build.exe'".
2026-01-31 21:48:48 +08:00
Timofey Solomko 38ac3e6375 [CI] Fix macOS version for Swift 5.10 build 2026-01-31 20:12:17 +08:00
Timofey Solomko f498c08da9 [CI] Change Swift 5.9 build on Windows to use Docker image 2026-01-31 20:11:54 +08:00
Timofey Solomko 9c22e4353e [CI] Add builds on Swift 6.1 and 6.2 2026-01-31 20:10:36 +08:00
Timofey Solomko 33e5716c3b Increase minimum deployment targets on Apple platforms 2026-01-31 20:09:19 +08:00
Timofey Solomko 5b57ac0fcd Drop support for Swift 5.7 and 5.8 2026-01-31 20:06:42 +08:00