Skip to content

Commit b8ae298

Browse files
committed
added telescopic prefetch to iterator::operator(++|--)
1 parent 13006eb commit b8ae298

1 file changed

Lines changed: 2 additions & 0 deletions

File tree

boost/container/hub.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -440,6 +440,7 @@ class iterator
440440
auto mask = pbb->mask & (full << 1 << n);
441441
if(BOOST_UNLIKELY(mask == 0)) {
442442
pbb = pbb->next;
443+
BOOST_CONTAINER_HUB_PREFETCH(pbb->next->next);
443444
BOOST_CONTAINER_HUB_PREFETCH_BLOCK(pbb->next, block);
444445
mask = pbb->mask;
445446
}
@@ -459,6 +460,7 @@ class iterator
459460
auto mask = pbb->mask & (full >> 1 >> (N - 1 - n));
460461
if(BOOST_UNLIKELY(mask == 0)) {
461462
pbb = pbb->prev;
463+
BOOST_CONTAINER_HUB_PREFETCH(pbb->prev->prev);
462464
BOOST_CONTAINER_HUB_PREFETCH_BLOCK(pbb->prev, block);
463465
mask = pbb->mask;
464466
}

0 commit comments

Comments
 (0)