RFCs
Design discussions about the OCaml language (by ocaml)
performancepaper
A reproducible, open examination of the paper "A performance comparison of Clojure and Java" by Gustav Krantz (by joinr)
RFCs | performancepaper | |
---|---|---|
3 | 5 | |
142 | 59 | |
0.0% | - | |
0.0 | 0.0 | |
2 months ago | about 3 years ago | |
Clojure | ||
- | Eclipse Public License 2.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
RFCs
Posts with mentions or reviews of RFCs.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-12-30.
-
Dargent: A Silver Bullet for Data Layout Refinement [pdf]
Found while on my hunt for POPL23 preprints. I wonder how much it relates to the unboxed types project for OCaml.
-
Why are imperative programs considered faster than their functional counterparts?
A middle ground between uniform representation and specializing for every type is specializing for every data layout. See the unboxed types RFC for OCaml.
-
PR to Merge Multicore OCaml
For both 2 and 3 you may find https://github.com/ocaml/RFCs/blob/unboxed-types/rfcs/unboxe... very interesting. I'm hoping that progresses beyond the RFC stage.
performancepaper
Posts with mentions or reviews of performancepaper.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-01-21.
- Notes on Optimizing Clojure Code: Overview
-
Why are imperative programs considered faster than their functional counterparts?
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.
-
Making the LinkedIn experimentation engine 20x faster
I did a contrast with someone's graduate thesis that aimed to analyze clojure vs. java performance and made some weak claims. The rep is here, and it's really the org file. Sort of a worked example of optimizing code.
-
I rewrote a Clojure tool in Rust
I often see people knocking on Clojure saying its performance is bad when they are still not familiar with all the core library has to offer and what idiomatic performant Clojure can look like. Take a look here for some examples by joinr
What are some alternatives?
When comparing RFCs and performancepaper you can also consider the following projects:
domainslib - Parallel Programming over Domains
ultrarand - a demo of random number generation in java, and clojure via performance optimization
eioio - Effects-based direct-style IO for multicore OCaml
clj-fast - Unpredictably faster Clojure
ocaml - The core OCaml system: compilers, runtime system, base libraries
criterium - Benchmarking library for clojure
rescript-compiler - The compiler for ReScript.
mlton - The MLton repository
slingshot - Enhanced try and throw for Clojure leveraging Clojure's capabilities
ocaml-multicore - Multicore OCaml
clojure - The Clojure programming language