[erlang-questions] CNODE performance question

Jesper Louis Andersen jesper.louis.andersen@REDACTED
Mon May 9 15:59:05 CEST 2016


On Sun, May 8, 2016 at 2:11 AM, Matthew Evans <mattevans123@REDACTED>
wrote:

> The NIF code was getting a bit flakey so we made the call to implement it
> as a CNODE instead to avoid the NIF taking down the VM if it crashed.


I recently wrote a wrapper for OCaml so I could start a port program and
ferry operations to that. If you pipelined requests (not waiting for an
answer before sending the next request), the overhead amortized to roughly
1us. I could carry out about one million reqs/s utilizing a scheduler core
in Erlang and around 0.68 core in OCaml.

At this point, I decided it was fast enough for most of the work I'd
normally send to a foreign process for external work. If a request
completed over there in, say, 3ms, then the 1us overhead is small enough
that I wouldn't worry.

Requests waiting synchronously for an answer were about 30.000 reqs/s.


-- 
J.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20160509/18a583c5/attachment.htm>


More information about the erlang-questions mailing list