--
>>>>>>>>>> Read the docs: http://akka.io/docs/
>>>>>>>>>> Check the FAQ: http://akka.io/faq/
>>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
---
You received this message because you are subscribed to the Google Groups "Akka User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+...@googlegroups.com.
To post to this group, send email to akka...@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/groups/opt_out.
Hi Alistair,you raise an interesting question, but I guess that those who can answer it do not see much value in doing so. If you want to get help evaluating Akka for your use-case don’t be afraid to shoot a mail to in...@typesafe.com.Regards,
Roland
On Wednesday, November 6, 2013, Alistair George wrote:
Is there much experience using Akka and Scala for apps where the target latency is of order tens of microseconds rather than milliseconds. The kind of apps I'm thinking about can be done (with some difficulty) in Java - but you do have to accept that the target latency will be missed during GC pauses, and code and tune so that these are not too big and not too frequent.--I've found http://stackoverflow.com/questions/9951501/high-frequency-trading-in-the-jvm-with-scala-akka. One of the answers shows that the message-passing latency can be tuned to below one microsecond in test conditions, which is good enough. Given that I guess my biggest concern is whether it's possible to use Akka/Scala in a way that keeps the GC within bounds (but should I be worrying about other things?).It's a very general question, I know, but I'd be very interested to hear of projects that have tried it and succeeded straightforwardly/succeeded with a lot of effort/given up and rewritten it in C :).ThanksAlistair
>>>>>>>>>> Read the docs: http://akka.io/docs/
>>>>>>>>>> Check the FAQ: http://akka.io/faq/
>>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
---
You received this message because you are subscribed to the Google Groups "Akka User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscribe@googlegroups.com.
To post to this group, send email to akka...@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/groups/opt_out.
To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+...@googlegroups.com.
To post to this group, send email to akka...@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/groups/opt_out.
To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+...@googlegroups.com.
To post to this group, send email to akka...@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/groups/opt_out.
The typical Akka application is written with immutable case classes for communication and persistent collections for internal state. So for big systems, this style might add to GC pressure. Of course techniques like object pooling (which implies mutable objects) apply but it's not the standard Akka style, as you are exposed to a lot of concurrency gotchas that Akka tries to prevent. So even though it's relatively easy to write a low latency app, GC pauses might kill SLAs. This is not an Akka problem as much as a GC problem in my opinion.
I have never re-written an Akka system in C/C++ because my latency targets for Akka systems where never that aggressive. Projects where I used C++ had very strict performance requirements and or dealt with big data. I find using off heap Java features a pain, compared to C++. Controlling java object layout is also pure black magic. If you still want HFT like performance in Java/Scala the disruptor might be worth a look. The programming interface is not as easy as Akka's and you have to deal with bounded queues and explicit thread management (one thread per consumer/producer). The performance is as good as it gets IMHO though.
--
>>>>>>>>>> Read the docs: http://akka.io/docs/
>>>>>>>>>> Check the FAQ: http://akka.io/faq/
>>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
---
You received this message because you are subscribed to the Google Groups "Akka User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+...@googlegroups.com.
To post to this group, send email to akka...@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/groups/opt_out.