proxygen
|
#include <vector>
#include <folly/experimental/pushmi/o/defer.h>
#include <folly/experimental/pushmi/o/for_each.h>
#include <folly/experimental/pushmi/o/from.h>
#include <folly/experimental/pushmi/o/just.h>
#include <folly/experimental/pushmi/o/on.h>
#include <folly/experimental/pushmi/o/submit.h>
#include <folly/experimental/pushmi/o/tap.h>
#include <folly/experimental/pushmi/o/transform.h>
#include <folly/experimental/pushmi/o/via.h>
#include <folly/experimental/pushmi/new_thread.h>
#include <folly/experimental/pushmi/time_source.h>
#include <folly/experimental/pushmi/trampoline.h>
#include <folly/experimental/pushmi/entangle.h>
#include <folly/experimental/pushmi/receiver.h>
#include <folly/experimental/pushmi/pool.h>
#include <nonius/nonius.h++>
Go to the source code of this file.
Classes | |
struct | countdown< R > |
struct | inline_time_executor |
struct | inline_executor |
struct | inline_executor_flow_single< CancellationFactory > |
struct | shared_cancellation_factory |
struct | entangled_cancellation_factory |
struct | inline_executor_flow_single_ignore |
struct | inline_executor_flow_many |
struct | inline_executor_flow_many_ignore |
struct | inline_executor_many |
Macros | |
#define | concept Concept |
Typedefs | |
using | countdownsingle = countdown< decltype(mi::make_receiver)> |
using | countdownflowsingle = countdown< decltype(mi::make_flow_receiver)> |
using | countdownmany = countdown< decltype(mi::make_receiver)> |
using | countdownflowmany = countdown< decltype(mi::make_flow_receiver)> |
using | inline_executor_flow_single_shared = inline_executor_flow_single< shared_cancellation_factory > |
using | inline_executor_flow_single_entangled = inline_executor_flow_single< entangled_cancellation_factory > |
using | IE = decltype(ie) |
using | TR = decltype(tr) |
using | PE = decltype(pe) |
using | NT = decltype(nt) |
Functions | |
NONIUS_BENCHMARK ("ready 1'000 single get (submit)", [](nonius::chronometer meter){int counter{0};meter.measure([&]{counter=1'000;while(--counter >=0){auto fortyTwo=op::just(42)|op::get< int >;}return counter;});}) NONIUS_BENCHMARK("ready 1'000 single get (blocking_submit)" | |
meter | measure ([&]{counter=1'000;while(--counter >=0){auto fortyTwo=mi::make_single_sender([](auto out){mi::set_value(out, 42);mi::set_done(out);})|op::get< int >;}return counter;}) |
NONIUS_BENCHMARK ("inline 1'000 single", [](nonius::chronometer meter){std::atomic< int > counter{0};auto ie=inline_executor{};using IE=decltype(ie);countdownsingle single{counter};meter.measure([&]{counter.store(1'000);ie|op::submit(mi::make_receiver(single));while(counter.load() > 0);return counter.load();});}) NONIUS_BENCHMARK("inline 1'000 time single" | |
meter | measure ([&]{counter.store(1'000);ie|op::submit(mi::make_receiver(single));while(counter.load() > 0);return counter.load();}) |
NONIUS_BENCHMARK ("inline 1'000 many", [](nonius::chronometer meter){std::atomic< int > counter{0};auto ie=inline_executor_many{};using IE=decltype(ie);countdownmany many{counter};meter.measure([&]{counter.store(1'000);ie|op::submit(mi::make_receiver(many));while(counter.load() > 0);return counter.load();});}) NONIUS_BENCHMARK("inline 1'000 flow_single shared" | |
meter | measure ([&]{counter.store(1'000);ie|op::submit(mi::make_flow_receiver(flowsingle));while(counter.load() > 0);return counter.load();}) |
NONIUS_BENCHMARK ("inline 1'000 flow_single entangle", [](nonius::chronometer meter){std::atomic< int > counter{0};auto ie=inline_executor_flow_single_entangled{};using IE=decltype(ie);countdownflowsingle flowsingle{counter};meter.measure([&]{counter.store(1'000);ie|op::submit(mi::make_flow_receiver(flowsingle));while(counter.load() > 0);return counter.load();});}) NONIUS_BENCHMARK("inline 1'000 flow_single ignore cancellation" | |
NONIUS_BENCHMARK ("inline 1'000 flow_many", [](nonius::chronometer meter){std::atomic< int > counter{0};auto ie=inline_executor_flow_many{};using IE=decltype(ie);countdownflowmany flowmany{counter};meter.measure([&]{counter.store(1'000);ie|op::submit(mi::make_flow_receiver(flowmany));while(counter.load() > 0);return counter.load();});}) NONIUS_BENCHMARK("inline 1 flow_many with 1'000 values pull 1" | |
meter | measure ([&]{counter.store(1'000);ie|op::for_each(mi::make_receiver());while(counter.load() > 0);return counter.load();}) |
NONIUS_BENCHMARK ("inline 1 flow_many with 1'000 values pull 1'000", [](nonius::chronometer meter){std::atomic< int > counter{0};auto ie=inline_executor_flow_many{counter};using IE=decltype(ie);meter.measure([&]{counter.store(1'000);ie|op::submit(mi::make_flow_receiver(mi::ignoreNF{}, mi::abortEF{}, mi::ignoreDF{}, [](auto up){mi::set_value(up, 1'000);}));while(counter.load() > 0);return counter.load();});}) NONIUS_BENCHMARK("inline 1'000 flow_many ignore cancellation" | |
meter | measure ([&]{counter.store(1'000);ie|op::submit(mi::make_flow_receiver(flowmany));while(counter.load() > 0);return counter.load();}) |
NONIUS_BENCHMARK ("trampoline 1'000 single get (blocking_submit)", [](nonius::chronometer meter){int counter{0};auto tr=mi::trampoline();using TR=decltype(tr);meter.measure([&]{counter=1'000;while(--counter >=0){auto fortyTwo=tr|op::transform([](auto){return 42;})|op::get< int >;}return counter;});}) NONIUS_BENCHMARK("trampoline static derecursion 1'000" | |
meter | measure ([&]{counter.store(1'000);tr|op::submit(single);while(counter.load() > 0);return counter.load();}) |
NONIUS_BENCHMARK ("trampoline virtual derecursion 1'000", [](nonius::chronometer meter){std::atomic< int > counter{0};auto tr=mi::trampoline();using TR=decltype(tr);auto single=countdownsingle{counter};std::function< void(mi::any_executor_ref<>)> recurse{[&](auto exec){::folly::pushmi::set_value(single, exec);}};meter.measure([&]{counter.store(1'000);tr|op::submit([&](auto exec){recurse(exec);});while(counter.load() > 0);return counter.load();});}) NONIUS_BENCHMARK("trampoline flow_many_sender 1'000" | |
std::vector< int > | values (1'000) |
meter | measure ([&]{counter.store(1'000);f|op::for_each(mi::make_receiver());while(counter.load() > 0);return counter.load();}) |
NONIUS_BENCHMARK ("pool{1} submit 1'000", [](nonius::chronometer meter){mi::pool pl{std::max(1u, std::thread::hardware_concurrency())};auto pe=pl.executor();using PE=decltype(pe);std::atomic< int > counter{0};countdownsingle single{counter};meter.measure([&]{counter.store(1'000);pe|op::submit(single);while(counter.load() > 0);return counter.load();});}) NONIUS_BENCHMARK("pool | |
meter | measure ([&]{counter.store(1'000);pe|op::submit(single);while(counter.load() > 0);return counter.load();}) |
NONIUS_BENCHMARK ("new thread submit 1'000", [](nonius::chronometer meter){auto nt=mi::new_thread();using NT=decltype(nt);std::atomic< int > counter{0};countdownsingle single{counter};meter.measure([&]{counter.store(1'000);nt|op::submit(single);while(counter.load() > 0);return counter.load();});}) NONIUS_BENCHMARK(" new thread blocking_submit 1'000" | |
meter | measure ([&]{counter.store(1'000);nt|op::blocking_submit(single);return counter.load();}) |
Variables | |
nonius::chronometer | meter |
auto | ie = inline_time_executor{} |
countdownsingle | single {counter} |
countdownflowsingle | flowsingle {counter} |
countdownflowmany | flowmany {counter} |
auto | tr = mi::trampoline() |
auto | f |
submit | |
auto | pe = pl.executor() |
std::atomic< int > | counter {0} |
#define concept Concept |
Definition at line 313 of file PushmiBenchmarks.cpp.
using countdownflowmany = countdown<decltype(mi::make_flow_receiver)> |
Definition at line 79 of file PushmiBenchmarks.cpp.
using countdownflowsingle = countdown<decltype(mi::make_flow_receiver)> |
Definition at line 77 of file PushmiBenchmarks.cpp.
using countdownmany = countdown<decltype(mi::make_receiver)> |
Definition at line 78 of file PushmiBenchmarks.cpp.
using countdownsingle = countdown<decltype(mi::make_receiver)> |
Definition at line 76 of file PushmiBenchmarks.cpp.
Definition at line 354 of file PushmiBenchmarks.cpp.
using inline_executor_flow_single_entangled = inline_executor_flow_single<entangled_cancellation_factory> |
Definition at line 192 of file PushmiBenchmarks.cpp.
Definition at line 177 of file PushmiBenchmarks.cpp.
using NT = decltype(nt) |
Definition at line 569 of file PushmiBenchmarks.cpp.
Definition at line 543 of file PushmiBenchmarks.cpp.
Definition at line 484 of file PushmiBenchmarks.cpp.
meter measure | ( | [&] {counter=1'000;while(--counter >=0){auto fortyTwo=mi::make_single_sender([](auto out){mi::set_value(out, 42);mi::set_done(out);})|op::get< int >;}return counter;} | ) |
Referenced by TestDeltas().
meter measure | ( | [&] {counter.store(1'000);ie|op::submit(mi::make_receiver(single));while(counter.load() > 0);return counter.load();} | ) |
meter measure | ( | [&] {counter.store(1'000);ie|op::submit(mi::make_flow_receiver(flowsingle));while(counter.load() > 0);return counter.load();} | ) |
meter measure | ( | [&] {counter.store(1'000);ie|op::for_each(mi::make_receiver());while(counter.load() > 0);return counter.load();} | ) |
meter measure | ( | [&] {counter.store(1'000);ie|op::submit(mi::make_flow_receiver(flowmany));while(counter.load() > 0);return counter.load();} | ) |
meter measure | ( | [&] {counter.store(1'000);tr|op::submit(single);while(counter.load() > 0);return counter.load();} | ) |
meter measure | ( | [&] {counter.store(1'000);f|op::for_each(mi::make_receiver());while(counter.load() > 0);return counter.load();} | ) |
meter measure | ( | [&] {counter.store(1'000);pe|op::submit(single);while(counter.load() > 0);return counter.load();} | ) |
NONIUS_BENCHMARK | ( | "ready 1'000 single get (submit)" | , |
[] (nonius::chronometer meter){int counter{0};meter.measure([&]{counter=1'000;while(--counter >=0){auto fortyTwo=op::just(42)|op::get< int >;}return counter;});} | |||
) |
NONIUS_BENCHMARK | ( | "inline 1'000 single" | , |
[] (nonius::chronometer meter){std::atomic< int > counter{0};auto ie=inline_executor{};using IE=decltype(ie);countdownsingle single{counter};meter.measure([&]{counter.store(1'000);ie|op::submit(mi::make_receiver(single));while(counter.load() > 0);return counter.load();});} | |||
) |
NONIUS_BENCHMARK | ( | "inline 1'000 many" | , |
[] (nonius::chronometer meter){std::atomic< int > counter{0};auto ie=inline_executor_many{};using IE=decltype(ie);countdownmany many{counter};meter.measure([&]{counter.store(1'000);ie|op::submit(mi::make_receiver(many));while(counter.load() > 0);return counter.load();});} | |||
) |
NONIUS_BENCHMARK | ( | "inline 1'000 flow_single entangle" | , |
[] (nonius::chronometer meter){std::atomic< int > counter{0};auto ie=inline_executor_flow_single_entangled{};using IE=decltype(ie);countdownflowsingle flowsingle{counter};meter.measure([&]{counter.store(1'000);ie|op::submit(mi::make_flow_receiver(flowsingle));while(counter.load() > 0);return counter.load();});} | |||
) |
NONIUS_BENCHMARK | ( | "inline 1'000 flow_many" | , |
[] (nonius::chronometer meter){std::atomic< int > counter{0};auto ie=inline_executor_flow_many{};using IE=decltype(ie);countdownflowmany flowmany{counter};meter.measure([&]{counter.store(1'000);ie|op::submit(mi::make_flow_receiver(flowmany));while(counter.load() > 0);return counter.load();});} | |||
) |
NONIUS_BENCHMARK | ( | "inline 1 flow_many with 1'000 values pull 1'000" | , |
[] (nonius::chronometer meter){std::atomic< int > counter{0};auto ie=inline_executor_flow_many{counter};using IE=decltype(ie);meter.measure([&]{counter.store(1'000);ie|op::submit(mi::make_flow_receiver(mi::ignoreNF{}, mi::abortEF{}, mi::ignoreDF{}, [](auto up){mi::set_value(up, 1'000);}));while(counter.load() > 0);return counter.load();});} | |||
) |
NONIUS_BENCHMARK | ( | "trampoline 1'000 single get (blocking_submit)" | , |
[] (nonius::chronometer meter){int counter{0};auto tr=mi::trampoline();using TR=decltype(tr);meter.measure([&]{counter=1'000;while(--counter >=0){auto fortyTwo=tr|op::transform([](auto){return 42;})|op::get< int >;}return counter;});} | |||
) |
NONIUS_BENCHMARK | ( | "trampoline virtual derecursion 1'000" | , |
[] (nonius::chronometer meter){std::atomic< int > counter{0};auto tr=mi::trampoline();using TR=decltype(tr);auto single=countdownsingle{counter};std::function< void(mi::any_executor_ref<>)> recurse{[&](auto exec){::folly::pushmi::set_value(single, exec);}};meter.measure([&]{counter.store(1'000);tr|op::submit([&](auto exec){recurse(exec);});while(counter.load() > 0);return counter.load();});} | |||
) |
NONIUS_BENCHMARK | ( | "pool{1} submit 1'000" | , |
[] (nonius::chronometer meter){mi::pool pl{std::max(1u, std::thread::hardware_concurrency())};auto pe=pl.executor();using PE=decltype(pe);std::atomic< int > counter{0};countdownsingle single{counter};meter.measure([&]{counter.store(1'000);pe|op::submit(single);while(counter.load() > 0);return counter.load();});} | |||
) |
Definition at line 526 of file PushmiBenchmarks.cpp.
|
new |
std::vector<int> values | ( | 1' | 000 | ) |
Referenced by folly::gen::detail::GroupByAdjacent< Selector >::Generator< Value, Source, ValueDecayed, Key, KeyDecayed >::apply(), BENCHMARK(), benchmarkSet(), folly::detail::DigestBuilder< DigestT >::build(), estimateQuantile(), testing::internal::TuplePrefix< N >::ExplainMatchFailuresTo(), testing::internal::TuplePrefix< 0 >::ExplainMatchFailuresTo(), folly::TestLogHandler::getMessageValues(), operator<<(), folly::F14VectorSet< Key, Hasher, KeyEqual, Alloc >::operator=(), folly::F14VectorMap< Key, Mapped, Hasher, KeyEqual, Alloc >::operator=(), folly::gen::Group< Key, Value >::operator|(), folly::TimeseriesHistogram< T, CT, C >::rate(), RecursiveAddTest(), SimpleTest(), TEST(), TEST_F(), TEST_P(), folly::compression::testJumpTo(), testString2Integral(), and TYPED_TEST().
std::atomic< int > counter {0} |
Definition at line 544 of file PushmiBenchmarks.cpp.
Referenced by accuracy_test(), folly::io::Codec::Codec(), countdownsingle::countdownsingle(), ThreadCachedIntTest::GetDeadThreadsTotal(), wangle::Acceptor::setLoadShedConfig(), shared_ptr_test(), singleThreadTest(), inline_executor_flow_many::submit(), TEST(), TEST_F(), TestDeltas(), TestObject::TestObject(), throughtput_test(), proxygen::TraceEvent::TraceEvent(), unique_ptr_test(), folly::usingJEMalloc(), virtualExecutorTest(), WeakRefTest(), and TestObject::~TestObject().
auto f |
Definition at line 515 of file PushmiBenchmarks.cpp.
Referenced by folly::FiberIOExecutor::add(), folly::InlineExecutor::add(), GenericFilterTest< Owned >::addFilterToChain(), folly::fibers::FiberManager::addTaskFuture(), folly::fibers::FiberManager::addTaskRemoteFuture(), PriorityExecutor::addWithPriority(), folly::ThreadWheelTimekeeper::after(), wangle::TimekeeperTester::after(), wangle::TimekeeperTester::at(), folly::AtomicUnorderedInsertMap< Key, Value, Hash, KeyEqual, SkipKeyValueDeletion, Atom, IndexType, Allocator >::AtomicUnorderedInsertMap(), BENCHMARK(), folly::BENCHMARK(), BENCHMARK_RELATIVE(), folly::call_once(), folly::basic_once_flag< SharedMutex >::call_once(), folly::basic_once_flag< SharedMutex >::call_once_slow(), callFunction(), ConcurrentFlowManySender::cancellation_test(), ConcurrentFlowSingleSender::cancellation_test(), folly::futures::detail::chainExecutor(), testing::internal::CallableTraits< ResType(*)(ArgType)>::CheckIsValid(), folly::collect(), folly::collectAllSemiFuture(), folly::fibers::collectN(), proxygen::compress::CompressionSimulator::CompressionSimulator(), folly::ThreadedExecutor::controlLaunchEnqueuedTasks(), folly::detail::StaticSingletonManager::Creator< F >::create(), DataTicker< f >::DataTicker(), proxygen::HPACKDecodeBuffer::decodeInteger(), folly::SemiFuture< T >::deferValue(), destroy(), destroy< IOThreadPoolExecutor >(), deterministicAtomicWaitUntilTests(), folly::BenchmarkSuspender::dismissing(), folly::compression::instructions::dispatch(), folly::compression::dispatchInstructions(), testing::internal::DownCast_(), duration_to_ts(), folly::pushmi::entangle(), inline_executor::execute(), fGen(), for_each_argument(), folly::fibers::forEach(), ForEach< ValueType >::ForEach(), wangle::Observable< T >::forEachObserver(), wangle::BroadcastHandler< std::string, std::string >::forEachSubscriber(), wangle::ServerWorkerPool::forEachWorker(), wangle::ServerBootstrap< DefaultPipeline >::forEachWorker(), folly::Future< folly::folly::Unit >::Future(), folly::python::test::future_getValueX5(), folly::hazptr_holder< Atom >::get_protected(), folly::symbolizer::SignalSafeElfCache::getFile(), folly::getGFlags(), folly::getLinuxVersion(), folly::ThreadPoolExecutor::getThreadFactory(), invoke(), folly::invoke(), testing::internal::CallableTraits< Callable >::Invoke(), testing::internal::CallableTraits< ResType(*)(ArgType)>::Invoke(), folly::detail::apply_tuple::adl::ApplyInvoke::invoke_(), folly::invoke_noreturn_cold(), folly::for_each_detail::invoke_returning_loop_control(), testing::internal::invoke_argument::InvokeArgumentAdl(), folly::detail::invokeForKeyValue(), join(), keepAliveTest(), liveClockWaitUntilTests(), folly::sorted_vector_map< Key, Value, Compare, Allocator, GrowthPolicy, Container >::lower_bound(), main(), proxygen::HTTPServerAcceptor::make(), ImmediateFlowManySender::make_consumer(), ImmediateFlowSingleSender::make_consumer(), folly::futures::detail::makeCoreCallbackState(), folly::makeGuard(), folly::makePromiseContract(), folly::makeTryWith(), testing::gmock_generated_function_mockers_test::MockFoo::MockFoo(), testing::gmock_generated_function_mockers_test::MockOverloadedOnConstness::MockOverloadedOnConstness(), folly::AsyncUDPServerSocket::onDataAvailable(), MockCodecDownstreamTest::onIngressImpl(), folly::pushmi::invoke_fn::operator()(), folly::pushmi::pipe_fn::operator()(), folly::pushmi::operators::defer_fn::operator()(), folly::ApplyInvoke::operator()(), BonkMultiplexClientDispatcher::operator()(), wangle::SerialClientDispatcher< wangle::Pipeline, folly::Req, Resp >::operator()(), testing::gmock_generated_actions_test::SumOf5Functor::operator()(), wangle::PipelinedClientDispatcher< Pipeline, Req, Resp >::operator()(), testing::gmock_generated_actions_test::SumOf6Functor::operator()(), testing::gmock_more_actions_test::SumOf5Functor::operator()(), testing::gmock_more_actions_test::SumOf6Functor::operator()(), folly::pushmi::detail::transform_fn::operator()(), ForEach< ValueType >::operator()(), folly::static_function_deleter< T, f >::operator()(), folly::detail::float_hasher< float >::operator()(), testing::internal::TransformTupleValuesHelper< Tuple, Func, OutIter >::IterateOverTuple< Tup, kRemainingSize >::operator()(), testing::internal::TransformTupleValuesHelper< Tuple, Func, OutIter >::IterateOverTuple< Tup, 0 >::operator()(), PrettyType< Data< f, pad > >::operator()(), DataTicker< f >::operator=(), folly::partial(), folly::test::CaptureFD::readIncremental(), folly::reduce(), folly::fibers::TimeoutController::registerTimeout(), removeThreadTest(), resizeThreadWhileExecutingTest(), resizeUnderLoad(), folly::futures::detail::retrying(), folly::futures::detail::retryingImpl(), folly::TimedDrivableExecutor::run(), run4Threads(), run_basic_test(), run_basic_tests(), run_multi_poster_multi_waiter_test(), run_wake_blocked_test(), folly::VirtualEventBase::runInEventBaseThread(), folly::fibers::FiberManager::runInMainContext(), folly::ManualExecutor::scheduleAt(), proxygen::compress::CompressionSimulator::scheduleEvent(), folly::HHWheelTimer::scheduleTimeoutFn(), wangle::ServerWorkerPool::ServerWorkerPool(), proxygen::HTTPServerAcceptor::setCompletionCallback(), folly::futures::detail::FutureBase< T >::setExecutor(), folly::pushmi::shared_entangle(), folly::detail::spin_pause_until(), folly::detail::spin_yield_until(), proxygen::ScopedHTTPServer::start(), folly::FunctionScheduler::start(), stop(), stop< IOThreadPoolExecutor >(), testing::gmock_generated_actions_test::SumOf6(), testing::gmock_more_actions_test::SumOf6(), testing::gmock_more_actions_test::Foo::SumOf6(), folly::TEST(), wangle::TEST(), testing::gtest_printers_test::TEST(), TEST(), testing::gmock_generated_actions_test::TEST(), testing::gmock_generated_function_mockers_test::TEST(), TEST_F(), folly::test::TEST_F(), testing::gmock_matchers_test::TEST_F(), testing::TEST_F(), GenericFilterTest< Owned >::testFilters(), testing::gmock_matchers_test::FloatingPointNearTest< RawType >::TestNearMatches(), testTemporaryDirectory(), p1054::then_execute(), p1055::then_execute(), folly::futures::detail::FutureBase< T >::thenImplementation(), folly::Future< T >::thenTry(), folly::Future< T >::thenValue(), throwAndCatch(), folly::detail::try_and_catch_(), folly::hazptr_holder< Atom >::try_protect(), p1054::twoway_execute(), p1055::twoway_execute(), folly::uncurry(), folly::unorderedReduce(), folly::sorted_vector_map< Key, Value, Compare, Allocator, GrowthPolicy, Container >::upper_bound(), foo::StreamableTemplateInFoo< T >::value(), folly::Future< T >::via(), folly::via(), virtualExecutorTest(), folly::fibers::Baton::waitFiber(), WeakRefTest(), folly::with_unique_lock(), folly::ThreadPoolExecutor::withAll(), folly::futures::detail::FutureBase< T >::withinImplementation(), folly::fileutil_detail::wrapFull(), folly::fileutil_detail::wrapNoInt(), wrapPositional(), folly::fileutil_detail::wrapvFull(), and testing::gmock_generated_function_mockers_test::FooInterface::~FooInterface().
countdownflowmany flowmany {counter} |
Definition at line 459 of file PushmiBenchmarks.cpp.
countdownflowsingle flowsingle {counter} |
Definition at line 381 of file PushmiBenchmarks.cpp.
auto ie = inline_time_executor{} |
Definition at line 353 of file PushmiBenchmarks.cpp.
Referenced by TEST().
nonius::chronometer meter |
Definition at line 327 of file PushmiBenchmarks.cpp.
auto pe = pl.executor() |
Definition at line 542 of file PushmiBenchmarks.cpp.
countdownsingle single {counter} |
Definition at line 355 of file PushmiBenchmarks.cpp.
Referenced by folly::SingletonVault::doEagerInit(), folly::SingletonVault::doEagerInitVia(), TEST(), fizz::test::TEST(), and TEST_F().
submit |
Definition at line 540 of file PushmiBenchmarks.cpp.
Referenced by folly::pushmi::any_constrained_executor_ref< E, CV >::any_constrained_executor_ref(), folly::pushmi::any_constrained_single_sender< E, TP, VN... >::any_constrained_single_sender(), folly::pushmi::any_executor_ref< E >::any_executor_ref(), folly::pushmi::any_flow_many_sender< PE, PV, E, VN >::any_flow_many_sender(), folly::pushmi::any_flow_single_sender< PE, E, VN >::any_flow_single_sender(), folly::pushmi::any_many_sender< E, VN >::any_many_sender(), folly::pushmi::any_single_sender< E, VN >::any_single_sender(), folly::pushmi::any_time_executor_ref< E, TP >::any_time_executor_ref(), ConcurrentFlowManySender::cancellation_test(), ConcurrentFlowSingleSender::cancellation_test(), constrained_single_sender_test(), folly::pushmi::operators::flow_from_up< Producer >::done(), folly::pushmi::operators::flow_from_up< Producer >::error(), get_setting(), lisp(), main(), naive_executor_bulk_target(), countdownsingle::operator()(), folly::pushmi::detail::submit_fn::fn< AN >::operator()(), folly::pushmi::detail::for_each_fn::fn< AN >::operator()(), folly::pushmi::detail::submit_at_fn::fn< TP, AN >::operator()(), folly::pushmi::detail::submit_after_fn::fn< D, AN >::operator()(), folly::pushmi::operators::flow_from_fn::out_impl< I, S, Exec >::operator()(), folly::pushmi::detail::blocking_submit_fn::submit_impl< In >::operator()(), pipe(), folly::AsyncIO::pollFd(), folly::AsyncIOQueue::queued(), single_sender_test(), folly::pushmi::new_thread_executor::submit(), folly::pushmi::detail::delegator< E >::submit(), folly::pushmi::detail::nester< E >::submit(), folly::pushmi::detail::trampoline< E >::submit(), folly::pushmi::detail::blocking_submit_fn::nested_executor_impl::submit(), folly::pushmi::strand_executor< E, Executor >::submit(), sugar(), TEST(), TEST_F(), time_single_sender_test(), countdown< R >::value(), and folly::pushmi::operators::flow_from_up< Producer >::value().
auto tr = mi::trampoline() |
Definition at line 483 of file PushmiBenchmarks.cpp.
Referenced by folly::pushmi::new_thread_executor::submit(), and TEST().