12 Nov 2023 How Async-Profiler's crash handler works
profiling
05 Sep 2023 Understanding Request Latency with Profiling
profiling
18 Dec 2022 Evaluating Equality Predicates
javaroaring
18 Dec 2022 Using JFR and JMC to root cause a performance bug in JMC caused by a typo in JFR
javaprofiling
27 Mar 2022 Counting over Range Predicates
javaroaring
12 Mar 2022 Evaluating Range Predicates
javaroaring
07 Mar 2022 RangeBitmap - How range indexes work in Apache Pinot
javaroaringpinot
27 Dec 2021 Performance Myths and Continuous Profiling
java
28 Nov 2021 5 Mundane Java Performance Tips
java
27 Nov 2021 Loop Fission
java
09 May 2021 JFR Event Sizes
tracing
29 Dec 2020 Don't use Protobuf for Telemetry
tracing
06 Sep 2020 The Size of Tracing Data
tracing
16 May 2020 Shrinking BSON Documents
databasesanalysis
03 May 2020 Sampling Whisky
stats
16 Apr 2020 4K Aliasing
javavector
30 Mar 2020 Population Dynamics Part 1: Population Level Models
dynamics
25 Feb 2020 Depending on Implementation Details is Bad Engineering
java
20 Feb 2020 The Official JVM Performance League Table
java
15 Feb 2020 Heuristics for Substring Search
javaparsing
07 Feb 2020 Sparse Bit Matrix Substring Search
javaparsing
26 Jan 2020 RoaringBitmap Performance Tricks
javaroaring
17 Jan 2020 Reservoir Sampling
statsjavametrics
03 Jan 2020 Maximum Likelihood Estimation
stats
24 Nov 2019 Finding Bytes in Arrays
vectorvector-apijavaparsing
01 Sep 2019 Multidimensional Switches
javapattern-matching
13 Aug 2019 XXHash
javavectorvector-apihashing
24 Jul 2019 Vectorised Byte Operations
javavector
15 Jul 2019 Classifying Documents
javapattern-matching
24 Feb 2019 Does Inlined Mean Streamlined? Part 1: Escape Analysis
javaanalysis
08 Nov 2018 Garbage Collectors Affect Microbenchmarks
javaanalysisgc
24 Sep 2018 Observing Memory Level Parallelism with JMH
javaanalysismlp
25 Aug 2018 Vectorised Polynomial Hash Codes
javavectorvector-api
12 Aug 2018 Base64 Encoding
javavectorvector-api
04 Aug 2018 Obfuscated Compressibility
compression
21 Jul 2018 UUIDs and Compressibility
compression
10 Jul 2018 Limiting Factors in a Dot Product Calculation
vector-apijavavectorfloating-point
12 May 2018 Vectorised Algorithms in Java
javavectorvector-api
08 May 2018 Stages
javaanalysismlp
07 Apr 2018 Garbage Collector Code Artifacts: Card Marking
javaanalysisgc
29 Mar 2018 Collecting Rocks and Benchmarks
javavectorhashing
05 Mar 2018 Population Count in Java
javabit-twiddling
23 Feb 2018 Iterating Over a Bitset in Java
javavectorbit-twiddlingroaringcpp
29 Jan 2018 Building RoaringBitmaps from Streams
roaring
15 Jan 2018 Matrix Multiplication Revisited
cppjavavector
03 Jan 2018 The Much Aligned Garbage Collector
javavectorgc
31 Dec 2017 Multiplying Matrices, Fast and Slow
javavector
29 Dec 2017 Autovectorised FMA in JDK10
javavectorfloating-point
14 Dec 2017 Spliterator Characteristics and Performance
javaanalysis
30 Sep 2017 Blocked Signatures
javadata-structures
26 Sep 2017 Bit-Sliced Signatures and Bloom Filters
javadata-structures
19 Sep 2017 Building a Bloom Filter from Scratch
javadata-structures
24 Jul 2017 Even Faster Hash Codes
javahashing
23 Jul 2017 Still True in Java 9: Handwritten Hash Codes are Faster
javahashing
16 Jul 2017 New Methods in Java 9: Math.fma and Arrays.mismatch
javavectorfloating-point
03 Mar 2017 Publishing Dropwizard Metrics to Kafka
metrics
01 Mar 2017 A Quick Look at RoaringBitmap
roaring
09 Jan 2017 How a Bitmap Index Works
data-structuresroaring
13 Dec 2016 Advanced AOP with Guice Type Listeners
javaguice
12 Dec 2016 Lifecycle Management with Guice Provision Listeners
javaguice
03 Dec 2016 Tuning Spark Back Pressure by Simulation
simulation
10 Nov 2016 Perpetual Kerberos Login in Hadoop
07 Nov 2016 Co-locating Spark Partitions with HBase Regions