int hpx_main(variables_map & vm) { { num_iterations = vm["delay-iterations"].as<boost::uint64_t>(); const boost::uint64_t count = vm["dataflows"].as<boost::uint64_t>(); std::vector<id_type> prefixes = find_all_localities(); double function_time; { high_resolution_timer walltime; for(std::size_t i = 0; i < 10000; ++i) { global_scratch += null_function(); } function_time = walltime.elapsed()/10000; } BOOST_FOREACH(id_type const & prefix, prefixes) { std::vector<dataflow_base<double> > dataflows; dataflows.reserve(count); high_resolution_timer walltime; for(boost::uint64_t i = 0; i < count; ++i) { dataflows.push_back(null_dataflow(prefix)); } wait(dataflows, [&] (std::size_t, double r) { global_scratch += r;}); const double duration = walltime.elapsed(); if (vm.count("csv")) cout << ( boost::format("%1%,%2%,%3%,%4%\n") % get_locality_id_from_id(prefix) % count % duration % function_time) << flush; else cout << ( boost::format("Locality %1%: invoked %2% futures in %3% seconds (average workload %4% s)\n") % get_locality_id_from_id(prefix) % count % duration % function_time) << flush; } }