[erlang-questions] Optimization for the ++ operator

José Valim <>
Fri Jun 1 10:46:28 CEST 2012


>
> The '++' operator does not verify that the second argument is a list.
> Therefore, the compiler will rewrite the first expression to simply:
>
> [$F,$o,$o|Bar]
>

Yes, thanks. For some weird reason I thought Erlang restricted the right
side to be a list in such cases.


> Have you made sure that you run each test in a newly spawned process?

Do you run the test for long enough time?
>

Running in a newly spawned process did the trick, the results are now
consistent.
I was already running it 1000 times, here is the code (without using spawn):

https://www.refheap.com/paste/2954

I assume having a "clean" heap (reducing the chance of garbage collection)
is the reason why it is a good idea to run benchmarks in a newly spawned
process?

Thanks Björn!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20120601/e6691b86/attachment.html>


More information about the erlang-questions mailing list