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.
Via reddit.com, Case
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 …
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:
https://boston.conman.org/2000/08/01
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
important.
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.