How close can pure functional programming get to C?
Developers are testing whether functional programming languages like Lean and Roc can match the performance of C-based libraries in data compression tasks. While functional languages are making strides in efficiency, C remains the benchmark for high-performance, architecture-specific optimization.
Why it matters
This exploration highlights the ongoing trade-offs between the safety and abstraction of modern functional languages and the raw performance of low-level systems programming.
In Why Lean is Faster Than Rust , the author shares an impressive result: a DEFLATE compression library written in Lean 4 , a functional programming language and proof assistant, outperforming an equivalent Rust package that crates.io says has been downloaded over a billion times. From the article:
lean-zip beats every single compression level miniz_oxide provides, i.e. we're capable of providing the same compression at higher throughput. At its fastest setting we're 15% quicker and the output is 8.8% smaller.
However, the article also notes that while they managed to surpass Rust's miniz_oxide , they were no match for the end boss of DEFLATE performance: libdeflate , written in C.
lean-zip is certainly not the best here: libdeflate unsurprisingly blows it out of the water (unsurprisingly because this is a very carefully tuned implementation using architecture-specific SIMD, that we can't touch in Lean).
Get smarter about the news
Sign up free for a feed built around what you actually care about, Dive Deeper research on any story, and the full text of every article.
Create free accountAlready have an account? Sign in