jPOS Performance
/by apr/
I recently came across a java based commercial ISO-8583 encoder/decoder kind of application that claimed to perform as much as 2000 encode/decode operations per second on an average machine. Wow! that’s fast!
They even described their benchmark, they were talking about average messages with a 16 field set and a secondary bitmap present. It was not clear to me if they were doing both operations (encode/decode) in each cycle, or just one.
I decided to give jPOS a try on an average machine [*], I created a message with said number of fields, including a secondary bitmap, and a little loop including a pack and an unpack operation. I was pleased with the result: in excess 20000 pack/unpack operations per second.
Then I decided to compare this same test against another commercial product, our own High performance, ISO-8583 C lightweight library. It was fast, but not as fast as I would expect, we get 40000+ pack/unpack operations per second, 2x compared to jPOS, but hey, that’s C, I was expecting a 5x or 10x ratio there…
The conclusions are pretty obvious to me… if you are up to, you can make Java perform slow like a turtle, and you can still charge people for it.
[*] Pentium 4, 1.6 Ghz, aprox 3k bogomips
May 7th, 2005 at 9:43 pm
Send me your test and I’ll run it on a not so average machine
May 7th, 2005 at 10:42 pm
http://jpos.org/private/PerformanceTest.java
November 1st, 2006 at 10:27 am
I forgot about this one, will run the test as soon as I get access to my blade server again…