Duff's device is a technique for loop unrolling which involves jumping
into the middle of the unrolled loop. Overlapping access is an alternate
technique also useful for loop unrolling (as well as arranging for aligned
access), which involves doing a small amount of redundant work, but saves
branches. Though it is slightly less general, this tends to be more
performant on modern hardware.
On Sat, 9 Apr 2022, Henry Rich wrote:
I don't understand the last sentence. 'duff'? 'overlapping access'?
Henry Rich
On 4/9/2022 9:37 PM, Elijah Stone wrote:
On Sat, 9 Apr 2022, Henry Rich wrote:
JE generally does few data-dependent branches, and I expect it would
not be a good idea to use two hyperthreads in one core; but you'll
have to make that decision.
Branch miss is tens of cycles; cache miss is hundreds.
Re branches: from what I've seen, there is too much duff and not
enough overlapping access. Though I guess those are
metadata-dependent branches, not data-dependent branches :)
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
--
This email has been checked for viruses by AVG.
https://www.avg.com
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm