Evaluating Candidate Instructions for Reliable Program Slowdown at the Compiler Level: Towards Supporting Fine-Grained Slowdown for Advanced Developer Tooling

Humphrey Burchell, Stefan Marr

Research output: Chapter in Book/Report/Conference proceedingConference proceedingspeer-review

Abstract

Slowing down programs has surprisingly many use cases: it helps finding race conditions, enables speedup estimation, and allows us to assess a profiler's accuracy. Yet, slowing down a program is complicated because today's CPUs and runtime systems can optimize execution on the fly, making it challenging to preserve a program's performance behavior to avoid introducing bias. We evaluate six x86 instruction candidates for controlled and fine-grained slowdown including NOP, MOV, and PAUSE. We tested each candidate’s ability to achieve an overhead of 100%, to maintain the profiler-observable performance behavior, and whether slowdown placement within basic blocks influences results. On an Intel Core i5-10600, our experiments suggest that only NOP and MOV instructions are suitable. We believe these experiments can guide future research on advanced developer tooling that utilizes fine-granular slowdown at the machine-code level.
Original languageEnglish
Title of host publicationProceedings of the 17th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages
EditorsStefan Marr, Shoaib Akram, Yusuke Izawa
PublisherACM
Pages52-58
Number of pages7
ISBN (Electronic)979-8-4007-2164-9
DOIs
Publication statusPublished - 09 Oct 2025
Externally publishedYes

Publication series

NameVMIL
PublisherACM

Fields of science

  • 102 Computer Sciences

Cite this