1539 Commits

Author SHA1 Message Date
Timofey Solomko 899cf8a815 [swcomp] Add --description option to the benchmark run command 2022-10-06 15:14:04 +03:00
Timofey Solomko b660005a7c [swcomp] Print saved metadata 2022-10-06 15:13:15 +03:00
Timofey Solomko 577531c4be [swcomp] Use SaveFile for saving and loading benchmark results 2022-10-06 14:26:59 +03:00
Timofey Solomko a3e439aff5 [swcomp] Add SaveFile struct for saving additional benchmark metadata 2022-10-06 14:26:29 +03:00
Timofey Solomko 269ae9b1f3 [swcomp] SWC version is now stored as a global variable 2022-10-06 13:31:07 +03:00
Timofey Solomko 1c98d5316d [swcomp] Perform comparison with the first result when there are multiple
Previosuly, the comparsion was skipped entirely.
2022-10-06 12:55:15 +03:00
Timofey Solomko 4e4f734ab0 [swcomp] Add "benchmark show" command 2022-10-05 20:44:05 +03:00
Timofey Solomko f47cf14f26 [swcomp] Improve loading and printing of base benchmark results 2022-10-05 20:33:27 +03:00
Timofey Solomko 61eb547202 [swcomp] Extract comparison printing as a new function 2022-10-05 18:07:47 +03:00
Timofey Solomko e84040b156 [swcomp] Add benchmark command group 2022-10-05 15:08:00 +03:00
Timofey Solomko dca723d940 [swcomp] Rename benchmark command to run command and add a long description 2022-10-05 15:07:38 +03:00
Timofey Solomko bba5eb7b61 Prepare for 4.8.2 release 2022-09-24 14:34:02 +03:00
Timofey Solomko 55cc5a9036 [docs] Remove mentions of "older than Swift 5.2" versions since they are no longer supported 2022-09-24 14:27:21 +03:00
Timofey Solomko 52886a0bbf [TAR] Remove compatibility with pre-Swift 5.2 compilers 2022-09-24 13:25:46 +03:00
Timofey Solomko 78459b710a [Deflate] Fix incorrect truncation check when processing uncompressed blocks 2022-09-23 19:45:45 +03:00
Timofey Solomko 2b47fb7f49 [Deflate] Replace computation of static tree codes from lenghts with precomputed codes 2022-05-21 23:00:36 +03:00
Timofey Solomko e500dfc5d9 [Deflate] Add guards against truncated inputs 2022-05-20 21:46:57 +03:00
Timofey Solomko 41a1474b8c [swcomp] Implement --list option for container commands
In addition, slightly adjusted the help message for the --info option to make them more distinguishable.
2022-05-20 17:11:19 +03:00
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 74ae7c2edc [GZip] Adjust detection of truncated inputs 2022-05-17 13:33:04 +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 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 985ceb6cf8 [swcomp] Replace useSpeedFormatter with format function 2022-02-20 21:57:15 +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 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 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 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 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 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 2022-01-20 22:20:04 +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