Sep 22, 2017

New site: Clojure goes fast!

Make it work, make it right, make it fast. This adage has been around for many years now. Some developers follow this principle to prioritize their efforts. Others use it as an excuse why their software is dog slow. The third group runs counter to the advice and spends their time optimizing the code that will be eventually thrown away. But regardless of which camp you are in, there will be a time when you have to make your program quicker. If that time is now — then you've come to the right place.

Clojure, of all programming languages, is excellent for such after-the-fact acceleration. REPL-driven development together with powerful JVM tools create a rapid optimization environment yet to be seen anywhere else. Clojure offers a great variety of approaches for both pinpointing the performance issues and properly solving them. And the power of REPL allows you to tightly combine these two steps so that no time is wasted on compiling/running drudgery.

When it comes to writing performance-sensitive code in Clojure, or to investigating where your program spends most of the time, there is plenty of information around. Most of it lives on someone's blog, some knowledge makes it into books, many discussions happen on IRC and Slack never to be found again. This site was conceived with an ambitious goal to collect and curate all information about Clojure performance in one place. I want this to become a resource people visit when they have optimization-related questions, want to know more about how JVM helps programs (including Clojure) to run quickly, or when they are simply interested in performance.

In case you are wondering, the site's logo was derived from Clojure logo. If you spin the original Clojure logo really fast you will see this propeller-looking pattern. Inspired by it I created a static logo of Clojure spinning.

I haven't finalized the idea of how the site is going to look like. The information will probably initially appear in the form of blog posts, then I will move it to the documentation or tutorial section. Maybe, other people would want to contribute at some point. We'll see what the future holds, but I positively look forward to what will happen. Gotta go fast!