Be warned: the main source code in the 'src' directory
is a real pain to understand as I've experimented with
hundreds of slightly different versions. It contains
many #if and some gotos, and is *completely optimized
for speed* and not for readability. Code sharing of the
different algorithms is implemented by stressing the
preprocessor - this can be really confusing. Lots of
marcos and assertions don't make things better.
Given the author's statements, I don't know that I'd feel comfortable using LZO in a production environment.
We used it in our games since Ultimate Spiderman. I've got assembly version working on the PS2 IOP chip (33Mhz, the chip used to run PS1 games, otherwise I/O and sound for PS2).
I've got 5mb/s decompressed data speed, so that was speeding our disk access. I had to tweak just a little bit the source code and make sure unaligned writes (4 bytes) were used and that made it x2 or x3 faster.