ACL 2.0 is hot off the press04 May 2021
Notable changes in this release include:
- Unified and cleaned up APIs
- Cleaned up naming convention to match C++ stdlib, boost
- Introduced streaming database support
- Decompression profiling now uses Google Benchmark
- Decompression has been heavily optimized
- Compression has been heavily optimized
- First release to support backwards compatibility going forward
- Migrated all math to Realtime Math
- Clips now support 4 billion samples/tracks
- WebAssembly support added through emscripten
- Many other improvements
Overall, this release is cleaner, leaner, and much faster.
Decompression is now 1.4x (PC) to 1.8x (Mobile) faster than ACL 1.3 which is no small feat! I’ll be writing a blog post in the next few months with the juicy details. To make this possible, the memory footprint may increase slightly (mostly header related changes, a few bytes here and there, and alignment padding) but many datasets showed no increase at all. Quality remains unchanged.
I’ve already started fleshing out the task list for the next minor release here. This release will bring about more memory footprint improvements.
If you use ACL and would like to help prioritize the work I do, feel free to reach out and provide feedback or requests!
ACL 2.0 turned out to be a massive undertaking and it took countless hours, late nights, and weekends to make it happen (over 1700 commits since the project began 4 years ago). As such, I’ll pause development for a month or two (or three) while I focus on writing a few blog posts I’ve been meaning to get to and take a much needed break. However, I’ll continue to make patch releases during this time if anything important pops up.
Special thanks to NCSOFT for sponsoring many of the improvements that came with this major release!