proxygen
|
#include <folly/concurrency/CacheLocality.h>
#include <memory>
#include <thread>
#include <unordered_map>
#include <glog/logging.h>
#include <folly/Benchmark.h>
Go to the source code of this file.
Namespaces | |
folly | |
—— Concurrent Priority Queue Implementation —— | |
Macros | |
#define | DECLARE_SPREADER_TAG(tag, locality, func) |
Functions | |
BENCHMARK (AccessSpreaderUse, iters) | |
BENCHMARK (CachedAccessSpreaderUse, iters) | |
BENCHMARK (BaselineAtomicIncrement, iters) | |
BENCHMARK (CachedAccessSpreaderAtomicIncrement, iters) | |
template<template< typename > class Tag> | |
static void | contentionAtWidth (size_t iters, size_t stripes, size_t work) |
static void | atomicIncrBaseline (size_t iters, size_t work, size_t numThreads=32) |
static void | contentionAtWidthGetcpu (size_t iters, size_t stripes, size_t work) |
static void | contentionAtWidthThreadLocal (size_t iters, size_t stripes, size_t work) |
static void | contentionAtWidthPthreadSelf (size_t iters, size_t stripes, size_t work) |
static void | contentionAtWidthCached (size_t iters, size_t stripes, size_t work) |
BENCHMARK_DRAW_LINE () | |
int | main (int argc, char **argv) |
#define DECLARE_SPREADER_TAG | ( | tag, | |
locality, | |||
func | |||
) |
Definition at line 29 of file CacheLocalityBenchmark.cpp.
Referenced by TEST().
|
static |
Definition at line 252 of file CacheLocalityBenchmark.cpp.
References folly::BenchmarkSuspender::dismiss(), folly::doNotOptimizeAway(), i, threads, and folly::fibers::yield().
Referenced by contentionAtWidthCached().
BENCHMARK | ( | AccessSpreaderUse | , |
iters | |||
) |
Definition at line 68 of file CacheLocalityBenchmark.cpp.
References folly::AccessSpreader< Atom >::current(), folly::doNotOptimizeAway(), and i.
BENCHMARK | ( | CachedAccessSpreaderUse | , |
iters | |||
) |
Definition at line 75 of file CacheLocalityBenchmark.cpp.
References folly::AccessSpreader< Atom >::cachedCurrent(), folly::doNotOptimizeAway(), and i.
BENCHMARK | ( | BaselineAtomicIncrement | , |
iters | |||
) |
Definition at line 82 of file CacheLocalityBenchmark.cpp.
References folly::doNotOptimizeAway(), i, and folly::value().
BENCHMARK | ( | CachedAccessSpreaderAtomicIncrement | , |
iters | |||
) |
Definition at line 90 of file CacheLocalityBenchmark.cpp.
References folly::AccessSpreader< Atom >::cachedCurrent(), folly::doNotOptimizeAway(), i, values(), and x.
BENCHMARK_DRAW_LINE | ( | ) |
|
static |
Definition at line 182 of file CacheLocalityBenchmark.cpp.
References folly::AccessSpreader< Atom >::current(), folly::BenchmarkSuspender::dismiss(), folly::doNotOptimizeAway(), i, folly::pushmi::detail::t, threads, and folly::fibers::yield().
|
static |
Definition at line 297 of file CacheLocalityBenchmark.cpp.
References atomicIncrBaseline(), folly::BENCHMARK_DRAW_LINE(), BENCHMARK_NAMED_PARAM, contentionAtWidthGetcpu(), contentionAtWidthPthreadSelf(), and contentionAtWidthThreadLocal().
|
static |
Definition at line 283 of file CacheLocalityBenchmark.cpp.
Referenced by contentionAtWidthCached().
|
static |
Definition at line 293 of file CacheLocalityBenchmark.cpp.
Referenced by contentionAtWidthCached().
|
static |
Definition at line 288 of file CacheLocalityBenchmark.cpp.
Referenced by contentionAtWidthCached().
int main | ( | int | argc, |
char ** | argv | ||
) |