Clojure high performance programming : understand performance aspects and write high performance code with Clojure
This is a short, practical guide that will teach you everything you need to know to start writing high performance Clojure code. This book is ideal for intermediate Clojure developers who are looking to get a good grip on how to achieve optimum performance. You should already have some experience wi...
Saved in:
Main Author: | |
---|---|
Format: | eBook |
Language: | English |
Published: |
Birmingham :
Packt Publishing,
2013.
|
Series: | Community experience distilled.
|
Subjects: | |
ISBN: | 9781680154177 1680154176 9781782165613 1782165614 1782165606 9781782165606 |
Physical Description: | 1 online resource (152 pages) |
LEADER | 05649cam a2200493 i 4500 | ||
---|---|---|---|
001 | kn-ocn863824720 | ||
003 | OCoLC | ||
005 | 20240717213016.0 | ||
006 | m o d | ||
007 | cr cn||||||||| | ||
008 | 131123s2013 enk o 001 0 eng d | ||
040 | |a EBLCP |b eng |e pn |c EBLCP |d IDEBK |d YDXCP |d E7B |d UMI |d OCLCQ |d COO |d OCLCO |d DEBBG |d DEBSZ |d OCLCQ |d OCLCF |d KNOVL |d OCLCQ |d FEM |d COCUF |d CNNOR |d MOR |d PIFAG |d N$T |d ZCU |d AGLDB |d MERUC |d OCLCQ |d D6H |d OCLCQ |d VTS |d ICG |d OCLCQ |d STF |d DKC |d OCLCQ |d AJS |d OCLCQ |d UKMGB |d OCLCQ |d OCLCO |d OCLCQ |d OCLCO | ||
020 | |a 9781680154177 |q (electronic bk.) | ||
020 | |a 1680154176 |q (electronic bk.) | ||
020 | |a 9781782165613 |q (electronic bk.) | ||
020 | |a 1782165614 |q (electronic bk.) | ||
020 | |z 1782165606 | ||
020 | |z 9781782165606 | ||
035 | |a (OCoLC)863824720 |z (OCoLC)869567484 |z (OCoLC)961589788 |z (OCoLC)968016033 |z (OCoLC)969055840 | ||
100 | 1 | |a Kumar, Shantanu. | |
245 | 1 | 0 | |a Clojure high performance programming : |b understand performance aspects and write high performance code with Clojure / |c Shantanu Kumar. |
260 | |a Birmingham : |b Packt Publishing, |c 2013. | ||
300 | |a 1 online resource (152 pages) | ||
336 | |a text |b txt |2 rdacontent | ||
337 | |a computer |b c |2 rdamedia | ||
338 | |a online resource |b cr |2 rdacarrier | ||
490 | 1 | |a Community experience distilled | |
505 | 0 | |a Cover; Copyright; Credits; About the Author; Acknowledgments; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 1:Performance by Design; Use-case classification; User facing software; Computational and data-processing tasks; CPU bound; Memory bound; Cache bound; Input/Output (I/O) bound; Online transaction processing (OLTP); Online analytical processing (OLAP); Batch processing; Structured approach to performance; Performance vocabulary; Latency; Throughput; Bandwidth; Baseline and benchmark; Profiling; Performance optimization; Concurrency and parallelism. | |
505 | 8 | |a Resource utilizationWorkload; Latency numbers every programmer should know; Summary; Chapter 2:Clojure Abstractions; Non-numeric scalars and interning; Identity, value, and epochal time model; Variables and mutation; Collection types; Persistent data structures; Constructing less-used data structures; Complexity guarantee; Concatenation of persistent data structures; Sequences and laziness; Laziness; Laziness in data structure operations; Constructing lazy sequences; Transients; Fast repetition; Performance miscellanea; Disabling assertions in production; Destructuring. | |
505 | 8 | |a Recursion and tail-call optimization (TCO)Premature end in reduce; Multimethods versus protocols; Inlining; Summary; Chapter 3:Leaning on Java; Inspect the equivalent Java source for Clojure code; Create a new project; Compile Clojure sources into Java bytecode; Decompile the .class files into Java source; Numerics, boxing, and primitives; Arrays; Reflection and type hints; Array of primitives; Primitives; Macros and metadata; Miscellaneous; Using array/numeric libraries for efficiency; HipHip; primitive-math; Resorting to Java and native code; Proteus -- mutable locals in Clojure; Summary. | |
505 | 8 | |a Chapter 4:Host PerformanceThe hardware; Processors; Branch prediction; Instruction scheduling; Threads and cores; Memory systems; Cache; Interconnect; Storage and networking; The Java Virtual Machine; The just-in-time (JIT) compiler; Memory organization; HotSpot heap and garbage collection; Measuring memory (heap/stack) usage; Measuring latency with Criterium; Criterium and Leiningen; Summary; Chapter 5:Concurrency; Low-level concurrency; Hardware memory barrier instructions; Java support and its Clojure equivalent; Atomic updates and state; Atomic updates in Java. | |
505 | 8 | |a Clojure's support for atomic updatesAsynchronous agents and state; Asynchrony, queuing, and error handling; Why use agents?; Nesting; Coordinated transactional ref and state; Ref characteristics; Ref history and in-transaction deref operations; Transaction retries and barging; Upping transaction consistency with ensure; Fewer transaction retries with commutative operations; Agents can participate in transactions; Nested transactions; Performance considerations; Dynamic var binding and state; Validating and watching the reference types; Java concurrent data structures; Concurrent maps. | |
506 | |a Plný text je dostupný pouze z IP adres počítačů Univerzity Tomáše Bati ve Zlíně nebo vzdáleným přístupem pro zaměstnance a studenty | ||
520 | |a This is a short, practical guide that will teach you everything you need to know to start writing high performance Clojure code. This book is ideal for intermediate Clojure developers who are looking to get a good grip on how to achieve optimum performance. You should already have some experience with Clojure and it would help if you already know a little bit of Java. Knowledge of performance analysis and engineering is not required. For hands-on practice, you should have access to Clojure REPL with Leiningen. | ||
500 | |a Includes index. | ||
590 | |a Knovel |b Knovel (All titles) | ||
650 | 0 | |a Application software |x Development. | |
650 | 0 | |a Clojure (Computer program language) | |
650 | 0 | |a Computer programming. | |
655 | 7 | |a elektronické knihy |7 fd186907 |2 czenas | |
655 | 9 | |a electronic books |2 eczenas | |
776 | 0 | 8 | |i Print version: |a Kumar, Shantanu. |t Clojure High Performance Programming. |d Birmingham : Packt Publishing, ©2013 |z 9781782165606 |
830 | 0 | |a Community experience distilled. | |
856 | 4 | 0 | |u https://proxy.k.utb.cz/login?url=https://app.knovel.com/hotlink/toc/id:kpCHPP001C/clojure-high-performance?kpromoter=marc |y Full text |