Qat-Java is a library that accelerates data compression using Intel® QuickAssist Technology (QAT).
For more details on Intel® QAT and installation instructions, refer to the QAT Documentation.
Qat-Java currently supports the following compression algorithms:
- DEFLATE
- LZ4
- Zstandard (ZSTD)
This release was validated with the following tools and libraries:
- QATlib v24.09.0
- QATzip v1.3.0 and its dependencies
- Zstandard v1.5.4
- Zstd-jni v1.5.6-1 or newer (if you're not building from source)
- GCC 8.5 or newer
- JDK 17 or newer
- Clang (for fuzz testing)
To build Qat-Java, run:
mvn clean package
In addition to mvn clean package
, the following Maven goals are available:
clean
— Cleans the build directory.compile
— Compiles the source code.test
— Compiles and runs all unit tests.package
— Packages the compiled classes into JAR files (in thetarget/
directory).javadoc:javadoc
— Generates Javadoc API documentation.spotless:check
— Checks that the source code is properly formatted.spotless:apply
— Automatically fixes code formatting issues.site
— Generates Surefire test reports intarget/site/
.
To run all unit tests:
mvn test
To enable fuzz testing, install the Jazzer tool and run:
mvn test -Dfuzzing=true
To run an example from the com.intel.qat.examples
package, use the following command:
java -cp .:./target/classes/:path/to/zstd-jni-1.5.6-1.jar com.intel.qat.examples.<ExampleClass>
- Mulugeta Mammo — mulugeta.mammo@intel.com
- Olasoji Denloye — olasoji.denloye@intel.com
- Praveen Nishchal — praveen.nishchal@intel.com
Zstandard compression contributions by:
- Jacob Greenfield
- Matthew West
- Tommy Parisi
Thank you for your interest in contributing!
Please refer to the CONTRIBUTING.md document for details on how to get involved.
For questions or more information about this library, contact:
* Java is a registered trademark of Oracle and/or its affiliates.