gitextract_lozyb1bf/ ├── .github/ │ ├── FUNDING.yml │ └── workflows/ │ └── ci.yml ├── .gitignore ├── .scripts/ │ ├── run_benchmark.sh │ └── run_benchmarks.sh ├── Cargo.toml ├── LICENSE-APACHE ├── LICENSE-MIT ├── README.md ├── benches/ │ ├── chain3_collect_map.rs │ ├── chain4_collect_map.rs │ ├── chain_collect_map.rs │ ├── collect_filter.rs │ ├── collect_filtermap.rs │ ├── collect_flatmap.rs │ ├── collect_iter_into_par.rs │ ├── collect_long_chain.rs │ ├── collect_map.rs │ ├── collect_map_filter.rs │ ├── collect_map_filter_hash_set.rs │ ├── count_filtermap.rs │ ├── count_flatmap.rs │ ├── count_map.rs │ ├── count_map_filter.rs │ ├── drain_vec_collect_map_filter.rs │ ├── find.rs │ ├── find_any.rs │ ├── find_flatmap.rs │ ├── find_iter_into_par.rs │ ├── find_map_filter.rs │ ├── mut_for_each_iter.rs │ ├── mut_for_each_slice.rs │ ├── rec_iter_map_collect.rs │ ├── rec_iter_map_sum.rs │ ├── reduce.rs │ ├── reduce_iter_into_par.rs │ ├── reduce_long_chain.rs │ ├── reduce_map.rs │ ├── reduce_map_filter.rs │ ├── result_collect_map.rs │ ├── result_reduce_map.rs │ ├── results/ │ │ └── benchmark-results.xlsx │ ├── sum.rs │ ├── sum_filtermap.rs │ ├── sum_flatmap.rs │ ├── sum_map_filter.rs │ ├── t_par_merge_sorted.rs │ ├── t_seq_merge_sorted.rs │ ├── vec_deque_collect_map_filter.rs │ └── vec_deque_collect_map_filter_owned.rs ├── docs/ │ └── using.md ├── examples/ │ ├── benchmark_collect.rs │ ├── benchmark_find.rs │ ├── benchmark_find_any.rs │ ├── benchmark_heterogeneous.rs │ ├── benchmark_pools.rs │ ├── benchmark_reduce.rs │ ├── collection_of_results.rs │ ├── function_composition_with_mut_using.rs │ ├── map_while.rs │ ├── max_num_threads_config.rs │ ├── mutable_par_iter.rs │ ├── par_merge_sorted.rs │ ├── parallelization_on_tree/ │ │ ├── collection_on_entire_tree.rs │ │ ├── main.rs │ │ ├── node.rs │ │ ├── reduction_on_entire_tree.rs │ │ ├── reduction_on_subset_of_tree.rs │ │ ├── run_utils.rs │ │ └── tree.rs │ ├── using_for_each.rs │ ├── using_map.rs │ ├── using_metrics.rs │ ├── using_random_walk.rs │ └── utils/ │ ├── benchmark_utils.rs │ └── mod.rs ├── src/ │ ├── collect_into/ │ │ ├── collect.rs │ │ ├── fixed_vec.rs │ │ ├── mod.rs │ │ ├── par_collect_into.rs │ │ ├── split_vec.rs │ │ ├── utils.rs │ │ └── vec.rs │ ├── computational_variants/ │ │ ├── fallible_option.rs │ │ ├── fallible_result/ │ │ │ ├── map_result.rs │ │ │ ├── mod.rs │ │ │ ├── par_result.rs │ │ │ └── xap_result.rs │ │ ├── map.rs │ │ ├── mod.rs │ │ ├── par.rs │ │ ├── tests/ │ │ │ ├── copied.rs │ │ │ ├── count.rs │ │ │ ├── enumerate.rs │ │ │ ├── fallible_option.rs │ │ │ ├── fallible_result.rs │ │ │ ├── flatten.rs │ │ │ ├── for_each.rs │ │ │ ├── inspect.rs │ │ │ ├── iter_consuming.rs │ │ │ ├── iter_ref.rs │ │ │ ├── map/ │ │ │ │ ├── collect.rs │ │ │ │ ├── find.rs │ │ │ │ ├── mod.rs │ │ │ │ └── reduce.rs │ │ │ ├── min_max.rs │ │ │ ├── mod.rs │ │ │ ├── range.rs │ │ │ ├── slice.rs │ │ │ ├── sum.rs │ │ │ ├── vectors.rs │ │ │ └── xap/ │ │ │ ├── collect.rs │ │ │ ├── find.rs │ │ │ ├── mod.rs │ │ │ └── reduce.rs │ │ └── xap.rs │ ├── default_fns.rs │ ├── enumerate/ │ │ └── mod.rs │ ├── env.rs │ ├── executor/ │ │ ├── computation_kind.rs │ │ ├── executor_with_diagnostics/ │ │ │ ├── mod.rs │ │ │ ├── parallel_executor.rs │ │ │ ├── shared_state.rs │ │ │ └── thread_executor.rs │ │ ├── fixed_chunk_executor/ │ │ │ ├── chunk_size.rs │ │ │ ├── mod.rs │ │ │ ├── parallel_executor.rs │ │ │ └── thread_executor.rs │ │ ├── mod.rs │ │ ├── parallel_compute/ │ │ │ ├── collect_arbitrary.rs │ │ │ ├── collect_ordered.rs │ │ │ ├── mod.rs │ │ │ ├── next.rs │ │ │ ├── next_any.rs │ │ │ └── reduce.rs │ │ ├── parallel_executor.rs │ │ ├── thread_compute/ │ │ │ ├── collect_arbitrary.rs │ │ │ ├── collect_ordered.rs │ │ │ ├── mod.rs │ │ │ ├── next.rs │ │ │ ├── next_any.rs │ │ │ └── reduce.rs │ │ └── thread_executor.rs │ ├── experiment/ │ │ ├── algorithms/ │ │ │ ├── merge_sorted_slices/ │ │ │ │ ├── mod.rs │ │ │ │ ├── par.rs │ │ │ │ ├── seq.rs │ │ │ │ └── tests/ │ │ │ │ ├── inputs.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── par.rs │ │ │ │ └── seq.rs │ │ │ └── mod.rs │ │ ├── data_structures/ │ │ │ ├── mod.rs │ │ │ ├── slice.rs │ │ │ ├── slice_dst.rs │ │ │ ├── slice_iter_ptr.rs │ │ │ ├── slice_iter_ptr_dst.rs │ │ │ ├── slice_iter_ptr_src.rs │ │ │ ├── slice_src.rs │ │ │ └── tests/ │ │ │ ├── mod.rs │ │ │ └── slice.rs │ │ └── mod.rs │ ├── generic_iterator/ │ │ ├── collect.rs │ │ ├── early_exit.rs │ │ ├── iter.rs │ │ ├── mod.rs │ │ ├── reduce.rs │ │ └── transformations.rs │ ├── generic_values/ │ │ ├── fallible_iterators/ │ │ │ ├── mod.rs │ │ │ └── result_of_iter.rs │ │ ├── mod.rs │ │ ├── option.rs │ │ ├── option_result.rs │ │ ├── result.rs │ │ ├── runner_results/ │ │ │ ├── collect_arbitrary.rs │ │ │ ├── collect_ordered.rs │ │ │ ├── collect_sequential.rs │ │ │ ├── fallibility.rs │ │ │ ├── mod.rs │ │ │ ├── next.rs │ │ │ ├── reduce.rs │ │ │ └── stop.rs │ │ ├── transformable_values.rs │ │ ├── values.rs │ │ ├── vector.rs │ │ ├── vector_result.rs │ │ ├── whilst_atom.rs │ │ ├── whilst_atom_result.rs │ │ ├── whilst_iterators/ │ │ │ ├── mod.rs │ │ │ ├── whilst_atom_flat_map.rs │ │ │ └── whilst_option_flat_map.rs │ │ ├── whilst_option.rs │ │ ├── whilst_option_result.rs │ │ ├── whilst_vector.rs │ │ └── whilst_vector_result.rs │ ├── heap_sort.rs │ ├── into_par_iter.rs │ ├── iter/ │ │ ├── mod.rs │ │ ├── recursive/ │ │ │ ├── into_par_rec_iter.rs │ │ │ ├── mod.rs │ │ │ └── rec_par_iter.rs │ │ └── special_iterators.rs │ ├── iter_into_par_iter.rs │ ├── lib.rs │ ├── par_iter.rs │ ├── par_iter_option.rs │ ├── par_iter_result.rs │ ├── par_thread_pool.rs │ ├── parallel_drainable.rs │ ├── parallelizable.rs │ ├── parallelizable_collection.rs │ ├── parallelizable_collection_mut.rs │ ├── parameters/ │ │ ├── chunk_size.rs │ │ ├── iteration_order.rs │ │ ├── mod.rs │ │ ├── num_threads.rs │ │ └── params.rs │ ├── runner/ │ │ ├── computation_kind.rs │ │ ├── implementations/ │ │ │ ├── mod.rs │ │ │ ├── pond.rs │ │ │ ├── poolite.rs │ │ │ ├── rayon_core.rs │ │ │ ├── runner_with_pool.rs │ │ │ ├── scoped_pool.rs │ │ │ ├── scoped_threadpool.rs │ │ │ ├── sequential.rs │ │ │ ├── std_runner.rs │ │ │ ├── tests/ │ │ │ │ ├── mod.rs │ │ │ │ ├── pond.rs │ │ │ │ ├── poolite.rs │ │ │ │ ├── rayon_core.rs │ │ │ │ ├── scoped_pool.rs │ │ │ │ ├── scoped_threadpool.rs │ │ │ │ ├── sequential.rs │ │ │ │ ├── std.rs │ │ │ │ ├── utils.rs │ │ │ │ └── yastl.rs │ │ │ └── yastl.rs │ │ ├── mod.rs │ │ ├── num_spawned.rs │ │ └── parallel_runner.rs │ ├── special_type_sets/ │ │ ├── mod.rs │ │ └── sum.rs │ ├── test_utils.rs │ ├── using/ │ │ ├── collect_into/ │ │ │ ├── collect.rs │ │ │ ├── fixed_vec.rs │ │ │ ├── mod.rs │ │ │ ├── split_vec.rs │ │ │ ├── u_par_collect_into.rs │ │ │ └── vec.rs │ │ ├── computational_variants/ │ │ │ ├── mod.rs │ │ │ ├── tests/ │ │ │ │ ├── copied.rs │ │ │ │ ├── count.rs │ │ │ │ ├── fallible_option.rs │ │ │ │ ├── fallible_result.rs │ │ │ │ ├── flatten.rs │ │ │ │ ├── for_each.rs │ │ │ │ ├── inspect.rs │ │ │ │ ├── iter_consuming.rs │ │ │ │ ├── iter_ref.rs │ │ │ │ ├── map/ │ │ │ │ │ ├── collect.rs │ │ │ │ │ ├── find.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── reduce.rs │ │ │ │ ├── min_max.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── range.rs │ │ │ │ ├── slice.rs │ │ │ │ ├── sum.rs │ │ │ │ ├── utils.rs │ │ │ │ ├── vectors.rs │ │ │ │ └── xap/ │ │ │ │ ├── collect.rs │ │ │ │ ├── find.rs │ │ │ │ ├── mod.rs │ │ │ │ └── reduce.rs │ │ │ ├── u_fallible_option.rs │ │ │ ├── u_fallible_result/ │ │ │ │ ├── mod.rs │ │ │ │ ├── u_map_result.rs │ │ │ │ ├── u_par_result.rs │ │ │ │ └── u_xap_result.rs │ │ │ ├── u_map.rs │ │ │ ├── u_par.rs │ │ │ └── u_xap.rs │ │ ├── executor/ │ │ │ ├── mod.rs │ │ │ ├── parallel_compute/ │ │ │ │ ├── collect_arbitrary.rs │ │ │ │ ├── collect_ordered.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── next.rs │ │ │ │ ├── next_any.rs │ │ │ │ └── reduce.rs │ │ │ └── thread_compute/ │ │ │ ├── collect_arbitrary.rs │ │ │ ├── collect_ordered.rs │ │ │ ├── mod.rs │ │ │ ├── next.rs │ │ │ ├── next_any.rs │ │ │ └── reduce.rs │ │ ├── mod.rs │ │ ├── u_par_iter.rs │ │ ├── u_par_iter_option.rs │ │ ├── u_par_iter_result.rs │ │ └── using_variants.rs │ └── value_variants/ │ ├── whilst_iterators/ │ │ ├── whilst_atom_flat_map.rs │ │ └── whilst_option_flat_map.rs │ └── whilst_vector.rs └── tests/ ├── chain.rs ├── into_par.rs ├── iter_into_par.rs ├── map_while_ok_collect/ │ ├── from_map.rs │ ├── from_par.rs │ ├── from_xap_chain.rs │ ├── from_xap_filter.rs │ ├── from_xap_filter_map.rs │ ├── from_xap_flat_map.rs │ └── mod.rs ├── map_while_ok_collect_arbitrary/ │ ├── from_map.rs │ ├── from_par.rs │ ├── from_xap_chain.rs │ ├── from_xap_filter.rs │ ├── from_xap_filter_map.rs │ ├── from_xap_flat_map.rs │ ├── mod.rs │ └── utils.rs ├── map_while_ok_reduce/ │ ├── from_map.rs │ ├── from_par.rs │ ├── from_xap_chain.rs │ ├── from_xap_filter.rs │ ├── from_xap_filter_map.rs │ ├── from_xap_flat_map.rs │ └── mod.rs ├── mut_iter.rs ├── parallel_drainable.rs ├── parallelizable.rs ├── parallelizable_collection.rs ├── test_groups.rs ├── trait_bounds.rs ├── using/ │ ├── mod.rs │ └── rng.rs └── whilst/ ├── collect.rs ├── collect_arbitrary.rs ├── find.rs ├── mod.rs └── reduce.rs