Skip to content

Commit

Permalink
Add PERFORMANCE.md and information about unrar7
Browse files Browse the repository at this point in the history
  • Loading branch information
phnzb committed May 2, 2024
1 parent 7c2fe9d commit 4a38ea0
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 0 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ QNAP packages are available as native / buildroot packages or via [sherpa](https

## Brief introduction on how to use NZBGet
- [How to use](docs/HOW_TO_USE.md)
- [Performance tips](docs/PERFORMANCE.md)

## Contribution

Expand Down
2 changes: 2 additions & 0 deletions docker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,8 @@ Unrar 7 built with next march parameters:
- arm64: armv8-a+crypto+crc
- armhf: armv7-a

More information about unrar performance: [Performance tips](https://github.com/nzbgetcom/nzbget/blob/develop/docs/PERFORMANCE.md#unrar)

# Native unrar 7 build support

To build image on hardware which support crypto acceleration with native-optimized unrar can be used docker-compose like this (also needed entrypoint.sh and Dockerfile from [official repository](https://github.com/nzbgetcom/nzbget/tree/develop/docker)):
Expand Down
44 changes: 44 additions & 0 deletions docs/PERFORMANCE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# NZBGet performance tips (WIP)

## Unrar

Unrar from version 7 provides improved performance when extracting encrypted archives, especially when built with optimized march.

Several tests (`time unrar -p<password> x <archive>`, archive size ~1.6Gb):

- arm64 (Mac mini M2)
- unrar 6.24
```
real 0m 27.71s
user 0m 25.00s
sys 0m 1.41s
```
- unrar 7.0 march=armv8-a
```
real 0m 11.04s
user 0m 9.28s
sys 0m 1.19s
```
- unrar 7.0 march=armv8-a+crypto+crc
```
real 0m 6.04s
user 0m 3.59s
sys 0m 1.48s
```
- x86_64 (Intel Xeon E3-1265L V2)
- unrar 6.24
```
real 0m 13.51s
user 0m 12.08s
sys 0m 1.27s
```
- unrar7 (march=x86-64-v2)
```
real 0m 6.13s
user 0m 5.34s
sys 0m 1.90s
```
Extraction speed is increased by ~2x and ~4.5x when using the optimized binary.
The NZBGet docker container includes unrar6 (used by default, for most compatibility), and an optimized unrar7 (can be enabled in the settings). More information can be found in [Docker readme](../docker/README.md#unrar-7-support)

0 comments on commit 4a38ea0

Please sign in to comment.