Any chance to call Tango as Extended Standard Library

Christopher Wright dhasenan at gmail.com
Mon Jan 19 15:31:31 PST 2009


Jason House wrote:
> void iterateOverArray(T)(T[] arr){
>   foreach (i; 0..arr.length)
>     yield(arr[i]);
> }

Coroutines are the slowest option, but the easiest to write. It takes 32 
instructions or so to switch to or from a coroutine on x86. I'm not sure 
how that translates in terms of memory usage, though. A delegate is 
reasonably fast. A range struct's methods can be inlined (though opApply 
could be, too, in some cases).

However, any collection library using polymorphism will have to use 
polymorphic iterators. This means you probably won't get any benefit in 
terms of speed from using ranges -- quite the opposite. But there are 
benefits.



More information about the Digitalmars-d mailing list