Book Image

Clojure High Performance Programming

By : Shantanu Kumar
Book Image

Clojure High Performance Programming

By: Shantanu Kumar

Overview of this book

<p>Clojure is a young, dynamic, functional programming language that runs on the Java Virtual Machine. It is built with performance, pragmatism, and simplicity in mind. Like most general purpose languages, Clojure’s features have different performance characteristics that one should know in order to write high performance code.<br /><br />Clojure High Performance Programming is a practical, to-the-point guide that shows you how to evaluate the performance implications of different Clojure abstractions, learn about their underpinnings, and apply the right approach for optimum performance in real-world programs.<br /><br />This book discusses the Clojure language in the light of performance factors that you can exploit in your own code.</p> <p>You will also learn about hardware and JVM internals that also impact Clojure’s performance. Key features include performance vocabulary, performance analysis, optimization techniques, and how to apply these to your programs. You will also find detailed information on Clojure's concurrency, state-management, and parallelization primitives.</p> <p>This book is your key to writing high performance Clojure code using the right abstraction, in the right place, using the right technique.</p>
Table of Contents (15 chapters)
Clojure High Performance Programming
Credits
About the Author
Acknowledgments
About the Reviewers
www.PacktPub.com
Preface
Index

A tiny statistics terminology primer


When we have a series of quantitative data, such as latency in milliseconds, for the same operation (measured over a number of executions), we can observe a number of things. First, and the most obvious, are the minimum and maximum values in the data. Let us take an example data set to analyze further:

23

19

21

24

26

20

22

21

25

168

23

20

29

172

22

24

26

Median, first quartile, and third quartile

We can see that the minimum latency here is 19 ms, whereas the maximum latency is 172 ms. We can also observe that the average latency here is about 40 ms. Let us sort this data in ascending order:

19

20

20

21

21

22

22

23

23

24

24

25

26

26

29

168

172

The center element of the preceding data set, that is, the ninth element (value 23), is considered the median of the data set. It is noteworthy that the median is a better representative of the center of the data than the average or mean. The center element of the left-half of the...