Repository navigation
Make `lfreq` able to do a simpler kind of frecency
This is a BREAKING CHANGE only if you were parsing the default output of lfreq and cared the frequencies were integral counts, not normalized fractions.
You can get the old output with a non-default format of "@c @k" but the numbers come out in scientific notation so you have to parse them as floats (what awk would do anyway). This change is since the move to a cheap, updating frecency (using techniques along the lines of adix/embist) has raw weight numbers all over the floating point range for --old < 1.0.
There's essentially no measurable speed penalty for using FP arithmetic and float32 is just as many bytes as uint32. So, there's no space penalty, either. The git log has the gory details. IMO, it's an easier to understand concept of frecency than the mozilla/firefox ideas - just one pure EWMA of ages a given key shows up, with just that one free multiplier parameter. Things are self-clocking so you do not need timestamps (or a file format for them, etc.) and long periods of idle time cause no trouble.