Hi. In Pike 7.8 calling call_out takes 0.002 ms. In Ubuntu's Pike v8.0 release 498 and in Opera's v8.0 release 610 it takes 2ms. Test program:
int callouts_to_queue = 5; System.Time t = System.Time(); int before; void f() { exit(1, "this is not expected to run"); } void start() { before = t->usec_full; call_out(end, 0.0); } void end() { int delay = t->usec_full - before; werror("took %f ms\n", delay / 1000.0); exit(0); } int main() { for (int i = 0; i < callouts_to_queue; i++) call_out(f, 3.0); call_out(start, 0.0); return -1; }
Is there a fix in younger version of Pike?
Best Regards, Tomasz Jamroszczak