Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add non-standard CompressionOptions support #584

Merged
merged 1 commit into from
Sep 3, 2024

Conversation

wcampbell0x2a
Copy link
Owner

  • You ever wonder "what if a squashfs had custom compression options that I am forced to emit because the kernel is expecting this?". If this is you, then have fun with this addition! This allows one to implement compression_options for CompressionAction and emit.. whatever you want as the the compression option bytes.
  • Change superblock struct in FilesystemWriter As Soon As Possible to make sure everything can just use those settings.
  • Update tests to be un-padded for custom compression, easier to see the diff's with biodiff and such.

Copy link

github-actions bot commented Aug 6, 2024

Benchmark for f341738

Click to view benchmark
Test Base PR %
only_read/netgear_ax6100v2 2.4±0.01ms 2.4±0.01ms 0.00%
only_read/tplink_ax1800 6.3±0.02ms 6.2±0.01ms -1.59%
unsquashfs/full 11.2±0.24ms 11.1±0.19ms -0.89%
unsquashfs/full-path-filter 7.7±0.08ms 7.8±0.11ms +1.30%
unsquashfs/list 8.1±0.14ms 8.3±0.27ms +2.47%
unsquashfs/list-path-filter 7.2±0.11ms 7.2±0.13ms 0.00%
write_read/netgear_ax6100v2 1283.3±5.57ms 1292.1±8.68ms +0.69%
write_read/tplink_ax1800 7.1±0.05s 7.1±0.05s 0.00%

@wcampbell0x2a wcampbell0x2a force-pushed the add-non-standard-compression-options-support branch from 7f12bb3 to 267f830 Compare August 7, 2024 01:58
Copy link

github-actions bot commented Aug 7, 2024

Benchmark for e0b67cb

Click to view benchmark
Test Base PR %
only_read/netgear_ax6100v2 2.4±0.01ms 2.4±0.00ms 0.00%
only_read/tplink_ax1800 6.3±0.01ms 6.2±0.01ms -1.59%
unsquashfs/full 11.2±0.25ms 10.9±0.11ms -2.68%
unsquashfs/full-path-filter 7.8±0.25ms 7.6±0.06ms -2.56%
unsquashfs/list 8.2±0.15ms 8.0±0.48ms -2.44%
unsquashfs/list-path-filter 7.3±0.35ms 7.1±0.32ms -2.74%
write_read/netgear_ax6100v2 1270.1±2.85ms 1280.6±14.91ms +0.83%
write_read/tplink_ax1800 7.1±0.08s 7.0±0.02s -1.41%

@wcampbell0x2a wcampbell0x2a force-pushed the add-non-standard-compression-options-support branch from 267f830 to 11af4c5 Compare August 7, 2024 03:31
Copy link

github-actions bot commented Aug 7, 2024

Benchmark for b683c31

Click to view benchmark
Test Base PR %
only_read/netgear_ax6100v2 2.4±0.00ms 2.4±0.01ms 0.00%
only_read/tplink_ax1800 6.2±0.01ms 6.2±0.01ms 0.00%
unsquashfs/full 11.0±0.21ms 11.4±0.32ms +3.64%
unsquashfs/full-path-filter 7.8±0.16ms 7.8±0.11ms 0.00%
unsquashfs/list 8.0±0.09ms 8.1±0.09ms +1.25%
unsquashfs/list-path-filter 7.2±0.10ms 7.2±0.19ms 0.00%
write_read/netgear_ax6100v2 1281.9±9.54ms 1285.6±3.35ms +0.29%
write_read/tplink_ax1800 7.1±0.05s 7.1±0.06s 0.00%

@wcampbell0x2a wcampbell0x2a force-pushed the add-non-standard-compression-options-support branch from 11af4c5 to a8e3495 Compare September 1, 2024 17:31
@github-actions github-actions bot added A-add backhand-cli: add A-replace backhand-cli: replace A-backhand-cli labels Sep 1, 2024
@wcampbell0x2a wcampbell0x2a force-pushed the add-non-standard-compression-options-support branch from a8e3495 to 28dabfd Compare September 1, 2024 17:35
Copy link

github-actions bot commented Sep 1, 2024

Benchmark for dcb240b

