47 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 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 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 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 79295db930 Update copyright year to 2022 2022-01-08 15:02:59 +03:00
Timofey Solomko dc93436269 [swcomp] Update to use SwiftCLI's property wrappers
This should fix all deprecation warnings.
2021-10-24 12:47:22 +03:00
Timofey Solomko 1324744785 [swcomp] Print compression ratio in appropriate benchmarks 2021-10-18 21:38:31 +03:00
Timofey Solomko 212e1808e7 [swcomp] Add benchmark command for LZ4 compression with dependent blocks 2021-10-16 20:31:32 +03:00
Timofey Solomko 1a49f0543d [swcomp] Add benchmark command for LZ4 compression with independent blocks
LZ4 compression with block dependency will be added in the future (after SWCompression is fixed with regards to dependent blocks).
2021-10-15 22:44:55 +03:00
Timofey Solomko d8f7b8a8f5 [swcomp] Add benchmark command for LZ4 decompression 2021-09-26 16:06:09 +03:00
Timofey Solomko 19c788eb30 [swcomp] Output uncertainty of the bench speed using avg speed units 2021-09-13 17:33:09 +03:00
Timofey Solomko d7824df50c [swcomp] Move most bench commands into BenchmarkGroup file 2021-09-13 17:32:16 +03:00
Timofey Solomko 3eed2595be [swcomp] Output results as a speed 2021-09-12 23:50:46 +03:00
Timofey Solomko 03af95fb96 [swcomp] Add CreateTar benchmarking command 2021-09-12 19:12:27 +03:00
Timofey Solomko 2fa22370dc [swcomp] Generalize BenchmarkCommand protocol 2021-09-12 19:11:39 +03:00
Timofey Solomko e83f23effa Update copyright year to 2021 2021-01-11 11:20:57 +02:00
Timofey Solomko 8ef90146e7 [swcomp] Improve the usage of articles in help messages 2020-05-18 13:18:32 +03:00
Timofey Solomko 31ec1f1553 Update copyright year to 2020 2020-01-01 19:06:33 +03:00
Timofey Solomko ce47019097 Update copyright year to 2019 2019-01-02 23:15:43 +03:00
Timofey Solomko 7b404eea51 [swcomp] Improve benchmarks output (less overall lines, more flushing) 2018-12-09 12:49:11 +03:00
Timofey Solomko 5adf35365e [swcomp] Make descriptions of benchmark commands and group shorter 2018-12-09 12:49:10 +03:00
Timofey Solomko 06183c25b6 [swcomp] Fix compilation failure on linux due to __stdoutp being absent there 2018-08-06 17:16:48 +03:00
Timofey Solomko 04ef9a0839 [swcomp] Print results for excluded iteration in benchmarks 2018-05-04 00:12:23 +03:00
Timofey Solomko f2afe8ca16 [swcomp] Flush stdout after printing iteration number 2018-05-02 13:59:35 +03:00
Timofey Solomko c2e2a8c801 [swcomp] Print leading zero in benchmark iteration number 2018-05-02 13:59:16 +03:00
Timofey Solomko 2d9daa17ec [swcomp] Rewrite benchmark commands using new BenchmarkCommand protocol 2018-05-01 13:22:45 +03:00
Timofey Solomko 878c3af629 [swcomp] Add BenchmarkCommand protocol and its extension with execute function
It will allow us to reduce amount of repeating code in benchmark commands.
2018-05-01 13:22:39 +03:00
Timofey Solomko cb91fd5899 [swcomp] Move source files into subfolders 2018-05-01 12:36:47 +03:00
Timofey Solomko bd8fa0561a [Benchmark] Don't take into account "first" iteration 2018-04-10 00:25:50 +03:00
Timofey Solomko 44582535ad [Benchmark] Increase iterations amount from 6 to 10 2018-04-10 00:25:46 +03:00
Timofey Solomko 8fc390a680 [swcomp] Rename PerfTest to Benchmark 2018-03-03 13:43:57 +03:00