MCPcopy Create free account
hub / github.com/RenderKit/embree / Benchmark_Static_Create

Function Benchmark_Static_Create

tutorials/buildbench/buildbench_device.cpp:416–469  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

414 }
415
416 void Benchmark_Static_Create(
417 BenchState& state,
418 BenchParams& params,
419 BuildBenchParams& buildParams,
420 ISPCScene* ispc_scene,
421 RTCBuildQuality quality,
422 RTCBuildQuality qflags)
423 {
424#ifdef USE_GOOGLE_BENCHMARK
425 if (params.legacy) {
426 Benchmark_Static_Create_Legacy(ispc_scene, params, quality, qflags);
427 return;
428 }
429
430 const size_t primitives = getNumPrimitives(ispc_scene);
431 const size_t objects = getNumObjects(ispc_scene);
432
433 // warm-up
434 for (int i = 0; i < params.minTimeOrIterations; ++i) {
435 RTCScene scene = createScene(RTC_SCENE_FLAG_NONE, qflags);
436 convertScene(scene, ispc_scene, quality);
437 const size_t numThreads = TaskScheduler::threadCount();
438 std::vector<std::thread> threads;
439 threads.reserve(numThreads);
440 rtcCommitScene(scene);
441 rtcReleaseScene(scene);
442 }
443
444 for(auto _ : *state.state) {
445 state.state->PauseTiming();
446
447 RTCScene scene = createScene(RTC_SCENE_FLAG_NONE, qflags);
448 convertScene(scene, ispc_scene, quality);
449
450 const size_t numThreads = TaskScheduler::threadCount();
451 std::vector<std::thread> threads;
452 threads.reserve(numThreads);
453
454 state.state->ResumeTiming();
455
456 rtcCommitScene(scene);
457
458 state.state->PauseTiming();
459
460 rtcReleaseScene(scene);
461
462 state.state->ResumeTiming();
463 }
464
465 addCounter(state, primitives, objects);
466#else
467 Benchmark_Static_Create_Legacy(ispc_scene, params, quality, qflags);
468#endif
469 }
470 struct Helper {
471 BarrierSys barrier;
472 volatile bool term = false;

Callers 1

buildBenchFunction · 0.85

Calls 9

getNumObjectsFunction · 0.85
createSceneFunction · 0.85
rtcCommitSceneFunction · 0.85
rtcReleaseSceneFunction · 0.85
addCounterFunction · 0.85
getNumPrimitivesFunction · 0.70
convertSceneFunction · 0.70
reserveMethod · 0.45

Tested by

no test coverage detected