Don:

> But still, cache effects are more important than instruction scheduling 
> in 99% of cases.

I agree.
CPUs have prefetching instructions, but D doesn't expose them as intrinsics. A 
bit more higher level visibility for those instructions may be positive today.

Being D a system language, another possible idea is to partially unveil what's 
under the "array as a random access memory" illusion. Memory hierarchy makes 
array access times quite variable according to what level of the memory pyramid 
your data is stored into (http://dotnetperls.com/memory-hierarchy ). This is 
why numeric algorithms that work on large arrays enjoy tiling a lot now. The 
Chapel language has language-level support for a high level specification of 
tilings, while Fortran compilers perform some limited forms of tiling by 
themselves.

Bye,
bearophile

Reply via email to