From: Lou Vanek Date: 2006-01-12T01:29:15+09:00 Subject: Re: thread scheduling times are set in either function: thread_timer, or rb_thread_start_timer, depending on whether _THREAD_SAFE is set (on my platform it is). On my platform, time slice is set to 10 milliseconds: req.tv_nsec = 10000000; WAIT_TIME is just a flag. It is not the amount of time to wait. Mark Volkmann wrote: > On 1/11/06, Lou Vanek wrote: > >>Mark Volkmann wrote: >> >> >>>I've search for documentation about whether Ruby thread scheduling >>>uses FIFO or round-robin and can't find anything. It seems to be >>>round-robin. Is that correct? >> >>all threads being equal, it's round robin. >> >>the thread scheduler is called rb_thread_schedule in the eval.c file. >> >> >>>Is there a way to control the time slice used for each thread running >>>at the same priority? >> >>you would have to change the hard-coded time (integer) values >>in the eval.c file and recompile ruby. > > > Thanks for the info! That's some tough code to read. I thought I > could at least find the time slice duration, but I failed. Do you know > which variable/constant holds that? Is it WAIT_TIME? That has a > value of (1<<2) which I guess is equal to 4. 4 what? milliseconds? > microseconds? > > -- > R. Mark Volkmann > Partner, Object Computing, Inc.