[erlang-questions] Binary pattern matching and optimization

Vance Shipley <>
Mon Nov 24 20:27:30 CET 2008


Robert,

My thinking was that reading a big binary and then passing it 
with offsets to various parsing functions would be easier on
the emulator than creating a new binary for each one.  Is it
the case that the compiler will optimize away the creation of
these binaries?

	-Vance

On Mon, Nov 24, 2008 at 08:10:38PM +0100, Robert Virding wrote:
}  The compiler and VM is smart and optimises the matching of a binary where
}  the last segment is a binary. This makes it more efficient to use a binary
}  like a list and pick things off the front.
}  
}  *BUT* for this to work the reference to the whole binary, Bin your case,
}  must not be used after the match, then the compiler can reuse that binary
}  reference and save work. You reuse Bin and the compiler is warning you that
}  when you do this it can't do a good a job as possible.



More information about the erlang-questions mailing list