Monthly Archives: January 2011

Revving up a benchmark: from 626 to 74000 operations per second

[Note: K.S.Baskar has responded to my post┬áhere. I have more to say on this here]. I started looking at the 3n+1 benchmark described here to see how well BDB fared against GT.M (the language formally known as MUMPS). I built … Continue reading

Posted in Uncategorized | 12 Comments

Doing the splits

Back to the land of ‘what-if’. Last time we talked about prefetch and what it might buy us. Today we’re talking about yet another BDB non-feature: presplit. The concept is motivated by a use case where we are pumping lots … Continue reading

Posted in Uncategorized | Leave a comment

Playing Fetch

We’re going to visit the land of ‘what-if’ today and talk about a non-feature of BDB. ┬áThis continues the thread of speculative optimizations that I wrote about last week. In some operating systems, older ones especially, there is a concept … Continue reading


Posted in Uncategorized | 2 Comments

When trickle doesn’t work

In a past column, I’ve mentioned memp_trickle as a way to get beyond the double I/O problem. And it often works well for this, but there are times when it doesn’t. Trickle is a sort of optimization that I would … Continue reading

Posted in Uncategorized | 2 Comments

Readonly DB Reloaded

If you have a ‘readonly’ Btree database in BDB, you might benefit by this small trick that has multiple benefits. The trick is to reload the database. You’ll get a compact file with blocks appearing in order. Perhaps you’re using … Continue reading

Posted in Uncategorized | 3 Comments