Become an expert at writing fast and high performant code in Clojure 1.7.0About This BookEnhance code performance by using appropriate Clojure featuresImprove the efficiency of applications and plan their deploymentA hands-on guide to designing Clojure programs to get the best performanceWho This Book Is ForThis book is intended for intermediate Clojure developers who are looking to get a good grip on achieving optimum performance. Having a basic knowledge of Java would be helpful.What You Will LearnIdentify performance issues in Clojure programs using different profiling toolsMaster techniques to achieve numerical performance in ClojureUse Criterium library to measure latency of Clojure expressionsExploit Java features in Clojure code to enhance performanceAvoid reflection and boxing with type hintsUnderstand Clojure's concurrency and state-management primitives in depthMeasure and monitor performance, and understand optimization techniquesIn DetailClojure treats code as data and has a macro system. It focuses on programming with immutable values and explicit progression-of-time constructs, which are intended to facilitate the development of more robust programs, particularly multithreaded ones. It is built with performance, pragmatism, and simplicity in mind. Like most general purpose languages, various Clojure features have different performance characteristics that one should know in order to write high performance code.This book shows you how to evaluate the performance implications of various Clojure abstractions, discover their underpinnings, and apply the right approach for optimum performance in real-world programs.It starts by helping you classify various use cases and the need for them with respect to performance and analysis of various performance aspects. You will also learn the performance vocabulary that experts use throughout the world and discover various Clojure data structures, abstractions, and their performance characteristics. Further, the book will guide you through enhancing performance by using Java interoperability and JVM-specific features from Clojure. It also highlights the importance of using the right concurrent data structure and Java concurrency abstractions.This book also sheds light on performance metrics for measuring, how to measure, and how to visualize and monitor the collected data. At the end of the book, you will learn to run a performance profiler, identify bottlenecks, tune performance, and refactor code to get a better performance.Style and approachAn easy-to-follow guide full of real-world examples and self-sufficient code snippets that will help you get your hands dirty with high performance programming with Clojure.
Author: Shantanu Kumar