[erlang-questions] Trying to understand the performance impact of binary:split/3

José Valim <>
Fri May 22 12:41:30 CEST 2015


Thanks for the fantastic reply Jay, I will look into this stuff carefully.



*José Valim*
www.plataformatec.com.br
Skype: jv.ptec
Founder and Lead Developer

On Thu, May 21, 2015 at 9:56 PM, Jay Nelson <> wrote:

> Jose wrote:
>
> > I wonder how fast it would be if binary:split/3 was written as a BIF.
>
> I wrote a BIF in 2005 for manipulating binaries. It was documented in
> an ICFP presentation and ACM paper. You can read about it, the
> erlang code, and more importantly the actual BIF code at my website
> http://duomark.com/erlang/index.html listed under the title
> “A Stream Library Using Erlang Binaries”. There are separate links
> for the HTML Briefing and Code.
>
> http://duomark.com/erlang/publications/acm2005.pdf
>
> From the abstract:
>
> "The new BIFs are shown to improve performance as much as 250
> times over native erlang functions. The reduction in memory usage
> caused by the BIFs also allows successful processing in situations
> that crashed the runtime as application functions."
>
> There is a gzip tar file that you used to be able to overlay on R10B(!!)
> to build the BIFs. But it is all contained in a single stream.c file and
> the
> corresponding BIF table entries are in the other parts of the erts and
> beam directories there, so it should be easy to adapt to the current
> release you are working with. You should be able
> to quickly get into the source and see if it meets any of your needs.
> It will require some modification, and there are manual loop unrolling
> and so forth that I did for performance, but as a rough quick test of
> whether a BIF would be helpful this might be the quickest way to get
> started.
>
> If you do achieve interesting results, be sure to add reduction count
> bumping in the BIF. This code predates the option of doing that.
>
> jay
>
>
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20150522/00beac71/attachment.html>


More information about the erlang-questions mailing list