README.md
1# fgbzip2 sample
2fgbzip2 is a parallel implementation of bzip2 block-sorting file compressor that uses `oneapi::tbb::flow`. The output of this application is fully compatible with bzip2 v1.0.6 or newer.
3
4This example includes software developed by Julian R Seward. See here for copyright information.
5It exemplifies support for asynchronous capabilities in the flow graph API.
6
7## Building the example
8```
9cmake <path_to_example>
10cmake --build .
11```
12
13## Running the sample
14### Predefined make targets
15* `make run_fgbzip2` - executes the example with predefined parameters.
16* `make perf_run_fgbzip2` - executes the example with suggested parameters to measure the oneTBB performance.
17
18### Application parameters
19Usage:
20```
21fgbzip2 [-b=value] [-v] [-l=value] [-async] [filename=value] [-h] [filename]
22```
23* `-h` - prints the help for command line options.
24* `-b` - block size in 100 KB chunks, [1 .. 9].
25* `-v` - prints diagnostic output to screen.
26* `-l` - use memory limit for compression algorithm with 1 MB (minimum) granularity.
27* `-async` - use graph `async_node`-based implementation.
28* `filename` - name of the file to compress.
29