Finding Bytes in Arrays

Dependency Management as Revenue Capture

Multidimensional Switches


Vectorised Byte Operations

Classifying Documents

Does Inlined Mean Streamlined? Part 1: Escape Analysis

Garbage Collectors Affect Microbenchmarks

Observing Memory Level Parallelism with JMH

Mixing Vector and Scalar Instructions

Vectorised Polynomial Hash Codes

Base64 Encoding

Collaborative Compression

Obfuscated Compressibility

UUIDs and Compressibility

Limiting Factors in a Dot Product Calculation

Vectorised Algorithms in Java


Data Driven Logic

Garbage Collector Code Artifacts: Card Marking

Parallel Bitmap Aggregation

Collecting Rocks and Benchmarks

Population Count in Java

Floating Point: Manual Unrolling or Autovectorisation?

Iterating Over a Bitset in Java

Faster Floating Point Reductions

Building RoaringBitmaps from Streams

Matrix Multiplication Revisited

Sum of Squares

The Much Aligned Garbage Collector

Multiplying Matrices, Fast and Slow

Autovectorised FMA in JDK10

Spliterator Characteristics and Performance

Don’t Fear the Builder

Beware Collection Factory Methods

Is XOR Distributive over Addition?

Incidental Similarity

Vectorised Logical Operations in Java 9

Blocked Signatures

Bit-Sliced Signatures and Bloom Filters

Building a Bloom Filter from Scratch

Tricking Java into Adding Up Arrays Faster

How much Algebra does C2 Know? Part 2: Distributivity

Confusing Sets and Lists

How much Algebra does C2 Know? Part 1: Associativity

Zeroing Negative Values in Arrays Efficiently

Project Panama and Population Count

Explicit Intent and Even Faster Hash Codes

Still True in Java 9: Handwritten Hash Codes are Faster

New Methods in Java 9: Math.fma and Arrays.mismatch

Interpreting Compression Ratios as Signals

Roaring TreeMap (English Translation)

Choosing the Right Radix: Measurement or Mathematics?

Sorting Unsigned Integers Faster in Java

Microsecond Latency Rules Engine with RoaringBitmap

HTTP Content Negotiation

Publishing Dropwizard Metrics to Kafka

A Quick Look at RoaringBitmap

How a Bitmap Index Works

Advanced AOP with Guice Type Listeners

Lifecycle Management with Guice Provision Listeners

Tuning Spark Back Pressure by Simulation

Concise Binary Object Representation

Perpetual Kerberos Login in Hadoop

Co-locating Spark Partitions with HBase Regions

HBase Connection Management