Book Image

Clojure High Performance Programming, Second Edition - Second Edition

By : Shantanu Kumar
Book Image

Clojure High Performance Programming, Second Edition - Second Edition

By: Shantanu Kumar

Overview of this book

Table of Contents (15 chapters)
Clojure High Performance Programming Second Edition
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Index

A

  • abstract-syntax-tree (AST)
    • about / Complexity guarantee
  • Abstract Syntax Tree (AST) / Macros and metadata
  • Aleph
    • reference link / Ring (web) monitoring
    • URL / Aleph
  • Amdahl's Law
    • about / Amdahl's law
  • amortization
    • about / Laziness in data structure operations
  • AppDynamics
    • URL / The Alternate profilers
  • array
    • using, for efficiency / Using array/numeric libraries for efficiency
  • array of primitives
    • about / An array of primitives
  • arrays
    • about / Arrays
  • Asphalt
    • URL / JDBC
  • assertions
    • disabling, in production / Disabling assertions in production
    • reference link / Disabling assertions in production
  • Asynchronous Agents
    • about / Asynchronous agents and state
    • state / Asynchronous agents and state
    • using / Why you should use agents
  • asynchrony
    • about / Asynchrony, queueing, and error handling
  • atomic updates
    • about / Atomic updates and state
    • and state / Atomic updates and state
    • in Java / Atomic updates in Java
    • support, Clojure / Clojure's support for atomic updates, Faster writes with atom striping
    • faster writes, with atom striping / Faster writes with atom striping
  • autopromotion
    • about / Numerics, boxing, and primitives
  • Avout
    • URL / Distributed pipelines

B

  • back pressure, applying
    • about / Applying back pressure
    • thread pool queues / Thread pool queues
    • Tomcat / Servlet containers such as Tomcat and Jetty
    • Jetty / Servlet containers such as Tomcat and Jetty
    • HTTP Kit / HTTP Kit
    • Aleph / Aleph
  • bandwidth
    • about / Bandwidth
  • baseline
    • about / Baseline and benchmark
  • batch processing
    • about / Batch processing
  • benchmark
    • about / Baseline and benchmark
  • Big-O notation
    • about / O(<7) implies near constant time
  • boxed math
    • detecting / Detecting boxed math
  • boxed numerics
    • about / Numerics, boxing, and primitives
  • boxplot
    • about / Median, first quartile, third quartile
  • branch prediction
    • about / Branch prediction
  • bubbles
    • about / Instruction scheduling
  • bytebuffer
    • URL / Tackling memory inefficiency

