[erlang-questions] '--' BIF to be used with caution?
Malcolm Dowse
malcolm@REDACTED
Tue Jan 13 13:04:06 CET 2009
Hello,
I ran into an issue with Erlang the other day. I'm not sure if it's a bug,
but I thought I should warn others.
I was using '--' to get the difference between two large lists. As expected
it was very slow, but, to my surprise, ERTS became completely unresponsive
for a long time. (Only one CPU was maxed out, and there was still plenty of
memory available.)
To reproduce (on Ubuntu 7.x, R12B-x), open an Erlang shell and type:
spawn(fun() -> lists:seq(1,1000000) -- lists:seq(1,1000000,2) end).
The unresponsiveness seems to be caused by '--' being a BIF. Is there a good
reason for making it a BIF if it's not always an improvement?
All the best,
Malcolm
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20090113/17babe3f/attachment.htm>
More information about the erlang-questions
mailing list