Going with AnyEvent/EV was a costly mistake for our project. Due to our particular circumstances (tight schedule/funding), we were relatively intolerant of bugs showing up in the platform and one did:
Timer events were getting lost under heavy load.
Ordinarily, we would have contacted the author to work through the problem but two things mitigated against this:
1) We just couldn't risk our critical path to someone not directly answerable to our project.
2) We would benefit by going to mulitcore anyway.
We went ahead and opted for an IPC approach. The rewrite took 2 weeks.
Still broken on OS X 10.7. Author was notified and given patch to make it work, but instead of fixing, he tells users to manually install using a different compiler.
Update: it now builds fine on on OS X.
Horrible support. Author auto-responds with rant when RT ticket is created. Then ignores email requests. Somebody else had same issue as me and this was his response:
Just like Coro, bad author, great code.
This is an awesome module. Marc has put in a ton of effort to make EV _work_, including finding, reporting and working around serious bugs in the linux kernel.
What really impresses me is how lightweight and fast it is, combined with an easy and elegant interface. If you're dealing with a lot of sockets, files, children, and/or timers asynchronously, EV most likely won't let you down.
I've used it in several projects and it's never acted weird or gotten in the way.
Thanks Marc, for this great module.
2 hidden unhelpful reviews