C

  • .class files
    • decompiling, into Java source / Decompiling the .class files into Java source
  • cache
    • about / Cache
  • cache-oblivious algorithms
    • about / A cache bound task
  • cache bound task
    • about / A cache bound task
  • cachegrind
    • URL / Determining program workload type
  • caching
    • about / Precomputing and caching
  • CalfPath
    • about / Web routing libraries
    • URL / Web routing libraries
  • capacity planning
    • about / A structured approach to the performance
  • characters
    • about / Non-numeric scalars and interning
  • CharSequence box
    • about / Collection types
  • Cheshire library
    • URL / JSON serialization
  • chunking, for reducing memory pressure
    • about / Chunking to reduce memory pressure
  • Citius
    • about / Comparative latency measurement
    • URL / Comparative latency measurement
  • Clj-DBCP
    • URL / JDBC resource pooling
  • clj-mmap
    • URL / Tackling memory inefficiency
  • Clojure code
    • equivalent Java source, inspecting for / Inspecting the equivalent Java source for Clojure code
    • latency bottlenecks / Latency bottlenecks in Clojure code
    • latency bottlenecks / Latency bottlenecks in Clojure code
    • aspects, for drill-down measurement / Measure only when it is hot
    • tuning / Tuning Clojure code
  • Clojure code, tuning
    • tuning / Tuning Clojure code
    • CPU/cache bound / CPU/cache bound
    • memory bound / Memory bound
    • multi-threaded / Multi-threaded
  • Clojure concurrency support
    • Future / Future
    • promise / Promise
  • Clojure Parallelization
    • about / Clojure parallelization and the JVM
  • Clojure source
    • compiling, without locals clearing / Compiling the Clojure source without locals clearing
  • Clojure sources
    • compiling, into Java bytecode / Compiling the Clojure sources into Java bytecode
  • Clojure support, for parallelization
    • about / Clojure support for parallelization
    • pmap / pmap
    • pcalls / pcalls
    • pvalues / pvalues
  • Clojure web servers
    • URL / Web servers
  • closures
    • about / Macros and closures
  • collection types
    • about / Collection types
  • Comma Separated File (CSV) / Sizing for file/network operations
  • complexity guarantees
    • about / Complexity guarantee
  • Compojure
    • about / Web routing libraries
  • Component
    • URL / Distinguish between initialization and runtime
  • computational and data-processing tasks
    • about / Computational and data-processing tasks
    • CPU bound computation / A CPU bound computation
    • memory bound task / A memory bound task
    • cache bound task / A cache bound task
    • input/output (I/O) bound task / An input/output bound task
  • concatenation, of persistent data structures / The concatenation of persistent data structures
  • concurrency
    • about / Concurrency and parallelism
  • concurrency, with threads
    • defining / Concurrency with threads
    • JVM support, for threads / JVM support for threads
    • thread pools, in JVM / Thread pools in the JVM
    • Clojure concurrency support / Clojure concurrency support
  • Concurrent Mark and Sweep (CMS) / JVM tuning
  • concurrent pipelines
    • about / Concurrent pipelines
    • distributed pipelines / Distributed pipelines
  • Configuration
    • URL / Optimization
  • Coordinated Transactional Ref
    • about / Coordinated transactional ref and state
    • and state / Coordinated transactional ref and state
    • characteristics / Ref characteristics
    • history / Ref history and in-transaction deref operations
    • in-transaction deref operations / Ref history and in-transaction deref operations
    • transaction retries / Transaction retries and barging
    • barging / Transaction retries and barging
    • transaction consistency, upping with ensure / Upping transaction consistency with ensure
    • lesser transaction retries, with commutative operations / Lesser transaction retries with commutative operations
    • agents, in transactions / Agents can participate in transactions
    • nested transactions / Nested transactions
    • performance considerations / Performance considerations
  • copy collection / HotSpot heap and garbage collection
  • core.async library
    • URL / Transients
  • core.rrb-vector contrib project
    • about / The concatenation of persistent data structures
  • cores / Threads and cores
  • CPU bound computation
    • about / A CPU bound computation
  • CPU level, cycles
    • fetch / Processors
    • decode / Processors
    • execute / Processors
    • writeback / Processors
  • Criterium
    • latency, measuring with / Measuring latency with Criterium
    • URL / Measuring latency with Criterium
  • Criterium output
    • about / Understanding Criterium output

D

  • data serialization
    • about / Data serialization
  • data sizing
    • about / Data sizing
    • reduced serialization / Reduced serialization
    • chunking, for reducing memory pressure / Chunking to reduce memory pressure
    • for file/network operations / Sizing for file/network operations
    • for JDBC query results / Sizing for JDBC query results
  • data structure operations
    • laziness / Laziness in data structure operations
  • destructuring
    • about / Destructuring
  • Dirigiste
    • URL / Aleph
  • distributed pipelines
    • about / Distributed pipelines
  • dynamic vars
    • binding / Dynamic var binding and state
    • and state / Dynamic var binding and state

E

  • EDN
    • URL / Non-numeric scalars and interning
  • empirical rule
    • about / Variance and standard deviation
  • Encoders
    • URL / Optimization
  • endurance tests
    • about / The load, stress, and endurance tests
  • Engulf
    • about / The load, stress, and endurance tests
    • URL / The load, stress, and endurance tests
  • epochal time model
    • about / Identity, value, and epochal time model
  • equivalent Java source
    • inspecting, for Clojure code / Inspecting the equivalent Java source for Clojure code
  • error handling
    • about / Asynchrony, queueing, and error handling
  • Espejito
    • URL / Latency bottlenecks in Clojure code
    • using / Latency bottlenecks in Clojure code
  • event-based profilers
    • about / Profiling

