-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
performancepaper
A reproducible, open examination of the paper "A performance comparison of Clojure and Java" by Gustav Krantz
Something very similar to this is coming soon to Julia: https://github.com/JuliaLang/julia/pull/42465
More broadly, they can be fast even without such extensions if they aggressively pursue optimization opportunities afforded by static typing, like MLton for example, but that also impacts compilation performance negatively.
If you wanted a fast FP lang you'd need to extend it with partial evaluation features such as in my own Spiral. This does increase the complexity of the language, and runtime benefits have to be paid by doing more work at compile time which increases compilation times.
A middle ground between uniform representation and specializing for every type is specializing for every data layout. See the unboxed types RFC for OCaml.
I was just thinking about this myself, from the angle of program verification. Pretty much all tools for verification come out of the FP community, but most / a large chunk of actual programs that get verified are very imperative. Take the sel4 OS, Project Everest, or Fiat Crypto as examples.
There is a review of the study at https://github.com/joinr/performancepaper. Basically by using optimization tricks (recur for recursive function call, unchecked math, using Java types, etc.) Tom meets/beats the performance of Java.