<?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/"
		>
<channel>
	<title>Comments on: Cache conscious hash tables</title>
	<atom:link href="http://www.stochasticgeometry.ie/2008/03/29/cache-concious-hash-tables/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.stochasticgeometry.ie/2008/03/29/cache-concious-hash-tables/</link>
	<description>Articles on random topics in Programming, Systems Administration, Academia and Industry by Mark Dennehy</description>
	<lastBuildDate>Fri, 27 Jan 2012 18:39:43 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
	<item>
		<title>By: mk</title>
		<link>http://www.stochasticgeometry.ie/2008/03/29/cache-concious-hash-tables/comment-page-1/#comment-823</link>
		<dc:creator>mk</dc:creator>
		<pubDate>Sat, 26 Jun 2010 11:21:32 +0000</pubDate>
		<guid isPermaLink="false">http://stochasticgeometry.wordpress.com/?p=36#comment-823</guid>
		<description>In the function addString():

   ...

   for (k = 0; k &gt; 16) &amp; 0xffff);


It looks like your null-terminating every string inserted into the
CChash, but the strings are length-encoded, so I don&#039;t think you
have to do this. From what I gather, only the 2D-char array needs to
be nulled. You should try removing the nulls here, it will save
space and may increase performance too. To make this work, the two
bytes used to encode the &quot;id&quot; can be stored after the
length-encode: [length-encode][id][string]</description>
		<content:encoded><![CDATA[<p>In the function addString():</p>
<p>   &#8230;</p>
<p>   for (k = 0; k &gt; 16) &amp; 0xffff);</p>
<p>It looks like your null-terminating every string inserted into the<br />
CChash, but the strings are length-encoded, so I don&#8217;t think you<br />
have to do this. From what I gather, only the 2D-char array needs to<br />
be nulled. You should try removing the nulls here, it will save<br />
space and may increase performance too. To make this work, the two<br />
bytes used to encode the &#8220;id&#8221; can be stored after the<br />
length-encode: [length-encode][id][string]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex Radzie</title>
		<link>http://www.stochasticgeometry.ie/2008/03/29/cache-concious-hash-tables/comment-page-1/#comment-727</link>
		<dc:creator>Alex Radzie</dc:creator>
		<pubDate>Thu, 20 May 2010 20:03:07 +0000</pubDate>
		<guid isPermaLink="false">http://stochasticgeometry.wordpress.com/?p=36#comment-727</guid>
		<description>It should be possible to make CCHashTable even more cache conscious by using byte arrays for storing strings instead of char arrays, this way it&#039;s likely to take half the space when UTF-8 encoded. The idea is simple -- the less data you fetch, the more cache hits you get.

And you don&#039;t seem to cache key hash code in the slot bytes along with string length. This would improve string comparison speed and probably increase overall hash table performance.</description>
		<content:encoded><![CDATA[<p>It should be possible to make CCHashTable even more cache conscious by using byte arrays for storing strings instead of char arrays, this way it&#8217;s likely to take half the space when UTF-8 encoded. The idea is simple &#8212; the less data you fetch, the more cache hits you get.</p>
<p>And you don&#8217;t seem to cache key hash code in the slot bytes along with string length. This would improve string comparison speed and probably increase overall hash table performance.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Dennehy</title>
		<link>http://www.stochasticgeometry.ie/2008/03/29/cache-concious-hash-tables/comment-page-1/#comment-489</link>
		<dc:creator>Mark Dennehy</dc:creator>
		<pubDate>Fri, 05 Mar 2010 19:10:03 +0000</pubDate>
		<guid isPermaLink="false">http://stochasticgeometry.wordpress.com/?p=36#comment-489</guid>
		<description>It was an artifact of the move from wordpress.com to wordpress.org. Should be fixed now.</description>
		<content:encoded><![CDATA[<p>It was an artifact of the move from wordpress.com to wordpress.org. Should be fixed now.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: George V. Reilly</title>
		<link>http://www.stochasticgeometry.ie/2008/03/29/cache-concious-hash-tables/comment-page-1/#comment-478</link>
		<dc:creator>George V. Reilly</dc:creator>
		<pubDate>Mon, 01 Mar 2010 02:16:36 +0000</pubDate>
		<guid isPermaLink="false">http://stochasticgeometry.wordpress.com/?p=36#comment-478</guid>
		<description>The double-encoded HTML in the code samples is an unreadable mess. Please fix.</description>
		<content:encoded><![CDATA[<p>The double-encoded HTML in the code samples is an unreadable mess. Please fix.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sandrar</title>
		<link>http://www.stochasticgeometry.ie/2008/03/29/cache-concious-hash-tables/comment-page-1/#comment-46</link>
		<dc:creator>sandrar</dc:creator>
		<pubDate>Thu, 10 Sep 2009 13:58:05 +0000</pubDate>
		<guid isPermaLink="false">http://stochasticgeometry.wordpress.com/?p=36#comment-46</guid>
		<description>Hi! I was surfing and found your blog post... nice! I love your blog.  :) Cheers! Sandra. R.</description>
		<content:encoded><![CDATA[<p>Hi! I was surfing and found your blog post&#8230; nice! I love your blog.  <img src='http://www.stochasticgeometry.ie/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Cheers! Sandra. R.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mdakin</title>
		<link>http://www.stochasticgeometry.ie/2008/03/29/cache-concious-hash-tables/comment-page-1/#comment-45</link>
		<dc:creator>mdakin</dc:creator>
		<pubDate>Wed, 24 Jun 2009 10:17:27 +0000</pubDate>
		<guid isPermaLink="false">http://stochasticgeometry.wordpress.com/?p=36#comment-45</guid>
		<description>Ok, I also tried to implement a simple String set using same tricks, I don&#039;t know but Java 6 standart HashSet implementation consistently gave better results. The problem is, Set uses String references and comparisons are basicly free because hash values of strigs are cached. So this is basically not very useful if you have the strings stored in memory as well, but could be an option to have a compact storage for character arrays. I also think your benchmark application could be flawed as well,</description>
		<content:encoded><![CDATA[<p>Ok, I also tried to implement a simple String set using same tricks, I don&#8217;t know but Java 6 standart HashSet implementation consistently gave better results. The problem is, Set uses String references and comparisons are basicly free because hash values of strigs are cached. So this is basically not very useful if you have the strings stored in memory as well, but could be an option to have a compact storage for character arrays. I also think your benchmark application could be flawed as well,</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mdakin</title>
		<link>http://www.stochasticgeometry.ie/2008/03/29/cache-concious-hash-tables/comment-page-1/#comment-44</link>
		<dc:creator>mdakin</dc:creator>
		<pubDate>Thu, 05 Feb 2009 20:41:49 +0000</pubDate>
		<guid isPermaLink="false">http://stochasticgeometry.wordpress.com/?p=36#comment-44</guid>
		<description>I think performance gains are mainly coming from the encoding of integers in the contents instead of creating new Entry objects for each integer value. I would like to see the comparison of HashSet and this implementation (without integer values) under Java 6, my bet is they would be pretty close.</description>
		<content:encoded><![CDATA[<p>I think performance gains are mainly coming from the encoding of integers in the contents instead of creating new Entry objects for each integer value. I would like to see the comparison of HashSet and this implementation (without integer values) under Java 6, my bet is they would be pretty close.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Implementing HAT-Tries in Java &#171; Stochastic Geometry</title>
		<link>http://www.stochasticgeometry.ie/2008/03/29/cache-concious-hash-tables/comment-page-1/#comment-43</link>
		<dc:creator>Implementing HAT-Tries in Java &#171; Stochastic Geometry</dc:creator>
		<pubDate>Mon, 05 May 2008 23:06:23 +0000</pubDate>
		<guid isPermaLink="false">http://stochasticgeometry.wordpress.com/?p=36#comment-43</guid>
		<description>[...] HAT-Tries in&#160;Java Filed under: General, Java &#8212; Mark Dennehy @ 0:06   As I said in an earlier post detailing the CCHashTable, it formed a part of a larger data structure, the HAT-Trie. The HAT-Trie is a recent variant on the [...]</description>
		<content:encoded><![CDATA[<p>[...] HAT-Tries in&nbsp;Java Filed under: General, Java &#8212; Mark Dennehy @ 0:06   As I said in an earlier post detailing the CCHashTable, it formed a part of a larger data structure, the HAT-Trie. The HAT-Trie is a recent variant on the [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hagen</title>
		<link>http://www.stochasticgeometry.ie/2008/03/29/cache-concious-hash-tables/comment-page-1/#comment-42</link>
		<dc:creator>Hagen</dc:creator>
		<pubDate>Tue, 01 Apr 2008 08:15:06 +0000</pubDate>
		<guid isPermaLink="false">http://stochasticgeometry.wordpress.com/?p=36#comment-42</guid>
		<description>Hello Mr Dennehy,
while I was searching for, additional informations, to the research paper written for the SPIRE 2005 conference by Nikolas Askitis and Justin Zobel, I found Your blog.

I am a student in this http://www.uni-weimar.de/cms/medien/webis/home.html research group,We are currently evaluating the opportunities, to hold large dictionary&#039;s in the main memory, for our retrieval applications.

I would like to ask You, if You would allow us to test your implementation, against our&#039;s, and do some further testing with Your code.

Please let me know, If You would agree and If You would like to get back with me to maybe discuss a little bit.

Thanks a lot, best regards
Hagen Tönnies</description>
		<content:encoded><![CDATA[<p>Hello Mr Dennehy,<br />
while I was searching for, additional informations, to the research paper written for the SPIRE 2005 conference by Nikolas Askitis and Justin Zobel, I found Your blog.</p>
<p>I am a student in this <a href="http://www.uni-weimar.de/cms/medien/webis/home.html" rel="nofollow">http://www.uni-weimar.de/cms/medien/webis/home.html</a> research group,We are currently evaluating the opportunities, to hold large dictionary&#8217;s in the main memory, for our retrieval applications.</p>
<p>I would like to ask You, if You would allow us to test your implementation, against our&#8217;s, and do some further testing with Your code.</p>
<p>Please let me know, If You would agree and If You would like to get back with me to maybe discuss a little bit.</p>
<p>Thanks a lot, best regards<br />
Hagen Tönnies</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Dennehy</title>
		<link>http://www.stochasticgeometry.ie/2008/03/29/cache-concious-hash-tables/comment-page-1/#comment-41</link>
		<dc:creator>Mark Dennehy</dc:creator>
		<pubDate>Mon, 31 Mar 2008 12:58:15 +0000</pubDate>
		<guid isPermaLink="false">http://stochasticgeometry.wordpress.com/?p=36#comment-41</guid>
		<description>Minor but important! Fixed and thanks mk.</description>
		<content:encoded><![CDATA[<p>Minor but important! Fixed and thanks mk.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mk</title>
		<link>http://www.stochasticgeometry.ie/2008/03/29/cache-concious-hash-tables/comment-page-1/#comment-40</link>
		<dc:creator>mk</dc:creator>
		<pubDate>Mon, 31 Mar 2008 11:42:56 +0000</pubDate>
		<guid isPermaLink="false">http://stochasticgeometry.wordpress.com/?p=36#comment-40</guid>
		<description>A minor typo:  its &quot;Conscious&quot; not &quot;Concious&quot;  :-)</description>
		<content:encoded><![CDATA[<p>A minor typo:  its &#8220;Conscious&#8221; not &#8220;Concious&#8221;  <img src='http://www.stochasticgeometry.ie/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
</channel>
</rss>

