it would be interesting to know where the overhead comes from since internally the scheduler also only uses some list with the functions. a wait() also stores/restores the local variables but does this take so much time?