Timofey Solomko
ed66991cbd
Update copyright year to 2024
2024-01-11 16:57:04 +03:00
Timofey Solomko
43132fc39d
Update copyright year to 2023
2023-02-07 15:31:45 +02: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
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
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
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