F

  • Facebook API
    • reference link / Batch support at API level
  • faster front-side bus (FSB) / Memory systems
  • File Transfer Protocol (FTP) / Sizing for file/network operations
  • first quartile
    • about / Median, first quartile, third quartile
  • Fork/Join framework, Java 7
    • defining / Java 7's fork/join framework
  • frequency
    • about / Median, first quartile, third quartile

G

  • garbage collection / HotSpot heap and garbage collection
  • Garbage Collection (GC)
    • about / Non-numeric scalars and interning
  • garbage collection bottlenecks
    • about / Garbage collection bottlenecks
    • threads, waiting at GC safepoint / Threads waiting at GC safepoint
    • jstat, using / Using jstat to probe GC details
  • GCViewer
    • URL / Garbage collection bottlenecks
  • gloss
    • URL / Tackling memory inefficiency
  • Graphite
    • about / Performance monitoring
    • URL / Monitoring through logs
  • guided performance objectives
    • about / Guided performance objectives

H

  • hardware
    • about / The hardware
    • processors / Processors
    • memory systems / Memory systems
    • storage / Storage and networking
    • networking / Storage and networking
  • HikariCP
    • URL / JDBC resource pooling
  • HipHip
    • overview / HipHip
    • URL / HipHip
  • HotSpot heap / HotSpot heap and garbage collection
  • HotSpot JIT compiler
    • about / The just-in-time compiler
    • optimizations / The just-in-time compiler
  • http-kit
    • reference link / Ring (web) monitoring
  • HTTP Kit
    • URL / HTTP Kit
  • HyperThreading / Threads and cores
  • HyperTransport / Interconnect

I

  • I/O batching
    • about / I/O batching and throttling
    • batch support, at API level / Batch support at API level
  • I/O profiling
    • about / I/O profiling
  • i7z
    • URL / OS and CPU/cache-level profiling
  • identity
    • about / Identity, value, and epochal time model
  • immutability
    • about / Variables and mutation
  • Incanter
    • URL / Variance and standard deviation
  • inlining
    • about / Inlining
  • input/output (I/O) bound task
    • about / An input/output bound task
  • instruction pipelining
    • about / Processors
  • instruction scheduling / Instruction scheduling
  • instrumenting profilers
    • about / Profiling
  • Intel VTune Analyzer
    • about / OS and CPU/cache-level profiling
  • Internet of Things (IoT)
    • about / Batch support at API level
  • interning
    • about / Non-numeric scalars and interning
  • Inter Quartile Range (IQR)
    • about / Median, first quartile, third quartile
  • introspection, performance monitoring
    • about / Introspection
    • JVM instrumentation, via JMX / JVM instrumentation via JMX
  • IOPS (Input-output per second)
    • about / Bandwidth
  • iota
    • URL / Tackling memory inefficiency

J

  • Jackson Java library
    • URL / JSON serialization
  • Java
    • restoring to / Resorting to Java and native code
  • java.jdbc
    • reference link / Sizing for JDBC query results
  • java.jmx
    • reference link / JVM instrumentation via JMX
  • Java bytecode
    • Clojure sources, compiling into / Compiling the Clojure sources into Java bytecode
  • Java concurrent data structures
    • defining / Java concurrent data structures
    • Concurrent Maps / Concurrent maps
    • Concurrent Queues / Concurrent queues
    • Clojure support, for concurrent queues / Clojure support for concurrent queues
  • Java Management Extensions (JMX)
    • about / JVM instrumentation via JMX
  • Java Memory Model
    • URL / Java concurrent data structures
  • Java Native Interface (JNI) / Resorting to Java and native code
  • Java Runtime Environment (JRE) / The Java Virtual Machine
  • Java source
    • .class files, decompiling into / Decompiling the .class files into Java source
  • Java Virtual Machine
    • about / The Java Virtual Machine
    • memory organization / Memory organization
    • HotSpot heap / HotSpot heap and garbage collection
    • garbage collection / HotSpot heap and garbage collection
    • memory (heap/stack) usage, measuring / Measuring memory (heap/stack) usage
    • memory inefficiency, tackling / Tackling memory inefficiency
  • JConsole
    • about / Introspection
  • JD-GUI
    • about / Inspecting the equivalent Java source for Clojure code
    • URL / Inspecting the equivalent Java source for Clojure code
  • JDBC
    • about / JDBC
  • JDBC batch operations
    • about / JDBC batch operations
  • JDBC resource pooling
    • about / JDBC resource pooling
  • Jetty
    • about / Servlet containers such as Tomcat and Jetty
  • JProfiler
    • URL / The Alternate profilers
  • JSON serialization
    • about / JSON serialization
  • jstat
    • URL / Using jstat to probe GC details
  • just-in-time (JIT) compiler / The just-in-time compiler
  • JVM
    • about / Clojure parallelization and the JVM
    • reference links / JVM tuning
  • JVM instruction
    • URL / Inspecting generated bytecode for Clojure source
  • JVM options
    • XX*+AggressiveOpts / JVM tuning
    • -server / JVM tuning
    • -Xms3g / JVM tuning
    • -Xmx3g / JVM tuning
    • -XX*+UseLargePages / JVM tuning
  • JVM options*-XX
    • +UseParNewGC / JVM tuning
  • Jvmtop
    • about / The Java Virtual Machine
    • URL / The Java Virtual Machine

