[DGD] max_ticks question
Shentino
shentino at gmail.com
Fri Aug 5 19:02:06 CEST 2011
2011/8/5 Petter Nyström <jimorie at gmail.com>
> On Fri, Aug 5, 2011 at 5:49 PM, Kent Mein <mein at cs.umn.edu> wrote:
> > I think this is obviously the kind of application that the
> > MAX_TICKS are needed for so I don't want to make them unlimited.
> > Is just increasing MAX_TICKS the best strategy for something like this?
>
> On Fri, Aug 5, 2011 at 6:10 PM, Noah Gibbs <noah_gibbs at yahoo.com> wrote:
> > [...] You'd have to divide it up somehow, of course.
>
> Like Noah said, in order for it to scale to an unlimited number of
> rooms, you need to divide your algorithm to run over multiple
> execution rounds. (Or were execution rounds called tasks now? I keep
> forgetting.)
>
Execution rounds are now called tasks.
However I consider execution round acceptably backwards compatible
terminology for the time being.
This is done using the call_out() kfun, as you may already know...
>
> One example of how that could be done is to remove the loop and what
> comes after it from your main function, and instead call a function
> there, that does something like this:
>
> void print_nodes_step (string *files, varargs int i)
> {
> do
> {
> if (i >= sizeof(files))
> {
> break;
> }
>
> print_node(files[i++],str);
> }
> while (status()[ST_TICKS] >
> SOME_NUMBER_SUFFICIENTLY_BETWEEN_0_AND_MAX_TICKS)
>
> if (i >= sizeof(files))
> {
> write_file(filename,"}\n");
> write_file(filename,"# End: str\n");
> }
> else
> {
> call_out("print_nodes_step", 0, files, i);
> }
> }
>
> Regards,
> Petter
> ___________________________________________
> https://mail.dworkin.nl/mailman/listinfo/dgd
>
More information about the DGD
mailing list