<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Array Layouts for Comparison-Based Searching · HackerPapers discussions</title><link>https://hackerpaper.kaipfister.de/p/1509.05053/</link><description>Collected HN comments and submissions linking this paper.</description><language>en</language><lastBuildDate>Mon, 02 Nov 2026 11:16:22 GMT</lastBuildDate><atom:link href="https://hackerpaper.kaipfister.de/p/1509.05053/feed.xml" rel="self" type="application/rss+xml" /><item><title>Array Layouts for Comparison-Based Searching — mentioned by mananaysiempre</title><link>https://news.ycombinator.com/item?id=48957181</link><guid isPermaLink="false">urn:hackerpapers:mention:1509.05053:48957181</guid><pubDate>Sat, 18 Jul 2026 11:47:23 GMT</pubDate><description>&lt;p&gt;That one’s cache-oblivious so nominally the right answer if you don’t know how your cache works or have to deal with several of them at once, but the constants are bad enough to make it impractical[1,2]. Personally I’ve been on the lookout for a good vEB implementation for a while: there’s like one of them on the whole Internet, and it does things like recurse while figuring out where the next node down is, so no wonder it’s slow; and when I look at the definitions myself I can’t really figure out a faster way of doing it either. [1] http://arxiv.org/abs/1509.05053 [2]…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1509.05053/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.DS</category></item><item><title>Array Layouts for Comparison-Based Searching — mentioned by aidenn0</title><link>https://news.ycombinator.com/item?id=47971905</link><guid isPermaLink="false">urn:hackerpapers:mention:1509.05053:47971905</guid><pubDate>Fri, 01 May 2026 06:49:35 GMT</pubDate><description>&lt;p&gt;Thanks for that name; that&amp;#x27;s the exact layout I was considering. See also https://arxiv.org/abs/1509.05053&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1509.05053/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.DS</category></item><item><title>Array Layouts for Comparison-Based Searching — HN submission</title><link>https://news.ycombinator.com/item?id=47230949</link><guid isPermaLink="false">urn:hackerpapers:submission:1509.05053:47230949</guid><pubDate>Tue, 03 Mar 2026 11:32:57 GMT</pubDate><description>&lt;p&gt;Array Layouts for Comparison-Based Searching (2017)&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;2 points; 0 discussion replies on HN. &lt;a href="https://hackerpaper.kaipfister.de/p/1509.05053/"&gt;Paper and source history&lt;/a&gt;. A submission is not an endorsement.&lt;/p&gt;</description><category>cs.DS</category></item><item><title>Array Layouts for Comparison-Based Searching — mentioned by pkhuong</title><link>https://news.ycombinator.com/item?id=42204012</link><guid isPermaLink="false">urn:hackerpapers:mention:1509.05053:42204012</guid><pubDate>Thu, 21 Nov 2024 13:14:00 GMT</pubDate><description>&lt;p&gt;auto length = last - first; while (length &amp;gt; 0) { auto half = length / 2; if (comp(first[half], value)) { // length - half equals half + length % 2 first += length - half; } length = half; } return first; can be restructured with a conditional `first += half` and instead `length -= half` (see, e.g., Listing 2 in https://arxiv.org/abs/1509.05053). Doing it this way requires one final comparison when `length &amp;gt; 0` on entry, because the while condition is `length &amp;gt; 1`, but moves the subtraction off the critical path.&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1509.05053/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.DS</category></item><item><title>Array Layouts for Comparison-Based Searching — mentioned by ot</title><link>https://news.ycombinator.com/item?id=30377376</link><guid isPermaLink="false">urn:hackerpapers:mention:1509.05053:30377376</guid><pubDate>Thu, 17 Feb 2022 19:20:33 GMT</pubDate><description>&lt;p&gt;Very interesting post. The best results I knew of for static ordered search [1] were from the 2015 Khuong-Morin paper [2], which is not cited in the article but the author cites it in the previous post, and in their benchmarks Eytzinger+prefeching performed best. The improvement on top of that is pretty impressive. At the larger sizes, the latencies are basically 1 cache miss (~50ns). However, I have some comment on the benchmark, the iterations have no loop dependency on the previous result, so the CPU is allowed to pipeline some loads. This is rarely representative of real workloads, where…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1509.05053/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.DS</category></item><item><title>Array Layouts for Comparison-Based Searching — HN submission</title><link>https://news.ycombinator.com/item?id=28989690</link><guid isPermaLink="false">urn:hackerpapers:submission:1509.05053:28989690</guid><pubDate>Mon, 25 Oct 2021 16:25:15 GMT</pubDate><description>&lt;p&gt;Array Layouts for Comparison-Based Searching&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;2 points; 1 discussion reply on HN. &lt;a href="https://hackerpaper.kaipfister.de/p/1509.05053/"&gt;Paper and source history&lt;/a&gt;. A submission is not an endorsement.&lt;/p&gt;</description><category>cs.DS</category></item><item><title>Array Layouts for Comparison-Based Searching — mentioned by lifthrasiir</title><link>https://news.ycombinator.com/item?id=23895368</link><guid isPermaLink="false">urn:hackerpapers:mention:1509.05053:23895368</guid><pubDate>Mon, 20 Jul 2020 07:02:16 GMT</pubDate><description>&lt;p&gt;&amp;gt; That is because you no longer need to compute a mid-point at every iteration, those are now pre-computed in the ordered array. This is called the Eytzinger layout [1]. [1] https://arxiv.org/abs/1509.05053&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1509.05053/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.DS</category></item><item><title>Array Layouts for Comparison-Based Searching — mentioned by pubby</title><link>https://news.ycombinator.com/item?id=23894694</link><guid isPermaLink="false">urn:hackerpapers:mention:1509.05053:23894694</guid><pubDate>Mon, 20 Jul 2020 04:36:41 GMT</pubDate><description>&lt;p&gt;The more recent results (by the same author) is this paper: https://arxiv.org/pdf/1509.05053.pdf The conclusion is still that CMOV is best, but once the data stops fitting in the cache there&amp;#x27;s alternatives worth considering.&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1509.05053/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.DS</category></item><item><title>Array Layouts for Comparison-Based Searching — mentioned by Arcuru</title><link>https://news.ycombinator.com/item?id=23213190</link><guid isPermaLink="false">urn:hackerpapers:mention:1509.05053:23213190</guid><pubDate>Sun, 17 May 2020 16:46:01 GMT</pubDate><description>&lt;p&gt;Reminds me of this paper on binary search, which also shows a speed up using branch-free comparisons. &amp;quot;Array Layouts for Comparison-Based Searching&amp;quot; https://arxiv.org/pdf/1509.05053.pdf&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1509.05053/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.DS</category></item><item><title>Array Layouts for Comparison-Based Searching — HN submission</title><link>https://news.ycombinator.com/item?id=18217944</link><guid isPermaLink="false">urn:hackerpapers:submission:1509.05053:18217944</guid><pubDate>Mon, 15 Oct 2018 07:12:17 GMT</pubDate><description>&lt;p&gt;Array Layouts for Comparison-Based Searching&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;2 points; 0 discussion replies on HN. &lt;a href="https://hackerpaper.kaipfister.de/p/1509.05053/"&gt;Paper and source history&lt;/a&gt;. A submission is not an endorsement.&lt;/p&gt;</description><category>cs.DS</category></item><item><title>Array Layouts for Comparison-Based Searching — mentioned by jsnell</title><link>https://news.ycombinator.com/item?id=14602374</link><guid isPermaLink="false">urn:hackerpapers:mention:1509.05053:14602374</guid><pubDate>Wed, 21 Jun 2017 09:51:40 GMT</pubDate><description>&lt;p&gt;Have a look at https://arxiv.org/abs/1509.05053 from pkhuong. They discuss this issue and other variants that paper. So e.g. branchless binary search, the branchy binary search + speculative execution as a form of prefetching, branchless binary search with explicit prefetching.&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1509.05053/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.DS</category></item><item><title>Array Layouts for Comparison-Based Searching — HN submission</title><link>https://news.ycombinator.com/item?id=14331295</link><guid isPermaLink="false">urn:hackerpapers:submission:1509.05053:14331295</guid><pubDate>Sat, 13 May 2017 15:01:07 GMT</pubDate><description>&lt;p&gt;Array Layouts for Comparison-Based Searching&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;59 points; 3 discussion replies on HN. &lt;a href="https://hackerpaper.kaipfister.de/p/1509.05053/"&gt;Paper and source history&lt;/a&gt;. A submission is not an endorsement.&lt;/p&gt;</description><category>cs.DS</category></item><item><title>Array Layouts for Comparison-Based Searching — HN submission</title><link>https://news.ycombinator.com/item?id=12369323</link><guid isPermaLink="false">urn:hackerpapers:submission:1509.05053:12369323</guid><pubDate>Fri, 26 Aug 2016 21:10:19 GMT</pubDate><description>&lt;p&gt;Array Layouts for Comparison-Based Searching&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;2 points; 0 discussion replies on HN. &lt;a href="https://hackerpaper.kaipfister.de/p/1509.05053/"&gt;Paper and source history&lt;/a&gt;. A submission is not an endorsement.&lt;/p&gt;</description><category>cs.DS</category></item><item><title>Array Layouts for Comparison-Based Searching — HN submission</title><link>https://news.ycombinator.com/item?id=11546663</link><guid isPermaLink="false">urn:hackerpapers:submission:1509.05053:11546663</guid><pubDate>Fri, 22 Apr 2016 02:21:49 GMT</pubDate><description>&lt;p&gt;Array Layouts for Comparison-Based Searching&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;1 point; 0 discussion replies on HN. &lt;a href="https://hackerpaper.kaipfister.de/p/1509.05053/"&gt;Paper and source history&lt;/a&gt;. A submission is not an endorsement.&lt;/p&gt;</description><category>cs.DS</category></item><item><title>Array Layouts for Comparison-Based Searching — HN submission</title><link>https://news.ycombinator.com/item?id=10446295</link><guid isPermaLink="false">urn:hackerpapers:submission:1509.05053:10446295</guid><pubDate>Sun, 25 Oct 2015 07:47:09 GMT</pubDate><description>&lt;p&gt;Array Layouts for Comparison-Based Searching&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;2 points; 0 discussion replies on HN. &lt;a href="https://hackerpaper.kaipfister.de/p/1509.05053/"&gt;Paper and source history&lt;/a&gt;. A submission is not an endorsement.&lt;/p&gt;</description><category>cs.DS</category></item><item><title>Array Layouts for Comparison-Based Searching — mentioned by nkurz</title><link>https://news.ycombinator.com/item?id=10411492</link><guid isPermaLink="false">urn:hackerpapers:mention:1509.05053:10411492</guid><pubDate>Mon, 19 Oct 2015 06:50:22 GMT</pubDate><description>&lt;p&gt;I try to refrain from purely negative commentary on articles, but yuck! How can one hope to say anything useful about &amp;quot;memory performance&amp;quot; without once using the terms &amp;quot;latency&amp;quot; or &amp;quot;bandwidth&amp;quot;? Memory performance is getting higher in the same way that processor performance is going up: http://www.corsair.com/en-us/blog/2015/september/ddr3_vs_ddr... Latency is to frequency as bandwidth is to parallelism. Single core CPU frequencies are relatively stable, but parallelism offers the opportunity to get more done each cycle. Latency for random access is holding quite steady, but caches are getting…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1509.05053/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.DS</category></item><item><title>Array Layouts for Comparison-Based Searching — mentioned by nkurz</title><link>https://news.ycombinator.com/item?id=10396297</link><guid isPermaLink="false">urn:hackerpapers:mention:1509.05053:10396297</guid><pubDate>Thu, 15 Oct 2015 22:00:45 GMT</pubDate><description>&lt;p&gt;Just came across a good paper that discusses these issues: http://arxiv.org/pdf/1509.05053v1 The approach it from a different angle, but come to similar conclusions: Our conclusion is contrary to our expectations and to previous findings and goes against conventional wisdom, which states that accesses to RAM are slow, and should be minimized. A more accurate statement, that accounts for our findings, is that accesses to RAM have high latency and this latency needs to be mitigated. ... Our results show that, in a processor that has speculative execution, one can obtain many of the benefits of…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1509.05053/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.DS</category></item><item><title>Array Layouts for Comparison-Based Searching — HN submission</title><link>https://news.ycombinator.com/item?id=10395328</link><guid isPermaLink="false">urn:hackerpapers:submission:1509.05053:10395328</guid><pubDate>Thu, 15 Oct 2015 19:20:47 GMT</pubDate><description>&lt;p&gt;Array Layouts for Comparison-Based Searching (Khuong and Morin, 2015)&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;2 points; 0 discussion replies on HN. &lt;a href="https://hackerpaper.kaipfister.de/p/1509.05053/"&gt;Paper and source history&lt;/a&gt;. A submission is not an endorsement.&lt;/p&gt;</description><category>cs.DS</category></item></channel></rss>