K

  • keywords
    • about / Non-numeric scalars and interning

L

  • Last-in-First-out (LIFO) / Memory organization
  • last-in-first-out (LIFO)
    • about / Complexity guarantee
  • latency
    • about / Latency
    • measuring, with Criterium / Measuring latency with Criterium
  • latency, performance testing
    • measuring / Measuring latency
    • comparative latency measurement / Comparative latency measurement
    • latency measurement under concurrency / Latency measurement under concurrency
  • latency numbers
    • about / The latency numbers that every programmer should know
    • reference link / The latency numbers that every programmer should know
  • laziness
    • about / Laziness
    • in data structure operations / Laziness in data structure operations
  • lazy sequences
    • constructing / Constructing lazy sequences
    • custom chunking / Custom chunking
    • macros / Macros and closures
    • closures / Macros and closures
  • Leaky Bucket
    • URL / Throttling requests to services
  • Leiningen
    • about / Criterium and Leiningen
  • Leiningen project.clj configuration
    • about / Leiningen project.clj configuration
    • reflection warning, enabling / Enable reflection warning
    • optimized JVM options, enabling / Enable optimized JVM options when benchmarking
  • less-used data structures
    • constructing / Constructing lesser-used data structures
  • libraries selection
    • about / Choosing libraries
  • libraries selection, via benchmarks
    • about / Making a choice via benchmarks
    • web server / Web servers
    • web-routing libraries / Web routing libraries
    • data serialization / Data serialization
    • JSON serialization / JSON serialization
    • JDBC / JDBC
  • Likwid
    • URL / OS and CPU/cache-level profiling
  • list
    • about / Complexity guarantee
  • Little's law
    • about / Little's law
    • performance tuning / Performance tuning with respect to Little's law
  • LogBack
    • URL / Logging
    • about / Logging
    • need for / Why SLF4J/LogBack?
  • logging
    • about / Logging
    • setup / The setup
  • Logstash
    • URL / Monitoring through logs
  • Logstash-forwarder
    • URL / Monitoring through logs
  • low-level concurrency
    • about / Low-level concurrency
    • Hardware Memory Barrier (Fence) instructions / Hardware memory barrier (fence) instructions
    • Java support / Java support and the Clojure equivalent
    • Clojure equivalent / Java support and the Clojure equivalent

M

  • macros
    • about / Macros and closures, Macros and metadata
  • mean
    • about / Median, first quartile, third quartile
  • median
    • about / Median, first quartile, third quartile
  • Megaref
    • URL / Performance considerations
  • memoization
    • about / Laziness
  • memory (heap/stack) usage
    • measuring / Measuring memory (heap/stack) usage
  • memory-mapped buffers
    • reference link / Resorting to Java and native code
  • memory bound task
    • about / A memory bound task
  • memory organization / Memory organization
  • memory systems
    • about / Memory systems
    • cache / Cache
    • interconnect / Interconnect
  • memory wall / Memory systems
  • Mersenne prime
    • about / A CPU bound computation
  • metadata
    • about / Macros and metadata
  • Metaspace / Memory organization
  • Metrics
    • reference link / Performance monitoring
  • metrics-clojure
    • reference link / Performance monitoring
  • metrics-clojure library
    • reference link / Ring (web) monitoring
  • Micro-benchmark
    • about / Measuring latency
  • Monitor tab
    • about / The Monitor tab
    • Threads tab / The Sampler tab
    • Profiler tab / The Profiler tab
    • Visual GC tab / The Visual GC tab
    • alternate profilers / The Alternate profilers
  • Moore's Law
    • about / Moore's law
  • Moskito
    • URL / The Alternate profilers
  • multimethods
    • versus protocols / Multimethods versus protocols
  • mutable locals, Clojure / Proteus – mutable locals in Clojure
  • mutation
    • about / Variables and mutation

