bc7enc_rdo icon indicating copy to clipboard operation
bc7enc_rdo copied to clipboard

Encoding time incorrect on multicore machine

Open cwoffenden opened this issue 2 years ago • 0 comments

I'll update this more when I've tested on other platforms. Running on Debian I'm seeing this:

Total encoding time: 32.043268 secs
Total processing time: 32.212762 secs

But the actual run was much, much faster. If I time the run (with time) I see:

real	0m2.503s
user	0m57.651s
sys	0m4.223s

The 2.5 seconds of wallclock time feels correct (this is a 144-core machine).

Update: if I change the clock() calls to the required jumble of std::chrono incantations I get:

Total encoding time: 0.400000 secs
Total processing time: 0.417000 secs

This was as millis so on a many core or fast machine misses the nuances. I could do a PR for this and switch to micros if this is of interest? Something like this:

https://github.com/richgel999/bc7enc_rdo/compare/master...cwoffenden:bc7enc_rdo:mt-timer?expand=1

(It's what I'm using to time the BC4/5 changes I made)

cwoffenden avatar Sep 21 '22 15:09 cwoffenden