I would like to change the name of the Granular BitGroom (GBG) algorithm to Granular BitRound (GBR), to more clearly convey that it applies BitRound with the keepbits determined optimally for each value, rather than using the same number of keepbits for all values in a variable. Feedback welcome!
Upsides: Name is more clear. GBG actually has little of BitGroom in it, but the name implies they are strongly related. GBR has the same code as BitRound in it, at the end, to do the quantization. I'm getting ready to add BitRound as a separate codec, and GBR makes that clear.
Downsides: CCR 1.3.0 has already been released with the shorthand name granularbg everywhere, including in the API which looks like nc_def_var_granularbg(). I would suggest changing that to granularbr and GBR instead of GBG in the docs. This change would break the source code of anyone using the nc_def/inq_var_granularbg() function names. Unless we added a backwards compatibility token that redefined nc_def/inq_var_granularbg to nc_def/inq_var_granularbr.
Naming new stuff is hard. It was not clear to me when I wrote GBG that BitRound would skyrocket in importance (due to Klower's paper). My feeling is that it's best to fix the names now to avoid misinterpretation later. Though I'm not absolutely wedded to the change. @edwardhartnett what do you think? Has this horse already left the barn? Or can we make this change in 1.4?
I would like to change the name of the Granular BitGroom (GBG) algorithm to Granular BitRound (GBR), to more clearly convey that it applies BitRound with the keepbits determined optimally for each value, rather than using the same number of keepbits for all values in a variable. Feedback welcome!
Upsides: Name is more clear. GBG actually has little of BitGroom in it, but the name implies they are strongly related. GBR has the same code as BitRound in it, at the end, to do the quantization. I'm getting ready to add BitRound as a separate codec, and GBR makes that clear.
Downsides: CCR 1.3.0 has already been released with the shorthand name
granularbg
everywhere, including in the API which looks likenc_def_var_granularbg()
. I would suggest changing that togranularbr
and GBR instead of GBG in the docs. This change would break the source code of anyone using thenc_def/inq_var_granularbg()
function names. Unless we added a backwards compatibility token that redefinednc_def/inq_var_granularbg
tonc_def/inq_var_granularbr
.Naming new stuff is hard. It was not clear to me when I wrote GBG that BitRound would skyrocket in importance (due to Klower's paper). My feeling is that it's best to fix the names now to avoid misinterpretation later. Though I'm not absolutely wedded to the change. @edwardhartnett what do you think? Has this horse already left the barn? Or can we make this change in 1.4?