N

  • native code
    • restoring to / Resorting to Java and native code
  • nesting
    • about / Nesting
  • Netty
    • URL / Aleph
  • networking
    • about / Storage and networking
  • New Relic
    • URL / The Alternate profilers
  • nio
    • URL / Tackling memory inefficiency
  • Nippy
    • URL / Fast repetition, Data serialization
  • no.disassemble project
    • URL / Inspecting generated bytecode for Clojure source
  • non-numeric scalars
    • about / Non-numeric scalars and interning
    • performance characteristics / Non-numeric scalars and interning
  • Non-uniform memory access (NUMA) / Interconnect
  • nREPL
    • URL / Introspection
  • numerical tower
    • reference link / Numerics, boxing, and primitives
  • numeric libraries
    • using, for efficiency / Using array/numeric libraries for efficiency
  • numerics
    • about / Numerics, boxing, and primitives

O

  • online analytical processing (OLAP)
    • about / Online analytical processing
  • online transaction processing (OLTP)
    • about / Online transaction processing
  • Onyx
    • URL / Distributed pipelines
  • Open Source performance
    • tools, URL / The Alternate profilers
  • oprofile
    • URL / Determining program workload type
  • optimization
    • about / Performance optimization

P

  • parallelism
    • about / Concurrency and parallelism
  • parallelism, with Reducers
    • about / Parallelism with reducers
    • Reducible / Reducible, reducer function, reduction transformation
    • Reducer function / Reducible, reducer function, reduction transformation
    • Reduction transformation / Reducible, reducer function, reduction transformation
    • reducible collections, realizing / Realizing reducible collections
    • Foldable collections / Foldable collections and parallelism
    • Parallelism / Foldable collections and parallelism
  • percentile
    • about / Percentile
  • perf
    • URL / Determining program workload type
  • perf-map-agent
    • URL / Determining program workload type
  • Perforate
    • about / Comparative latency measurement
    • URL / Comparative latency measurement
  • performance
    • structured approach / A structured approach to the performance
    • about / Performance and queueing theory
  • performance bottlenecks
    • identifying / Identifying performance bottlenecks
    • latency bottlenecks, in Clojure code / Latency bottlenecks in Clojure code
    • garbage collection bottlenecks / Garbage collection bottlenecks
    • generated bytecode, inspecting for Clojure source / Inspecting generated bytecode for Clojure source
    • throughput bottlenecks / Throughput bottlenecks
  • performance characteristics, transducer
    • about / Performance characteristics
  • performance measurement
    • about / Performance measurement and statistics
  • performance miscellanea
    • about / Performance miscellanea
    • assertions, disabling in production / Disabling assertions in production
    • destructuring / Destructuring
    • tail-call optimization (TCO) / Recursion and tail-call optimization (TCO)
    • recursion / Recursion and tail-call optimization (TCO)
    • multimethods, versus protocols / Multimethods versus protocols
    • inlining / Inlining
  • performance modeling
    • about / A structured approach to the performance
  • performance monitoring
    • about / Performance monitoring
    • through logs / Monitoring through logs
    • ring (web) monitoring / Ring (web) monitoring
    • introspection / Introspection
  • performance optimization
    • about / Performance optimization
    • project, setting up / Project setup
  • performance statistics
    • about / Performance measurement and statistics
  • performance testing
    • about / Performance testing
    • environment / The test environment
    • latency, measuring / Measuring latency
    • throughput, measuring / Measuring throughput
    • load testing / The load, stress, and endurance tests
    • stress testing / The load, stress, and endurance tests
    • endurance tests / The load, stress, and endurance tests
  • performance tuning
    • about / Performance tuning
    • Clojure code, tuning / CPU/cache bound
    • I/O bound / I/O bound
    • JVM Tuning / JVM tuning
    • back pressure / Back pressure
  • performance tuning, Little's law / Performance tuning with respect to Little's law
  • performance vocabulary
    • about / The performance vocabulary
    • latency / Latency
    • throughput / Throughput
    • bandwidth / Bandwidth
    • baseline / Baseline and benchmark
    • benchmark / Baseline and benchmark
    • profiling / Profiling
    • optimization / Performance optimization
    • concurrency / Concurrency and parallelism
    • parallelism / Concurrency and parallelism
    • resource utilization / Resource utilization
    • workload / Workload
  • periods
    • about / Median, first quartile, third quartile
  • permanent generation / Memory organization
  • persistent data structures
    • about / Persistent data structures
    • concatenation / The concatenation of persistent data structures
  • persistent hash-maps
    • about / Complexity guarantee
  • persistent hash-vectors
    • about / Complexity guarantee
  • persistent tree-maps
    • about / Complexity guarantee
  • persistent tree-sets
    • about / Complexity guarantee
  • precomputing
    • about / Precomputing and caching
  • premature end of collection
    • about / Premature end of iteration
  • prime (symbol)
    • reference link / Numerics, boxing, and primitives
  • primitive-math
    • about / primitive-math
    • URL / primitive-math
  • primitive numerics
    • about / Numerics, boxing, and primitives
  • primitives
    • about / Primitives
  • Prismatic Graph
    • URL / Distinguish between initialization and runtime
  • processors
    • about / Processors
    • branch prediction / Branch prediction
    • instruction scheduling / Instruction scheduling
    • threads / Threads and cores
    • cores / Threads and cores
  • production
    • assertions, disabling in / Disabling assertions in production
  • profile
    • about / Profiling
  • profilers
    • event-based profilers / Profiling
    • instrumenting profilers / Profiling
    • sampling profilers / Profiling
  • Profiler tab / The Profiler tab
  • profiling
    • about / Profiling, Profiling
    • OS and CPU/cache-level profiling / OS and CPU/cache-level profiling
    • I/O profiling / I/O profiling
  • program counter (PC) / Memory organization
  • program workload type
    • determining / Determining program workload type
  • project
    • creating / Creating a new project
  • project setup, performance optimization
    • software versions / Software versions
    • JVM version / Software versions
    • Clojure version / Software versions
    • Leiningen project.clj configuration / Leiningen project.clj configuration
    • initialization and runtime, differentiating between / Distinguish between initialization and runtime
  • Prometheus
    • URL / The Alternate profilers
  • Proteus
    • about / Proteus – mutable locals in Clojure
    • URL / Proteus – mutable locals in Clojure
  • protocols
    • versus multimethods / Multimethods versus protocols
  • proxy-super macro / Miscellaneous

