Cargando…

Clojure high performance programming : become an expert at writing fast and high performant code in Clojure 1.7.0 /

Become an expert at writing fast and high performant code in Clojure 1.7.0 About This Book Enhance code performance by using appropriate Clojure features Improve the efficiency of applications and plan their deployment A hands-on guide to designing Clojure programs to get the best performance Who Th...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Kumar, Shantanu (Autor)
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Birmingham, UK : Packt Publishing, 2015.
Edición:Second edition.
Colección:Community experience distilled.
Temas:
Acceso en línea:Texto completo (Requiere registro previo con correo institucional)

MARC

LEADER 00000cam a2200000Ii 4500
001 OR_ocn926046090
003 OCoLC
005 20231017213018.0
006 m o d
007 cr unu||||||||
008 151022s2015 enka o 001 0 eng d
040 |a UMI  |b eng  |e rda  |e pn  |c UMI  |d OCLCF  |d TEFOD  |d COO  |d IDEBK  |d YDXCP  |d EBLCP  |d DEBBG  |d TEF  |d DEBSZ  |d IDB  |d OCLCQ  |d MERUC  |d OCLCQ  |d OCLCO  |d CEF  |d OCLCQ  |d OCLCO  |d UAB  |d OCLCQ  |d OCLCO  |d VLY  |d INARC  |d DST  |d OCLCO  |d OCLCQ  |d OCLCO 
019 |a 922700106  |a 922918572 
020 |a 9781785287671  |q (electronic bk.) 
020 |a 1785287672  |q (electronic bk.) 
020 |a 1785283642 
020 |a 9781785283642 
020 |z 9781785283642 
029 1 |a CHNEW  |b 000893934 
029 1 |a CHVBK  |b 374530912 
029 1 |a DEBBG  |b BV043627591 
029 1 |a DEBSZ  |b 473884534 
029 1 |a GBVCP  |b 89716895X 
035 |a (OCoLC)926046090  |z (OCoLC)922700106  |z (OCoLC)922918572 
037 |a CL0500000662  |b Safari Books Online 
037 |a DDA9DF13-F021-4192-8A3F-10244091B344  |b OverDrive, Inc.  |n http://www.overdrive.com 
050 4 |a QA76.73.C565 
082 0 4 |a 005.46 
049 |a UAMI 
100 1 |a Kumar, Shantanu,  |e author. 
245 1 0 |a Clojure high performance programming :  |b become an expert at writing fast and high performant code in Clojure 1.7.0 /  |c Shantanu Kumar. 
246 3 0 |a Become an expert at writing fast and high performant code in Clojure 1.7.0 
250 |a Second edition. 
264 1 |a Birmingham, UK :  |b Packt Publishing,  |c 2015. 
300 |a 1 online resource (1 volume) :  |b illustrations 
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 
588 0 |a Online resource; title from cover page (Safari, viewed October 20, 2015). 
500 |a Includes index. 
505 0 |a Cover; Copyright; Credits; About the Author; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Performance by Design; Use case classification; The user-facing software; Computational and data-processing tasks; A CPU bound computation; A memory bound task; A cache bound task; An input/output bound task; Online transaction processing; Online analytical processing; Batch processing; A structured approach to the performance; The performance vocabulary; Latency; Throughput; Bandwidth; Baseline and benchmark; Profiling; Performance optimization 
505 8 |a Concurrency and parallelismResource utilization; Workload; The latency numbers that 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 lesser-used data structures; Complexity guarantee; O(<7) implies near constant time; The concatenation of persistent data structures; Sequences and laziness; Laziness; Laziness in data structure operations; Constructing lazy sequences; Transducers; Performance characteristics 
505 8 |a TransientsFast repetition; Performance miscellanea; Disabling assertions in production; Destructuring; Recursion and tail-call optimization (TCO); Premature end of iteration; Multimethods versus protocols; Inlining; Summary; Chapter 3: Leaning on Java; Inspecting the equivalent Java source for Clojure code; Creating a new project; Compiling the Clojure sources into Java bytecode; Decompiling the .class files into Java source; Compiling the Clojure source without locals clearing; Numerics, boxing, and primitives; Arrays; Reflection and type hints; An array of primitives; Primitives 
505 8 |a Macros and metadataString concatenation; Miscellaneous; Using array/numeric libraries for efficiency; HipHip; primitive-math; Detecting boxed math; Resorting to Java and native code; Proteus -- mutable locals in Clojure; Summary; Chapter 4: Host Performance; The hardware; Processors; Branch prediction; Instruction scheduling; Threads and cores; Memory systems; Cache; Interconnect; Storage and networking; The Java Virtual Machine; The just-in-time compiler; Memory organization; HotSpot heap and garbage collection; Measuring memory (heap/stack) usage; Determining program workload type 
505 8 |a Tackling memory inefficiencyMeasuring latency with Criterium; Criterium and Leiningen; Summary; Chapter 5: Concurrency; Low-level concurrency; Hardware memory barrier (fence) instructions; Java support and the Clojure equivalent; Atomic updates and state; Atomic updates in Java; Clojure's support for atomic updates; Faster writes with atom striping; Asynchronous agents and state; Asynchrony, queueing, and error handling; Why you should use agents; Nesting; Coordinated transactional ref and state; Ref characteristics; Ref history and in-transaction deref operations 
520 |a Become an expert at writing fast and high performant code in Clojure 1.7.0 About This Book Enhance code performance by using appropriate Clojure features Improve the efficiency of applications and plan their deployment A hands-on guide to designing Clojure programs to get the best performance Who This Book Is For This 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 Learn Identify performance issues in Clojure programs using different profiling tools Master techniques to achieve numerical performance in Clojure Use Criterium library to measure latency of Clojure expressions Exploit Java features in Clojure code to enhance performance Avoid reflection and boxing with type hints Understand Clojure's concurrency and state-management primitives in depth Measure and monitor performance, and understand optimization techniques In Detail Clojure 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 perform... 
590 |a O'Reilly  |b O'Reilly Online Learning: Academic/Public Library Edition 
630 0 0 |a Java virtual machine. 
630 0 7 |a Java virtual machine  |2 fast 
650 0 |a Clojure (Computer program language) 
650 6 |a Clojure (Langage de programmation) 
650 7 |a Clojure (Computer program language)  |2 fast 
776 0 8 |i Erscheint auch als:  |n Druck-Ausgabe  |t Kumar, Shantanu. Clojure High Performance Programming - Second Edition 
830 0 |a Community experience distilled. 
856 4 0 |u https://learning.oreilly.com/library/view/~/9781785283642/?ar  |z Texto completo (Requiere registro previo con correo institucional) 
938 |a Internet Archive  |b INAR  |n clojurehighperfo0000kuma 
938 |a EBL - Ebook Library  |b EBLB  |n EBL4191265 
938 |a ProQuest MyiLibrary Digital eBook Collection  |b IDEB  |n cis32798764 
938 |a YBP Library Services  |b YANK  |n 12625221 
994 |a 92  |b IZTAP