Performance miscellanea
Besides the major abstractions we saw earlier in the chapter, there are other smaller, but nevertheless very performance-critical, parts of Clojure that we will see in this section.
Disabling assertions in production
Assertions are very useful to catch logical errors in the code during development, but they impose a runtime overhead that you may like to avoid in the production environment. Since assert
is a compile time variable, the assertions can be silenced either by binding assert
to false or by using alter-var-root
before the code is loaded. Unfortunately, both the techniques are cumbersome to use. Paul Stadig's library called assertions
(https://github.com/pjstadig/assertions) helps with this exact use-case by enabling ...
Get Clojure: High Performance JVM Programming now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.