Marc Feeley scripsit: > Not true. Lazy-task creation will do a very good job dynamically. > Read my PhD thesis for details:
Well, I have read the whole thesis now (impressive stuff) and it still seems to me that near the leaves of a spawning tree there comes a point when the overhead, however small, must exceed the overhead of the fork/join operations, however efficient. Consider the sum benchmark (which, for the rest of you, adds up the elements of an array of size 2^n by divide-and-conquer, splitting the array in half repeatedly until one is adding two elements in each leaf thread). Can it really be that it is more efficient to add four numbers in two threads than in one thread? Somewhere, exactly where will depend on implementation details, one must cross the line where constant factors dominate. And that is not a point that, in the general case, will be known. -- John Cowan http://ccil.org/~cowan [email protected] In might the Feanorians / that swore the unforgotten oath brought war into Arvernien / with burning and with broken troth. and Elwing from her fastness dim / then cast her in the waters wide, but like a mew was swiftly borne, / uplifted o'er the roaring tide. --the Earendillinwe _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
