4 ms·
Very cool! Also, huh interesting. I’ve used rdtsc to measure cycle diffs but had no idea its execution takes that long. Is that common across architectures?
by michalsustr 2mo ago
Very cool! Also, huh interesting. I’ve used rdtsc to measure cycle diffs but had no idea its execution takes that long. Is that common across architectures?
- inigyou 2mo agoAFAIK it acts as some kind of execution barrier, to give meaningful timing.
- rrampage 2mo agoIsn't that rdtscp ( https://www.felixcloutier.com/x86/rdtscp https://www.felixcloutier.com/x86/rdtscp )?
- deleted 2mo ago[deleted]
- pbsd 2mo agoThe cycle count for RDTSC is ~25 cycles on Skylake-era microarchitectures. The 49 number shown in the OP seems off.
- phire 2mo agoIt's actually benchmarking 1000 repetitions of the RDTSC instruction running in parallel. My guess... On Skylake, multiple in-flight RDTSC instructions slow each other down for some reason? Possibly because it's attempting to provide a strict monotonic guarantee, that no two RSTSC instructions will return the same timestamp. Intel's manual only claims monotonic, which theoretically allows for two RSTSC instructions to return the same timestamp.