Efficient implementation that uses prefetching and overlapping using (shared) buffers pools. More...
#include <stack.h>
Inherits noncopyable.
Public Member Functions | |
grow_shrink_stack2 (prefetch_pool< block_type > &p_pool_, write_pool< block_type > &w_pool_, unsigned_type prefetch_aggressiveness=0) | |
Constructs stack. | |
void | set_prefetch_aggr (unsigned_type new_p) |
Sets level of prefetch aggressiveness (number of blocks from the prefetch pool used for prefetching). | |
unsigned_type | get_prefetch_aggr () const |
Returns number of blocks used for prefetching. |
Efficient implementation that uses prefetching and overlapping using (shared) buffers pools.
grow_shrink_stack2< Config_ >::grow_shrink_stack2 | ( | prefetch_pool< block_type > & | p_pool_, | |
write_pool< block_type > & | w_pool_, | |||
unsigned_type | prefetch_aggressiveness = 0 | |||
) | [inline] |
Constructs stack.
p_pool_ | prefetch pool, that will be used for block prefetching | |
w_pool_ | write pool, that will be used for block writing | |
prefetch_aggressiveness | number of blocks that will be used from prefetch pool |
unsigned_type grow_shrink_stack2< Config_ >::get_prefetch_aggr | ( | ) | const [inline] |
Returns number of blocks used for prefetching.
void grow_shrink_stack2< Config_ >::set_prefetch_aggr | ( | unsigned_type | new_p | ) | [inline] |
Sets level of prefetch aggressiveness (number of blocks from the prefetch pool used for prefetching).
new_p | new value for the prefetch aggressiveness |
References prefetch_pool< BlockType >::hint(), and prefetch_pool< BlockType >::read().