-
Software Development
Simple Binary Encoding
Financial systems communicate by sending and receiving vast numbers of messages in many different formats. When people use terms like…
Read More » -
Core Java
Java Garbage Collection Distilled
Serial, Parallel, Concurrent, CMS, G1, Young Gen, New Gen, Old Gen, Perm Gen, Eden, Tenured, Survivor Spaces, Safepoints, and the…
Read More » -
Core Java
Printing Generated Assembly Code From The Hotspot JIT Compiler
Sometimes when profiling a Java application it is necessary to understand the assembly code generated by the Hotspot JIT compiler.…
Read More » -
Software Development
CPU Cache Flushing Fallacy
Even from highly experienced technologists I often hear talk about how certain operations cause a CPU cache to ‘flush’. This…
Read More » -
Core Java
Compact Off-Heap Structures/Tuples In Java
In my last post I detailed the implications of the access patterns your code takes to main memory. Since then…
Read More » -
Software Development
Modelling Is Everything
I’m often asked, “What is the best way to learn about building high-performance systems”? There are many perfectly valid answers…
Read More » -
Core Java
Memory Access Patterns Are Important
In high-performance computing it is often said that the cost of a cache-miss is the largest performance penalty for an…
Read More » -
Software Development
Single Writer Principle
When trying to build a highly scalable system the single biggest limitation on scalability is having multiple writers contend for…
Read More » -
Enterprise Java
Smart Batching
How often have we all heard that “batching” will increase latency? As someone with a passion for low-latency systems this…
Read More »
- 1
- 2