Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Dyno: fixes to timing script and infrastructure (#26463)
This PR makes a small fix to the timing script, and adjust `testInteractive` to allow saving timing information across generations. The fix to the timing script avoids division by zero (which happens often on my machine). I've run into the issue many times, but each time neglected to submit a simple fix. The change to `testInteractive` adds a new `--time-all-generations` switch to `testInteractive` which configures it to continue gathering query timings across generations, rather than saving the latest generation's timing and discarding others. This way, it's possible to measure the impact of changes to the query system on performance. My sample script to gather performance switching back and forth between two files: ```bash #!/bin/bash # Create a pipe pipe=/tmp/testpipe if [[ ! -p $pipe ]]; then mkfifo $pipe fi echo "Pipe created" exec 3<>$pipe echo "Pipe opened" $(find build -name "testInteractive") domains.main.chpl --std --time $1 --time-all-generations < $pipe & echo "y" >&3 sleep 10 cp domains.2.chpl domains.main.chpl echo "y" >&3 sleep 5 cp domains.1.chpl domains.main.chpl echo "y" >&3 sleep 5 echo "n" >&3 sleep 5 exec 3>&- rm $pipe ``` Reviewed by @benharsh -- thanks! Running the script as `./script somefile`, you can then feed `somefile` into `frontend/util/analyze-query-trace`.
- Loading branch information