The problem. The PHP implementation is a lot slower.
Embarrassingly slower. Without any caching the Java version is able
to do ~6000 queries per second. The PHP counterpart can push
through ~850 queries. The implementations are the same. The stats
provided by the author of the library are 8000 vs 1200. So about
the same as my measurements.
study: Is PHP embarrasingly slower than Java?
In my ever continuing obsession
with stupid benchmarks and optimization, I decided to tackle this particular
little problem like I did with Jumble—map everything into memory and avoid disk
I/O altogether (well, explicit disk
I/O—the system will page in the
data implicitly as it's used). This time, the data maps down to an
object file about 8½ megabytes in size (all constant data, so pages
can be discarded, not paged out), and with that, I was able to get ~100,000
queries per second.
On a 120MHz machine!
It didn't even take all that long to write …
Obligatory Contact Info
You have my permission to link freely to any entry here. Go
ahead, I won't bite. I promise.
The dates are the permanent links to that day's entries (or
entry, if there is only one entry). The titles are the permanent
links to that entry only. The format for the links are
simple: Start with the base link for this site: https://boston.conman.org/, then add the date you are
interested in, say 2000/08/01,
so that would make the final URL:
You can also specify the entire month by leaving off the day
portion. You can even select an arbitrary portion of time.
You may also note subtle shading of the links and that's
intentional: the “closer” the link is (relative to the
page) the “brighter” it appears. It's an experiment in
using color shading to denote the distance a link is from here. If
you don't notice it, don't worry; it's not all that
It is assumed that every brand name, slogan, corporate name,
symbol, design element, et cetera mentioned in these pages is a
protected and/or trademarked entity, the sole property of its
owner(s), and acknowledgement of this status is implied.