Skip to content

About

Little micro-benchmark for Linux to test the cost of context switching and system calls

Resources

Stars

292 stars

Watchers

16 watching

Forks

Latest commit

 

History

10 Commits

Folders and files

Repository files navigation

Little micro-benchmarks to assess the performance overhead of context
switching.

timesyscall: Benchmarks the overhead of a system call.
timectxsw:   Benchmarks the overhead of context switching between 2 processes.
timetctxsw:  Benchmarks the overhead of context switching between 2 threads.
timectxswws: Benchmarks the overhead of context switching between 2 processes
             using a working set of the size specified in argument.
timetctxsw2: Benchmarks the overhead of context switching between 2 threads,
             by using a shed_yield() method.
             If you do taskset -a 1, all threads should be scheduled on the
             same processor, so you are really doing thread context switch.
             Then to be sure that you are really doing it, just do:
               strace -ff -tt -v taskset -a 1 ./timetctxsw2
             Now why sched_yield() is enough for testing ? Because, it place
             the current thread at the end of the ready queue. So the next
             ready thread will be scheduled.
             I also added sched_setscheduler(SCHED_FIFO) to get the best
             performances.

About

Little micro-benchmark for Linux to test the cost of context switching and system calls

Resources

Stars

292 stars

Watchers

16 watching

Forks

Releases

Packages

Contributors

Languages