<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Large Binary Data is (not) a Weakness of Erlang</title>
	<atom:link href="http://metalinguist.wordpress.com/2007/07/09/largbe-binary-data-is-a-weakness-of-erlang/feed/" rel="self" type="application/rss+xml" />
	<link>http://metalinguist.wordpress.com/2007/07/09/largbe-binary-data-is-a-weakness-of-erlang/</link>
	<description>Computer Languages, Programming, and Free Software</description>
	<lastBuildDate>Mon, 06 Apr 2009 02:59:08 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Philip Robinson</title>
		<link>http://metalinguist.wordpress.com/2007/07/09/largbe-binary-data-is-a-weakness-of-erlang/#comment-30</link>
		<dc:creator>Philip Robinson</dc:creator>
		<pubDate>Thu, 12 Jul 2007 12:17:48 +0000</pubDate>
		<guid isPermaLink="false">http://metalinguist.wordpress.com/2007/07/09/largbe-binary-data-is-a-weakness-of-erlang/#comment-30</guid>
		<description>&gt; the original blog author should be happy.

I am indeed. :-)

I posted that entry on the off chance that someone else might run into this rare problem and need a quick solution.  Having the issue treated as a bug and fixed in the language itself was a most pleasant surprise.</description>
		<content:encoded><![CDATA[<p>&gt; the original blog author should be happy.</p>
<p>I am indeed. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>I posted that entry on the off chance that someone else might run into this rare problem and need a quick solution.  Having the issue treated as a bug and fixed in the language itself was a most pleasant surprise.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Top Posts &#171; WordPress.com</title>
		<link>http://metalinguist.wordpress.com/2007/07/09/largbe-binary-data-is-a-weakness-of-erlang/#comment-29</link>
		<dc:creator>Top Posts &#171; WordPress.com</dc:creator>
		<pubDate>Wed, 11 Jul 2007 00:02:46 +0000</pubDate>
		<guid isPermaLink="false">http://metalinguist.wordpress.com/2007/07/09/largbe-binary-data-is-a-weakness-of-erlang/#comment-29</guid>
		<description>[...] Large Binary Data is (not) a Weakness of Erlang Update: Good news in the comments, with some good details. To sum up: split_binary/2 is the call to use. Binaries are [&#8230;] [...]</description>
		<content:encoded><![CDATA[<p>[...] Large Binary Data is (not) a Weakness of Erlang Update: Good news in the comments, with some good details. To sum up: split_binary/2 is the call to use. Binaries are [&#8230;] [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Per Gustafsson</title>
		<link>http://metalinguist.wordpress.com/2007/07/09/largbe-binary-data-is-a-weakness-of-erlang/#comment-28</link>
		<dc:creator>Per Gustafsson</dc:creator>
		<pubDate>Tue, 10 Jul 2007 14:41:03 +0000</pubDate>
		<guid isPermaLink="false">http://metalinguist.wordpress.com/2007/07/09/largbe-binary-data-is-a-weakness-of-erlang/#comment-28</guid>
		<description>Selecting slices in binaries is O(1). The reason there were problems to skip ahead in binaries was because binary pattern matching did not handle bignums correctly. This will be fixed in the next release.

There is a danger in referencing binaries which can lead to wasted memory as you mentioned. As far as I know the gc does nothing to fix this.

There is already built in functions to handle binaries e.g. split_binary/2. Which divides a binary into two at O(1) cost.

If you want to have large binaries handled correctly now you should use a 64-bit machine, this holds true even if pattern matching is fixed. Because the sizes of binaries on 32-bit machines is limited. Definitely to smaller than 4 GB, but the limit is perhaps even smaller than that.</description>
		<content:encoded><![CDATA[<p>Selecting slices in binaries is O(1). The reason there were problems to skip ahead in binaries was because binary pattern matching did not handle bignums correctly. This will be fixed in the next release.</p>
<p>There is a danger in referencing binaries which can lead to wasted memory as you mentioned. As far as I know the gc does nothing to fix this.</p>
<p>There is already built in functions to handle binaries e.g. split_binary/2. Which divides a binary into two at O(1) cost.</p>
<p>If you want to have large binaries handled correctly now you should use a 64-bit machine, this holds true even if pattern matching is fixed. Because the sizes of binaries on 32-bit machines is limited. Definitely to smaller than 4 GB, but the limit is perhaps even smaller than that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Per Melin</title>
		<link>http://metalinguist.wordpress.com/2007/07/09/largbe-binary-data-is-a-weakness-of-erlang/#comment-27</link>
		<dc:creator>Per Melin</dc:creator>
		<pubDate>Tue, 10 Jul 2007 12:18:00 +0000</pubDate>
		<guid isPermaLink="false">http://metalinguist.wordpress.com/2007/07/09/largbe-binary-data-is-a-weakness-of-erlang/#comment-27</guid>
		<description>You can create a binary as a pointer into another binary:

    {_, B2} = split_binary(B1, 4711).

And, from the Erlang FAQ:
&quot;Normal data in Erlang is put on the process heap, which is garbage collected. Large binaries, on the other hand, are reference counted.&quot;</description>
		<content:encoded><![CDATA[<p>You can create a binary as a pointer into another binary:</p>
<p>    {_, B2} = split_binary(B1, 4711).</p>
<p>And, from the Erlang FAQ:<br />
&#8220;Normal data in Erlang is put on the process heap, which is garbage collected. Large binaries, on the other hand, are reference counted.&#8221;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
