Keep in mind that lists:reverse does not reverse a list, but instead change the walking direction and the starting point...<br><br><br><div class="gmail_quote">On Thu, Oct 27, 2011 at 12:11 PM, Ward Bekker <span dir="ltr"><<a href="mailto:ward@tty.nl">ward@tty.nl</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><u></u>

<div>
Hi Michael,<div><br></div><div>Yes, Funs will give overhead. Badly chosen example code on my part.</div><div><br></div><div>But still the rev2 example is on my machine still twice or trice as slow (YMMV) than a list:reverse. </div>
<div><br></div><div>I want to see what can be done to bring a binary reverse on par with a list reverse. I would, naïvely, expect a binary reverse to be faster than a erlang list reverse.</div><div><br></div><div>Regards,</div>
<div><br></div><div>Ward</div><div><br></div><div><br><blockquote style="padding-left:5px;margin-left:5px;border-left:#0000ff 2px solid;margin-right:0px"><hr><b>From:</b> Michael Uvarov [mailto:<a href="mailto:freeakk@gmail.com" target="_blank">freeakk@gmail.com</a>]<br>
<b>To:</b> Ward Bekker [mailto:<a href="mailto:ward@tty.nl" target="_blank">ward@tty.nl</a>]<br><b>Sent:</b> Thu, 27 Oct 2011 10:33:12 +0200<br><b>Subject:</b> Re: [erlang-questions] Fast binary reverse<div class="im"><br>
<br>Just don't use anonymous functions.<br>
<br>
<code><br>
-module(bin).<br>
-export([rev1/1, rev2/1]).<br>
<br>
<br></div>
rev1(B) -><div class="im"><br>
    S = size(B)*8,<br>
    <<X:S/integer-little>>=B,<br></div><div class="im">
    <<X:S/integer-big>>.<br>
<br>
rev2(B) -><br>
    binary:list_to_bin(<br>
        lists:reverse(<br>
            binary:bin_to_list(B))).<br>
</code><br>
<br>
<br>
29>  timer:tc(bin,rev2,[<<"teribly">>]).<br>
{5,<<"ylbiret">>}<br>
30>  timer:tc(bin,rev1,[<<"teribly">>]).<br>
{11,<<"ylbiret">>}<br>
<br>
--<br>
Best regards,<br>
Uvarov Michael<br>
</div></blockquote>
</div></div><br>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br></blockquote></div><br>