lzo2 shows insane speed gap

Christian Weisgerber naddy at mips.inka.de
Mon Dec 29 21:58:30 UTC 2008

The archivers/lzo2 port runs a series of regression tests after the
actual build.  These tests show extremely divergent behavior on
different machines.  There are two types of machines:

Type #1:
  Running the tests takes roughly the same time as configure and
  compile did, whether it's 30 seconds on a fast machine or 10
  minutes on an old slow one.

Type #2:
  Running the tests takes much, much, MUCH longer.

I've tried this across alpha, amd64, i386, and sparc64, partially
on FreeBSD, partially on OpenBSD.  The operating system doesn't
matter and there is no pattern related to endianness or 32/64 bits.

You can find machines that are the same architecture (e.g. amd64)
and are of similar overall speed (e.g. an Intel Xeon Xeon E5405 and
an AMD Phenom 9350e) and one of these machines will be type #1 and
the other will be #2 and take _a hundred_ times longer to run the
tests.  A hundred times.

I have never seen anything like this before.

On the "slow" machines, the tests also consume a lot of system time.
I've seen figures from 20 to 50%.  However, ktrace shows nothing
out of the ordinary.

My best guess at this time is that lzo2 somehow manages to induce
crazy cache thrashing on some CPU models.

Ideas and explanations welcome.

Christian "naddy" Weisgerber                          naddy at mips.inka.de

More information about the freebsd-hackers mailing list