Bare Metal Clojure with clojure.Spec - Michael Reitzenstein
4,814 views · Published 24 November 2016 · 36:07 · Indexed 26 October 2026
Channel: ClojureTV · 2016 · Science & Technology
Clojure provides powerful abstractions and dynamic typing, and its high performance is enabled only through the amazing optimizations provided by the powerful JITs in JVM, V8 et al. Using Clojure's new spec and gen features, it's possible to generate specialized versions of Clojure code for constrained specifications, eliminating much of the boilerplate and branch heavy code, which can then be translated into efficient C. This talk follows optimization of the humble (fn fib [n]) in its most naive form, using a series of generally applicable techniques to transform it from a O( 2n ) to a O( log n ) algorithm, generating efficient C that would be difficult to match by hand.
More from this channel
-
18:41
Fertile Ground, the Roots of Clojure - Michael Fogus
-
39:41
Lisp, Functional Programming, and the State of Flow - Tom Faulhaber
-
39:17
Protocol XIII: Clojure Protocols Explained - Sean Devlin
-
5:23
Aleph: A Framework for AsynchronousCommunication - Zach Tellman
-
26:57
Clojure and Android - Daniel Solano Gomez
-
38:24
Performance in the Wild - Craig Andera
-
41:18
Concurrent Stream Processing - David McNeil
-
42:20
Ousterhout's Dichotomy Isn't (Part 2 of the Simplicity/Power/Focus Series) - Stuart Halloway