13
0
geforkt von Mirrors/Velocity
Velocity/native
Andrew Steinborn 1ddeb85f60 Try to reduce JNI calls into compressor.
Comparatively speaking, JNI calls are very expensive, so we want to
reduce them as much as possible.
2019-01-10 21:10:00 -05:00
..
src Try to reduce JNI calls into compressor. 2019-01-10 21:10:00 -05:00
build.gradle Improve efficiency of Java implementation of natives. 2018-12-28 13:02:46 -05:00
compile-linux.sh Generic MBEDTLS_ROOT 2018-12-24 12:18:36 -05:00
compile-osx.sh Generic MBEDTLS_ROOT 2018-12-24 12:18:36 -05: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.