Hi Nick, it's indeed me.
I did not benchmark it against dbm or against memcache. I noticed in APR some client code to connect to a memcached server and my first instinct tells me that connecting through a socket (I assume) to another server process gives a basic performance overhead, even if it is a local socket through IPC (does memcache support this?, either way, you have at least the cost of the context switching between the httpd request worker process and the memcached process for each look-up) so I did not investigate further into using the memcache code. In stead, I continued on the shared-memory path that I had already entered before I had the need for a hash table. Obviously I might have been completely wrong on my assumption that memcached is a separate process, not integrated in the httpd request worker process.Please feel free to include them in a future version of APR.Thanks. Looks good on the 5-second glance. Could well be worth adopting! Have you benchmarked it against dbm or memcache, and would you think it a good socache backend?
-- Nick Kew