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
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
Timofey Solomko
c8d8c7b4fd
[TAR] TarReader.read now throws DataError.truncated if the entry data is truncated
2022-01-08 23:13:46 +03:00
Timofey Solomko
a3677a0cb7
[TAR] TarReader now sets TarEntry.data to nil for directories
...
This is the same behavior as TarContainer.open.
2022-01-08 23:00:21 +03:00
Timofey Solomko
79a0aa8d08
Fix compilation issues on Linux and Windows due to the absence of autoreleasepool
2022-01-08 15:47:16 +03:00
Timofey Solomko
c4aab7b648
[swcomp] Remove --use-rw-api option from tar command
...
Swcomp now uses TarReader/Writer automatically, if possible (when there is no compression involved).
2022-01-08 15:38:58 +03:00
Timofey Solomko
79295db930
Update copyright year to 2022
2022-01-08 15:02:59 +03:00
Timofey Solomko
a898c9aabe
[swcomp] Use autoreleasepool for tar creating in rw-api version
2022-01-08 14:35:09 +03:00
Timofey Solomko
4c282c6fae
[swcomp] Fix incorrect tar info printing when using TarReader
2022-01-08 14:34:34 +03:00