<div dir="ltr">Hi,<div><br></div><div>I'm not very familiar with the LLVM test suite and I'd like to ask some questions.</div><div>I wanted to get a feeling of the impact to runtime performance of some changes inside LLVM,</div><div>so I thought of running llvm test-suite benchmarks.</div><div><br></div><div>Build options: O3.cmake + DTEST_SUITE_BENCHMARKING_ONLY=True</div><div>Run:</div><div>llvm-lit -v -j 1 -o out.json .<br></div><div><br></div><div>What I think I should be looking for is the "metrics" -> "exec_time" in the JSON file.</div><div><br></div><div>Now, to the questions. First, there doesn't seem to be a common time unit for</div><div>"exec_time" among the different tests. For instance, SingleSource/ seem to use</div><div>seconds while MicroBenchmarks seem to use μs. So, we can't reliably judge</div><div>changes. Although I get the fact that micro-benchmarks are different in nature</div><div>than Single/MultiSource benchmarks, so maybe one should focus only on</div><div>the one or the other depending on what they're interested in.</div><div><br></div><div>In any case, it would at least be great if the JSON data contained the time unit per test,</div><div>but that is not happening either.</div><div><br></div><div>Do you think that the lack of time unit info is a problem ? If yes, do you like the</div><div>solution of adding the time unit in the JSON or do you want to propose an alternative?</div><div><br></div><div>The second question has to do with re-running the benchmarks: I do</div><div>cmake + make + llvm-lit -v -j 1 -o out.json .</div><div>but if I try to do the latter another time, it just does/shows nothing. Is there any reason</div><div>that the benchmarks can't be run a second time? Could I somehow run it a second time ?</div><div><br></div><div>Lastly, slightly off-topic but while we're on the subject of benchmarking, </div><div>do you think it's reliable to run with -j <number of cores> ? I'm a little bit afraid of</div><div>the shared caches (because misses should be counted in the CPU time, which</div><div>is what is measured in "exec_time" AFAIU) </div><div>and any potential multi-threading that the tests may use.</div><div><br></div><div>Best,</div><div>Stefanos</div></div>