Recently Peter Strömberg, the creator of Calva (https://calva.io/) got together and had a look at implementing a Sieve of Eratosthenes solution together in Clojure...Peter has actually been doing this for two years and has created one of the fastest Clojure implementations of it!
Links :
Peters Youtube channel: / calvatv
The Sieve: https://en.wikipedia.org/wiki/Sieve_o...
Clojure Goes Fast: http://clojuregoesfast.com
Programming Languages Dragracing high scores: https://plummerssoftwarellc.github.io...
Peter's dragracing contributions: https://github.com/PlummersSoftwareLL...
Ben Sless on that performant Clojure can be idiomatic and readable: https://bsless.github.io/fastandele...
Benchmark your Clojure code with Criterium: https://github.com/hugoduncan/criterium
The start of Peter's sieve addiction: https://clojureverse.org/t/eratosthen...
My solutions from the video:
https://gist.github.com/danownsthissp...
My VS Code theme: Bearded Theme Arc Blueberry:
https://marketplace.visualstudio.com/...
——
00:00 Intro
01:15 What the sieve is
01:37 First attempt at a solution
08:22 Second attempt using Clojure Sets
19:43 Peters' performant solutions
22:09 Benchmarking using Criterium
22:50 Using transients
23:49 Using a boolean array
24:43 Calva evaluation tricks
26:39 using a Java BitSet
28:45 Outro