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...

Full description

Saved in:
Bibliographic Details
Main Author: Kumar, Shantanu.
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)

Cover

Table of contents

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