Q

  • queueing
    • about / Asynchrony, queueing, and error handling, Performance and queueing theory
  • QuickPath / Interconnect

R

  • recursion
    • about / Recursion and tail-call optimization (TCO)
  • reducing function
    • about / Transducers
  • reference types
    • validating / Validating and watching the reference types
    • watching / Validating and watching the reference types
  • reflection
    • about / Reflection and type hints
  • Relaxed Radix Balanced (RRB)
    • about / The concatenation of persistent data structures
  • Relic
    • URL / The Alternate profilers
  • REPL / Compiling the Clojure source without locals clearing
  • requests
    • throttling, to services / Throttling requests to services
  • resource pooling
    • about / Resource pooling
    • JDBC resource pooling / JDBC resource pooling
  • resource utilization
    • about / Resource utilization
  • Riemann
    • URL / Performance monitoring, Monitoring through logs
  • Ring
    • reference link / Ring (web) monitoring
  • Ring-based
    • URL / Measure only when it is hot
  • Ring library
    • about / Servlet containers such as Tomcat and Jetty
  • RRB-trees paper
    • references / The concatenation of persistent data structures

S

  • Sampler tab / The Sampler tab
    • about / The Sampler tab
    • thread name, setting / Setting the thread name
  • sampling profilers
    • about / Profiling
  • sequences
    • about / Sequences and laziness
    • first function / Sequences and laziness
    • rest function / Sequences and laziness
    • next function / Sequences and laziness
  • services
    • requests, throttling to / Throttling requests to services
  • setup, logging
    • about / The setup
    • dependencies / Dependencies
    • logback configuration file / The logback configuration file
    • optimization / Optimization
  • Simultaneous multithreading (SMT) / Threads and cores
  • SLF4J
    • about / Logging
    • URL / Logging
    • need for / Why SLF4J/LogBack?
  • SpyGlass
    • URL / Precomputing and caching
  • Staged Event Driven Architecture (SEDA) / Concurrent pipelines
  • stalls
    • about / Instruction scheduling
  • standard deviation
    • about / Variance and standard deviation
  • static instruction scheduling
    • about / Instruction scheduling
  • statistics terminology primer
    • about / A tiny statistics terminology primer
    • median / Median, first quartile, third quartile
    • mean / Median, first quartile, third quartile
    • first quartile / Median, first quartile, third quartile
    • third quartile / Median, first quartile, third quartile
    • boxplot / Median, first quartile, third quartile
    • periods / Median, first quartile, third quartile
    • frequency / Median, first quartile, third quartile
    • percentile / Percentile
    • standard deviation / Variance and standard deviation
    • variance / Variance and standard deviation
  • Statsd
    • about / Performance monitoring
  • StatsD
    • URL / Monitoring through logs
  • storage / Storage and networking
  • Storm
    • URL / Distributed pipelines
  • stress testing
    • about / The load, stress, and endurance tests
  • string concatenation / String concatenation
  • Stringer
    • URL / String concatenation
  • string interning
    • about / Non-numeric scalars and interning
  • strings
    • about / Non-numeric scalars and interning
  • structured approach, to performance / A structured approach to the performance
  • symbols
    • about / Non-numeric scalars and interning
  • Symmetric multiprocessing (SMP) / Interconnect

