I got quite a bit of reactions on my previous post “What?? Activiti needs how much memory?”.
One of the cool things that happened is that Robin Bramley ran my Activiti memory benchmark on a Raspberry Pi model B (ie 512MB) with a MySQL back-end. This was our twitter discussion:
So let me add some comments to what I said on twitter about the optimistic locking exceptions. With that little memory available, the system will be slower due to having to garbage collect an awful lot more. This means that transactions will be open longer and the chance for optimistic locking exception gets way higher.
Still, such exceptions do influence the general throughput negatively, but they do not mean the engine isn’t working correctly. As you can see in the code, I took the easiest solution and just did a retry on catching such an exception. But surely more elegant solutions exist.
Also note Robin his last comment: we’re only giving the JVM 9MB, but it will take quite a bit more (permgen etc) as reported by the operating system. But be assured, the 9MB is honored by the JVM and no more heap will be used (and a bit more for permgen probably).
Many thanks to Robin for running the tests!