tzimmermann dot org

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

Thomas Zimmermann • Nov 17, 2017 • 10 min read

Transactional Queues and Stacks

In last week’s blog post, we’ve examined transactional linked lists, a new feature coming in picotm 0.8. In this blog post, we are going to talk about transactional queues and stacks. Like lists, both data structures will be available in picotm at the end of November.  Read →

Thomas Zimmermann • Nov 7, 2017 • 13 min read

Transactional Linked Lists

The November release of picotm will feature transactional lists. These lists can be accessed and modified concurrently by multiple transactions while respecting the transaction’s ACID properties. In this blog posts, we’re going to look at the lists’ features and interface.  Read →

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 →