caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* OCaml is broken
@ 2009-12-19  9:30 Erik Rigtorp
  2009-12-19  9:42 ` [Caml-list] " Stéphane Glondu
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Erik Rigtorp @ 2009-12-19  9:30 UTC (permalink / raw)
  To: caml-list

Hi!

I've been using Erlang and C++ to build a soft real-time system. As
the project has evolved we've needed to write more and more of the
code in C++ in order to achieve our latency requirements. But C++ is
not as performant as you might think until you start to write your own
allocators and cache aligning mallocs and datastructures. I've never
liked C++ so I decided to try OCaml and built a simple 100 line
program to build order books for Nasdaq. Turns out OCaml has really
competitive performance while being a really nice language.

However OCaml is broken! It does not provide any support for multicore
architectures, which by now is considered a bug! It doesn't even allow
me to load multiple runtimes into one C program.

Please fix OCaml! The first step would be to support multiple runtimes
running in the same process communicating using message queues.

Erik Rigtop


^ permalink raw reply	[flat|nested] 11+ messages in thread
* Re: OCaml is broken
@ 2009-12-19 19:38 Jeff Shaw
  2009-12-20  4:43 ` [Caml-list] " Jon Harrop
  0 siblings, 1 reply; 11+ messages in thread
From: Jeff Shaw @ 2009-12-19 19:38 UTC (permalink / raw)
  To: caml-list

My understanding is that since jocaml uses the regular ocaml runtime, it 
is also not multicore enabled.

Haskell is a functional language that has good performance that can use 
multiple processors, but the learning curve is steeper and higher.

OCaml is a close relative of Standard ML, so there might be some 
implementation of SML that you like. MLTon might allow multicore use, 
but I'm not sure how mature it is. SML/NJ has a library or language 
extension called Concurrent ML, but I think SML/NJ might not use 
multiple processors.

Note that if you're not using a lot of threads, you can use Unix.fork to 
do true multithreaded programming ocaml.


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2010-01-01 16:25 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-12-19  9:30 OCaml is broken Erik Rigtorp
2009-12-19  9:42 ` [Caml-list] " Stéphane Glondu
2009-12-19 10:38 ` Sylvain Le Gall
2009-12-19 18:22 ` [Caml-list] " Thomas Fischbacher
2009-12-20 16:18 ` Gerd Stolpmann
2009-12-21 19:55   ` Erik Rigtorp
2009-12-21 21:21     ` Sylvain Le Gall
2009-12-29 12:00       ` [Caml-list] " Richard Jones
2010-01-01 16:25 ` [Caml-list] " Florian Weimer
2009-12-19 19:38 Jeff Shaw
2009-12-20  4:43 ` [Caml-list] " Jon Harrop
2009-12-20 12:21   ` [***SPAM*** Score/Req: 10.1/8.0] " Erik Rigtorp
2009-12-20 19:38     ` Jon Harrop
2009-12-21 12:26       ` Mihamina Rakotomandimby

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).