gitextract_x94z546h/ ├── .clang-format ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── config.yml │ │ └── feature_request.yml │ ├── PULL_REQUEST_TEMPLATE.md │ └── workflows/ │ ├── build.yml │ ├── codeql.yml │ └── docs.yml ├── .gitignore ├── CHANGELOG.md ├── CMakeLists.txt ├── CMakePresets.json ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── benchmarks/ │ ├── CMakeLists.txt │ ├── benchmark_common.h │ ├── cascading_parallel_for_benchmark.cpp │ ├── concurrent_vector_benchmark.cpp │ ├── fast_math/ │ │ ├── CMakeLists.txt │ │ ├── avx512_benchmarks.cpp │ │ ├── avx_benchmarks.cpp │ │ ├── benchmark_helpers.h │ │ ├── benchmarks.cpp │ │ ├── erf_benchmarks.cpp │ │ ├── hwy_benchmarks.cpp │ │ ├── neon_benchmarks.cpp │ │ └── sse_benchmarks.cpp │ ├── for_each_benchmark.cpp │ ├── for_latency_benchmark.cpp │ ├── future_benchmark.cpp │ ├── graph_benchmark.cpp │ ├── graph_scene_benchmark.cpp │ ├── idle_pool_benchmark.cpp │ ├── locality_benchmark.cpp │ ├── nested_for_benchmark.cpp │ ├── nested_pool_benchmark.cpp │ ├── once_function_benchmark.cpp │ ├── pipeline_benchmark.cpp │ ├── pool_allocator_benchmark.cpp │ ├── run_benchmarks.py │ ├── rw_lock_benchmark.cpp │ ├── simple_for_benchmark.cpp │ ├── simple_pool_benchmark.cpp │ ├── small_buffer_benchmark.cpp │ ├── summing_for_benchmark.cpp │ ├── tbb_compat.h │ ├── thread_benchmark_common.h │ ├── timed_task_benchmark.cpp │ └── trivial_compute_benchmark.cpp ├── cmake/ │ └── DispensoConfig.cmake.in ├── codecov.yml ├── dispenso/ │ ├── CMakeLists.txt │ ├── async_request.h │ ├── completion_event.h │ ├── concurrent_object_arena.h │ ├── concurrent_vector.h │ ├── detail/ │ │ ├── can_invoke.h │ │ ├── completion_event_impl.h │ │ ├── concurrent_vector_impl.h │ │ ├── concurrent_vector_impl2.h │ │ ├── epoch_waiter.h │ │ ├── future_impl.h │ │ ├── future_impl2.h │ │ ├── graph_executor_impl.h │ │ ├── math.h │ │ ├── notifier_common.h │ │ ├── once_callable_impl.h │ │ ├── op_result.h │ │ ├── per_thread_info.cpp │ │ ├── per_thread_info.h │ │ ├── pipeline_impl.h │ │ ├── quanta.cpp │ │ ├── quanta.h │ │ ├── result_of.h │ │ ├── rw_lock_impl.h │ │ ├── small_buffer_allocator_impl.h │ │ ├── task_set_impl.h │ │ └── timed_task_impl.h │ ├── dispenso.h │ ├── fast_math/ │ │ ├── README.md │ │ ├── detail/ │ │ │ ├── double_promote.h │ │ │ └── fast_math_impl.h │ │ ├── fast_math.h │ │ ├── float_traits.h │ │ ├── float_traits_avx.h │ │ ├── float_traits_avx512.h │ │ ├── float_traits_hwy.h │ │ ├── float_traits_neon.h │ │ ├── float_traits_x86.h │ │ ├── simd.h │ │ └── util.h │ ├── for_each.h │ ├── future.h │ ├── graph.cpp │ ├── graph.h │ ├── graph_executor.cpp │ ├── graph_executor.h │ ├── latch.h │ ├── once_function.h │ ├── parallel_for.h │ ├── pipeline.h │ ├── platform.h │ ├── pool_allocator.cpp │ ├── pool_allocator.h │ ├── priority.cpp │ ├── priority.h │ ├── resource_pool.h │ ├── rw_lock.h │ ├── schedulable.h │ ├── small_buffer_allocator.cpp │ ├── small_buffer_allocator.h │ ├── small_vector.h │ ├── spsc_ring_buffer.h │ ├── task_set.cpp │ ├── task_set.h │ ├── third-party/ │ │ └── moodycamel/ │ │ ├── LICENSE.md │ │ ├── README.txt │ │ ├── blockingconcurrentqueue.h │ │ ├── concurrentqueue.h │ │ └── lightweightsemaphore.h │ ├── thread_id.cpp │ ├── thread_id.h │ ├── thread_pool.cpp │ ├── thread_pool.h │ ├── timed_task.cpp │ ├── timed_task.h │ ├── timing.cpp │ ├── timing.h │ ├── tsan_annotations.cpp │ ├── tsan_annotations.h │ ├── util.h │ └── utils/ │ └── graph_dot.h ├── docs/ │ ├── Doxyfile │ ├── benchmarks/ │ │ ├── benchmark_results.md │ │ ├── concurrent_vector_details.md │ │ ├── concurrent_vector_tcmalloc_details.md │ │ ├── for_latency_details.md │ │ ├── future_details.md │ │ ├── graph_details.md │ │ ├── graph_scene_details.md │ │ ├── idle_pool_details.md │ │ ├── index.html │ │ ├── nested_for_details.md │ │ ├── nested_pool_details.md │ │ ├── once_function_details.md │ │ ├── pipeline_details.md │ │ ├── pool_allocator_details.md │ │ ├── rw_lock_details.md │ │ ├── simple_for_details.md │ │ ├── simple_pool_details.md │ │ ├── small_buffer_details.md │ │ ├── summing_for_details.md │ │ ├── timed_task_details.md │ │ └── trivial_compute_details.md │ ├── building.md │ ├── custom.css │ ├── design/ │ │ ├── barrier_dispatch.md │ │ ├── coroutines.md │ │ ├── cpp20_concepts.md │ │ ├── fast_math_roadmap.md │ │ ├── parallel_algorithms.md │ │ ├── release_checklist.md │ │ └── roadmap.md │ ├── getting_started.md │ ├── groups.dox │ ├── header.html │ ├── mainpage.md │ ├── migrating_from_openmp.md │ ├── migrating_from_tbb.md │ └── third-party/ │ └── doxygen-awesome/ │ ├── doxygen-awesome-darkmode-toggle.js │ └── doxygen-awesome.css ├── examples/ │ ├── CMakeLists.txt │ ├── concurrent_vector_example.cpp │ ├── for_each_example.cpp │ ├── future_example.cpp │ ├── graph_example.cpp │ ├── latch_example.cpp │ ├── parallel_for_example.cpp │ ├── pipeline_example.cpp │ ├── resource_pool_example.cpp │ └── task_set_example.cpp ├── results/ │ ├── android_arm64.json │ ├── linux_x64.json │ ├── macos_arm64.json │ └── windows_x64.json ├── run_bench.bat ├── scripts/ │ ├── BENCHMARKING.md │ ├── compare_benchmarks.py │ ├── generate_charts.py │ ├── generate_plotly_benchmarks.py │ ├── run_benchmarks.py │ ├── update_benchmarks.py │ └── update_package_managers.py └── tests/ ├── CMakeLists.txt ├── async_request_test.cpp ├── chunked_for_test.cpp ├── completion_event_test.cpp ├── concurrent_object_arena_test.cpp ├── concurrent_vector_a_test.cpp ├── concurrent_vector_b_test.cpp ├── concurrent_vector_default_test.cpp ├── concurrent_vector_nocache_test.cpp ├── concurrent_vector_test_common.h ├── concurrent_vector_test_common_types.h ├── fast_math/ │ ├── CMakeLists.txt │ ├── acos_test.cpp │ ├── asin_test.cpp │ ├── atan2_test.cpp │ ├── atan_test.cpp │ ├── avx512_test.cpp │ ├── avx_test.cpp │ ├── bivariate_ulp_eval.h │ ├── cbrt_test.cpp │ ├── cos_test.cpp │ ├── erf_test.cpp │ ├── eval.cpp │ ├── eval.h │ ├── exp10_test.cpp │ ├── exp2_test.cpp │ ├── exp_test.cpp │ ├── expm1_test.cpp │ ├── frexp_test.cpp │ ├── hwy_test.cpp │ ├── hypot_test.cpp │ ├── ldexp_test.cpp │ ├── log10_test.cpp │ ├── log1p_test.cpp │ ├── log2_test.cpp │ ├── log_test.cpp │ ├── neon_test.cpp │ ├── pow_test.cpp │ ├── pow_ulp_eval.cpp │ ├── simd_test_utils.h │ ├── sin_test.cpp │ ├── sincos_test.cpp │ ├── sinpi_test.cpp │ ├── sse_test.cpp │ ├── tan_test.cpp │ ├── tanh_test.cpp │ ├── test_main.cpp │ ├── ulp_eval.cpp │ └── util_test.cpp ├── for_each_test.cpp ├── forward_shared_pool.cpp ├── future_test.cpp ├── graph_test.cpp ├── greedy_for_ranges_test.cpp ├── greedy_for_test.cpp ├── latch_test.cpp ├── once_function_test.cpp ├── pipeline_test.cpp ├── pool_allocator_test.cpp ├── priority_test.cpp ├── resource_pool_test.cpp ├── rw_lock_test.cpp ├── shared_pool_test.cpp ├── small_buffer_allocator_test.cpp ├── small_vector_test.cpp ├── spsc_ring_buffer_test.cpp ├── task_set_test.cpp ├── test_tid.h ├── thread_id_test.cpp ├── thread_pool_test.cpp ├── timed_task_test.cpp ├── timing_test.cpp └── util_test.cpp