Click to view benchmark
Test Base PR %
only_read/netgear_ax6100v2 2.3±0.00ms 2.4±0.01ms +4.35%
only_read/tplink_ax1800 6.2±0.05ms 6.2±0.01ms 0.00%
unsquashfs/full 11.0±0.18ms 11.0±0.20ms 0.00%
unsquashfs/full-path-filter 7.6±0.27ms 7.6±0.08ms 0.00%
unsquashfs/list 7.9±0.13ms 8.0±0.10ms +1.27%
unsquashfs/list-path-filter 7.0±0.06ms 7.1±0.10ms +1.43%
write_read/netgear_ax6100v2 1274.4±6.68ms 1280.3±4.30ms +0.46%
write_read/tplink_ax1800 7.1±0.01s 7.1±0.02s 0.00%

Copy link

github-actions bot commented Sep 1, 2024

Benchmark for 5fd8328

Click to view benchmark
Test Base PR %
only_read/netgear_ax6100v2 2.4±0.00ms 2.3±0.00ms -4.17%
only_read/tplink_ax1800 6.2±0.03ms 6.2±0.01ms 0.00%
unsquashfs/full 10.8±0.14ms 10.9±0.16ms +0.93%
unsquashfs/full-path-filter 7.5±0.05ms 7.6±0.07ms +1.33%
unsquashfs/list 7.9±0.06ms 7.9±0.09ms 0.00%
unsquashfs/list-path-filter 7.0±0.05ms 7.1±0.34ms +1.43%
write_read/netgear_ax6100v2 1273.8±2.26ms 1277.4±3.10ms +0.28%
write_read/tplink_ax1800 7.0±0.01s 7.1±0.03s +1.43%

CHANGELOG.md Outdated Show resolved Hide resolved
@wcampbell0x2a wcampbell0x2a force-pushed the add-non-standard-compression-options-support branch from 28dabfd to e39bc05 Compare September 2, 2024 16:04
Copy link

github-actions bot commented Sep 2, 2024

Benchmark for 8dda05e

Click to view benchmark
Test Base PR %
only_read/netgear_ax6100v2 2.4±0.00ms 2.3±0.00ms -4.17%
only_read/tplink_ax1800 6.2±0.01ms 6.2±0.00ms 0.00%
unsquashfs/full 11.0±0.12ms 11.1±0.20ms +0.91%
unsquashfs/full-path-filter 7.6±0.05ms 7.7±0.06ms +1.32%
unsquashfs/list 7.9±0.06ms 8.0±0.06ms +1.27%
unsquashfs/list-path-filter 7.1±0.04ms 7.1±0.04ms 0.00%
write_read/netgear_ax6100v2 1274.8±2.44ms 1287.3±8.63ms +0.98%
write_read/tplink_ax1800 7.1±0.01s 7.1±0.02s 0.00%

* You ever wonder "what if a squashfs had custom compression options
  that I am forced to emit because the kernel is expecting this?". If this
  is you, then have fun with this addition!
  This allows one to implement compression_options for CompressionAction
  and emit.. whatever you want as the the compression option bytes.
* Change superblock struct in FilesystemWriter As Soon As Possible to make
  sure everything can just use those settings.
* Update tests to be un-padded for custom compression, easier to see
  the diff's with biodiff and such.
* Add --no-compression-options to `add` and `replace`
@wcampbell0x2a wcampbell0x2a force-pushed the add-non-standard-compression-options-support branch from e39bc05 to dc0a25a Compare September 2, 2024 23:57
@wcampbell0x2a wcampbell0x2a merged commit 509b74d into master Sep 3, 2024
37 checks passed
@wcampbell0x2a wcampbell0x2a deleted the add-non-standard-compression-options-support branch September 3, 2024 00:00
Copy link

github-actions bot commented Sep 3, 2024

Benchmark for 8b9c9de

Click to view benchmark
Test Base PR %
only_read/netgear_ax6100v2 2.3±0.04ms 2.3±0.03ms 0.00%
only_read/tplink_ax1800 5.9±0.10ms 5.9±0.10ms 0.00%
unsquashfs/full 10.7±0.25ms 10.8±0.12ms +0.93%
unsquashfs/full-path-filter 7.7±0.26ms 7.4±0.15ms -3.90%
unsquashfs/list 8.0±0.13ms 7.9±0.05ms -1.25%
unsquashfs/list-path-filter 7.1±0.16ms 6.8±0.14ms -4.23%
write_read/netgear_ax6100v2 1233.4±9.59ms 1228.8±9.78ms -0.37%
write_read/tplink_ax1800 6.9±0.03s 6.8±0.09s -1.45%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-add backhand-cli: add A-backhand-cli A-backhand-lib A-replace backhand-cli: replace A-tests bakchand-tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant