> 1. To roll again. > > A player who rolls two sixes can reroll the dice for an additional > turn. This is where I had my AHA moment! (Consider my software development process as chaotic as a dice roll So rerolling is really just rolling the dice again to "get my patch accepted" ;-) > 2. (programming) To convert (an unrolled instruction sequence) back into > a loop. quotations ▼ We do not have unrolled loops? This was good back in the day where the cost of each instruction weighted heavy on the CPU, such that the JMPs that are needed (and the loop variable check that might have had a bad branch prediction) for the loop were slowing down the execution. Nowadays (when I was studying 5 years ago) the branch prediction and individual instruction execution are really good, but the bottleneck that I measured (when I had a lot of time at my disposal and attending a class/project on micro architectures), was the CPU instruction cache size, i.e. loop unrolling made the code *slower* than keeping tight loops loaded in memory. https://stackoverflow.com/questions/24196076/is-gcc-loop-unrolling-flag-really-effective > Noun > > reroll (plural rerolls) > > (dice games) A situation in the rules of certain dice games where a > player is given the option to reroll an undesirable roll of the dice. > > > You will notice how this does not list *any* hint at referring to > something that Junio calls "reroll". We have undesirable patches that were 'rolled' onto the mailing list, so they have to be rerolled? > Footnote *1*: https://en.wiktionary.org/wiki/commit#Noun does not even > bother to acknowledge our use of referring to a snapshot of a source code > base as a "commit". When Git was a content addressable file system, a commit was precisely "a database transaction, [...] making it a permanent change." Side note: I was just giving a talk to my colleagues about diff aglorithms (and eventually describing a bug in the histogram diff algorithm) and we got really riled up with "Longest Common Subsequence", as the mathematical definition is different than what the code or I (after studying the code) had in mind. Naming things is hard, and sometimes the collective wisdom got it wrong, but changing it would be very costly in the short/medium term. Another note about "rolling things": At $DAYJOB I review changes that are committed to the another revision control system w.r.t. its compliance of open source licenses (hence I am exposed to a lot of different projects), and some of those changes are titled "Roll up to version $X" which I found strange, but knew what was meant. Stefan