transaction blog

transaction blog is the website and blog of Thomas Zimmermann. Topics are picotm, transactions, and low-level software development.
On the web: 

Thomas Zimmermann • Oct 20, 2017 • 10 min read

Scaling Lock Performance

Release 0.7 of picotm will feature several major improvements of the locking code. In this blog post, we’re going to look at each change and how it impacts performance and scalability. We’ll go from exclusive locks to reader/writer locks to exclusive mode to a dedicated lock manager.  Read →

Thomas Zimmermann • Oct 6, 2017 • 7 min read

When realloc() Doesn't Allocate

I recently wrote about correct error handling for malloc(). Coincidently I came across an older defect report on the behavior of C’s realloc() function just a few days ago. In this blog post, we’re going to look at realloc()’s behavior if it’s out of memory or if the requested size is zero.  Read →

Thomas Zimmermann • Sep 27, 2017 • 11 min read

Benchmark Visualization with LaTeX and gnuplot

Visualizing benchmark results is an important step in performance testing. In this blog post, we’re going to use LaTeX, gnuplot and Perl to convert raw performance data into a nice-looking PDF document.  Read →

Thomas Zimmermann • Sep 8, 2017 • 6 min read

malloc()'s Tricky Error Reporting

Most error checks for malloc() are incorrect. In this blog post, we’re going to look at the details of malloc()’s error reporting semantics and how to test if a call to malloc() succeeded.  Read →

Thomas Zimmermann • Sep 1, 2017 • 10 min read

The Internals of Unix Pipes and FIFOs

There is a series of blog posts examining the details of files and file descriptors, etc on Linux and Unix. This installment continues with the details of Unix FIFOs, how they work internally, and how they are used for communicating between processes.  Read →