T

  • tail-call optimization (TCO)
    • about / Recursion and tail-call optimization (TCO)
  • Tesser
    • URL / Distributed pipelines
  • third quartile
    • about / Median, first quartile, third quartile
  • threads / Threads and cores
  • Threads tab
    • about / The Threads tab
    • running state / The Threads tab
    • Sleeping state / The Threads tab
    • wait state / The Threads tab
    • park state / The Threads tab
    • monitor state / The Threads tab
  • throttling
    • about / I/O batching and throttling
  • throughput
    • about / Throughput
  • throughput, performance testing
    • measuring / Measuring throughput
    • average throughput test / Average throughput test
  • Token Bucket
    • URL / Throttling requests to services
  • Tomcat
    • about / Servlet containers such as Tomcat and Jetty
  • transducer
    • about / Transducers
    • performance characteristics / Performance characteristics
  • transients
    • about / Transients
    • fast repetition / Fast repetition
  • type hints
    • about / Reflection and type hints

U

  • Universal Scalability Law
    • about / Universal Scalability Law
  • use case classification
    • about / Use case classification
    • user-facing software / The user-facing software
    • computational and data-processing tasks / Computational and data-processing tasks
    • online transaction processing (OLTP) / Online transaction processing
    • online analytical processing (OLAP) / Online analytical processing
    • batch processing / Batch processing
  • user-facing software
    • about / The user-facing software
  • USL
    • URL / Universal Scalability Law

V

  • value
    • about / Identity, value, and epochal time model
  • variable
    • about / Variables and mutation
  • variance
    • about / Variance and standard deviation
  • Visual GC tab / The Visual GC tab
  • VisualVM
    • used, for profiling code / Profiling code with VisualVM
    • URL / Profiling code with VisualVM
  • vnStat tool
    • about / I/O profiling

W

  • web-routing libraries
    • about / Web routing libraries
  • web server
    • about / Web servers
  • workload
    • about / Workload
  • write-buffer
    • about / Low-level concurrency
  • write absorption
    • about / Low-level concurrency
  • write skew
    • URL / Upping transaction consistency with ensure

Y

  • YourKit
    • URL / The Alternate profilers