2584 Commits
Author SHA1 Message Date
Timofey Solomko c9e10ebc35 [swcomp] Rework exiting with error codes
Different errors now have different error codes, the code for exiting is now standardized.
2022-05-20 17:00:22 +03:00
Timofey Solomko 4db7c8053a Use xcode 13.4 for swift 5.6 in ci and upgrade xcode project 2022-05-18 16:28:39 +03:00
Timofey Solomko 74ae7c2edc [GZip] Adjust detection of truncated inputs 2022-05-17 13:33:04 +03:00
Timofey Solomko d63fb86f49 [Tests] Add a test for the minimal GZip file and other edge cases 2022-05-17 13:31:58 +03:00
Timofey Solomko bf0a48f78f Update windows CI: remove unnecessary configuration steps and vars, disable swift 5.6 since I cannot make it work 2022-05-17 12:59:54 +03:00
Timofey Solomko c407bcfb9c [swcomp] Add comparison with saved results via --compare option 2022-05-15 19:52:17 +03:00
Timofey Solomko 5db42cfb1c [swcomp] Add --save option which allows to save benchmarking results in json format 2022-05-15 15:27:33 +03:00
Timofey Solomko 5daac3cd0a [swcomp] Add -W shorthand for the --no-warmup option 2022-05-15 15:27:00 +03:00
Timofey Solomko 4e0dea7d86 Merge branch 'hotfix-4.8.1' into develop 2022-05-13 21:16:19 +03:00
Timofey Solomko 0714d4421e Merge branch 'hotfix-4.8.1' 4.8.1 2022-05-13 21:15:35 +03:00
Timofey Solomko f72ed96e48 Prepare for 4.8.1 release 2022-05-13 21:15:21 +03:00
Timofey Solomko 0f2b393c5c [GZip] Fix incorrect detection of truncated archives 2022-05-13 21:10:47 +03:00
Timofey Solomko 7d78dd8866 CI updates: Add swift 5.6 on macos, upgrade swift to 5.6.1 on linux and windows 2022-04-20 22:02:32 +03:00
Timofey Solomko 0939a64361 Upgrade xcode project to 13.3, add swift 5.6 in CI (except macos), update xcode for swift 5.5 in ci to 13.2.1 2022-03-18 18:05:58 +03:00
Timofey Solomko 985ceb6cf8 [swcomp] Replace useSpeedFormatter with format function 2022-02-20 21:57:15 +03:00
Timofey Solomko 8796c42b5f Gitignore launch.json 2022-02-20 21:50:22 +03:00
Timofey Solomko 140c197c2e [swcomp] Change defaultIterationCount to instance variable 2022-02-20 21:49:07 +03:00
Timofey Solomko ee90c99ec6 [swcomp] Add benchmarks for compression ratio 2022-02-20 19:05:46 +03:00
Timofey Solomko ebfcdfa9d2 [swcomp] Benchmarks can now disable speed formatter 2022-02-20 18:52:07 +03:00
Timofey Solomko 5423fd9fb5 [swcomp] Replace speed uncertainty with standard deviation 2022-02-20 18:44:26 +03:00
Timofey Solomko 62c2ce8494 [swcomp] Benchmarks can now customize default iteration count 2022-02-20 16:32:13 +03:00
Timofey Solomko 9bdf7fe18e Update swift in CI to 5.5.3 2022-02-20 16:11:40 +03:00
Timofey Solomko 65d50a8ff7 [swcomp] Rewrite the benchmarking system
The intent was to decouple command-line stuff from the taking measurements stuff, while simplifyin the overall structure. It remains to be seen if these goals were achieved. Currently, compression ratio printing is disabled. Also the results from warmup iteration are also omitted (but it is likely that they won't be restored).
2022-01-30 20:32:03 +03:00
Timofey Solomko 8302790ae2 [swcomp] Add --no-warmup option to benchmark commands 2022-01-24 21:31:54 +03:00
Timofey Solomko 3ac1a6b378 [swcomp] Add --iteration-count option to benchmark commands 2022-01-24 20:25:38 +03:00
Timofey Solomko 1b7a28b319 Add benchmark results for 4.8.0 including TAR Reader/Writer 2022-01-24 00:26:26 +03:00
Timofey Solomko a675323c60 [swcomp] Use custom SpeedFormatter instead of ByteCountFormatter
Basically, this is the old formatting functions that were used pre-4.8.0 (as such they should provide the same output formatting) but implemented in a more sane way, inspired by the ByteCountFormatter's API.
2022-01-24 00:26:22 +03:00
Timofey Solomko 4ef8d55166 Merge branch 'release-4.8.0' into develop 2022-01-23 18:57:54 +03:00
Timofey Solomko 4ad6940f29 Merge branch 'release-4.8.0' 4.8.0 2022-01-23 18:57:24 +03:00
Timofey Solomko 86090a4b67 Prepare for 4.8.0 release 2022-01-23 18:56:51 +03:00
Timofey Solomko f9994d6e6f [docs] Minor change to TarWriter documentation 2022-01-23 18:56:33 +03:00
Timofey Solomko 13a7da9be0 [docs] Reorganize Containers jazzy category into separate categories 2022-01-22 16:25:01 +03:00
Timofey Solomko 1d57f6adc1 [docs] Mention obj-c exceptions and swift 5.2 issues in the docs for TarReader/Writer 2022-01-22 16:24:26 +03:00
Timofey Solomko 552cb31336 [docs] Add documentation for TarReader 2022-01-22 14:26:54 +03:00
Timofey Solomko 859178d5f2 [docs] Add documentation for TarWriter 2022-01-22 14:26:42 +03:00
Timofey Solomko 479cd580a9 [docs] Add TarReader/Writer to jazzy categories 2022-01-22 13:40:09 +03:00
Timofey Solomko 4ccb5e1de8 [docs] Small fixes to the documentation of TarContainer.create(from:force:) 2022-01-22 13:39:40 +03:00
Timofey Solomko ba7e4448d1 [TAR] Simplify TarWriter.finalize
This is possible since the write function already performs the synchronization the file handle.
2022-01-22 13:38:32 +03:00
Timofey Solomko f9f5e9e613 Prepare for the test release of 4.8.0 4.8.0-test 2022-01-20 22:20:04 +03:00
Timofey Solomko 939f08abad [Tests] Add a test for BZip2 truncated in the middle of a Huffman symbol 2022-01-20 22:09:55 +03:00
Timofey Solomko f539a53386 [Huffman] Ensure that there is data available in findNextSymbol()
This fixes potential crashes in BZip2 and Deflate when processing truncated data (a corresponding symbolNotFound error will be thrown instead). There is a performance penalty to this fix, though.
2022-01-20 22:07:43 +03:00
Timofey Solomko 0c5cd4a9b5 [BZip2] Rework a part of BZip2.decompress for clarity 2022-01-15 20:21:26 +03:00
Timofey Solomko 3ab61e88bb [swcomp] Adjust requirements for compression ratio computation
The type of the input is no longer checked (since it is no longer need due to the addition of benchmarkInputSize); it is now correctly checked that the size of the output, not input, is non-zero.
2022-01-13 22:45:03 +03:00
Timofey Solomko 8aa671a4e0 [swcomp] The result of BenchmarkCommand.benchmark is now discardable 2022-01-13 22:43:14 +03:00
Timofey Solomko e3ada549fd [swcomp] Replace custom SpeedFormat with Foundation's ByteCountFormatter 2022-01-11 22:35:22 +03:00
Timofey Solomko 2a60991067 [swcomp] Make BenchmarkCommand significantly more customizable + add ReaderTar benchmark 2022-01-11 22:16:07 +03:00
Timofey Solomko 1000194a7e [swcomp] Make all classes final 2022-01-09 14:44:40 +03:00
Timofey Solomko 9241987e53 [swcomp] Add writer-tar benchmark
In addition move create-tar benchmark into BenchmarkGroup.swift file
2022-01-09 14:36:24 +03:00
Timofey Solomko 3caacff134 [swcomp] Add FileHandle closeCompat() extension
This is the same one used in tests.
2022-01-09 14:33:22 +03:00
Timofey Solomko 3388cb047b [TAR] Rename the second argument of TarWriter.init to force
This is for consistency with TarContainer.create.
2022-01-09 14:17:00 +03:00