My first guess would be that MySQL is fastre than HSQL, especially with such a high load.
HyperSQL seems to be quite fast for few transactions, but gives problems with lots of transactions. Have no specific numbers.
Postgresql with 512Mb SHM handles 10000 messages in 100 seconds at fastest, but gets slower as time goes bye. Problably needs vacuum every 10 seconds :)
Mysql seems to be faster than Postgresql, but not breathtakingly so.l
File based pm does 10000 transactions in anything between 12 and 19 seconds.
Rollinglogged should be faster, but not much on Linux.
Above facts and guesses based on:
Gentoo Linux 2.4.20.
Dual processor 2.8GHz Xeon IBM xseries335, with SCSI320 disks,
Linux, JBoss 3.2.2, small messages, sending not receiving, using a cheap laptop...
On my machine, I got around 1000-1500 messages per second for the rolling logged PM. The important part is to set the rollover size to something large, around 500. It's definitely the fastest PM. It has some big problems with generating too many open files and if you keep old messages it can generate even more. It also tends to keep large files around. (I wouldn't use it for mission-critical work because of those reasons.)
HSQL gave me around 750 per second. HSQL 1.72 which is coming out soon, should be a lot faster.
The file PM was around 270 per second. I suspect it may be due to the fact that thousands of files were in a single directory.
Numbers of course vary based on your CPU, OS, filesystem, type and size of message.