News for hackers. Stuff that matters.
Re:VS Code can do that? by tzahola on Saturday April 21, 2018 @01:44PM (#16892372)
Can you give us an example where manual loop unrolling would be desired over a for loop?
Re:VS Code can do that? by alexeldeib on Tuesday April 24, 2018 @03:02AM (#16910493)
What actually brought it to mind was a hardware class where we were instantiating a bunch of the same module but didn't have a programmatic way to do it with our tooling. So...sorta like loop unrolling :)
Re:VS Code can do that? by andrepd on Saturday April 21, 2018 @02:21PM (#16892558)
Languages/compilers that don't do loop-unrolling automatically. If they do, then yes, it's probably best to let the compiler do it.
Re:VS Code can do that? by monkpit on Saturday April 21, 2018 @03:21PM (#16892898)
Like which?
Re:VS Code can do that? by staticassertion on Saturday April 21, 2018 @04:19PM (#16893220)
All of the languages I can think of rely on the compiler backend for loop unrolling, which means it isn't a guarantee. You might want this if you need to guarantee the unroll.

But I wasn't doing this for a loop unroll.

I had a fixed size array that I wanted to serialize/ deserialize to/ from capnproto - there are no fixed size arrays in capnproto, so I wrote a message that just had b1, b2, b3... b16, and then some code to pull it out into a statically sized array. It allowed me to pull a bunch of bytes into a much larger statically allocated array without any allocation or bounds checking.