13
0
geforkt von Mirrors/Velocity
Velocity/native
Andrew Steinborn 7747679ee1 Implement optimized compression for Java 11+
Using the fact that the Java Deflater/Inflater API now supports
ByteBuffers as of Java 11, we can provide performance benefits equivalent
to the Velocity 1.0.x native compression on servers running Java 11+ on
non-macOS and non-Linux platforms (such as Windows).
2019-10-04 17:08:14 -04:00
..
src Implement optimized compression for Java 11+ 2019-10-04 17:08:14 -04:00
build.gradle An Easter basket bearing gifts! (#191) 2019-04-24 14:36:49 -04:00
compile-linux.sh Switch to zlib-ng 2019-09-08 23:30:28 -04:00
compile-osx.sh Switch to zlib-ng 2019-09-08 23:30:28 -04:00
README.md Native cryptography support using mbed TLS 2018-08-04 23:46:41 -04:00

velocity-natives

This directory contains native acceleration code for Velocity, along with traditional Java fallbacks.

Compression

  • Supported platforms: macOS 10.13, Linux amd64 (precompiled binary is built on Debian 9 with JDK 8)
  • Rationale: Using a native zlib wrapper, we can avoid multiple trips into Java just to copy memory around.

Encryption

  • Supported platforms: macOS 10.13, Linux amd64
  • Rationale: Using a C library for encryption means we can limit memory copies. Prior to Java 7, this was the only way to use AES-NI extensions on modern processors, but this is less important since JDK 8 has native support.
  • Note: Due to U.S. restrictions on cryptography export, this native is provided in source code form only for now.

OS support

If you are on Alpine Linux, apk add libc6-compat will enable native support.