We don't need to estimate the hit Frequency which could be time-varying.
If we can use a 2 counters, we can precisely determine the 1,000,000th hit. One slow-counter one regular fast counter. But that means we use 32 bits for our counters, like a 32-bit counter!
void increment(){ // was named count()?
static int count16bit;
long unsigned int now = system_time_in_nanos();
if (now%16 == 0){ //just check last 4 bits of "now"
count16bit++;
//now check count16bit
if (count16bit <= 0){cout<<"got it"<<endl; }
}
}
https://en.wikipedia.org/wiki/Approximate_counting_algorithm#Algorithm is the standard implementation of a similar idea.
My main blog
Labels
_fuxi
(75)
_IV
(146)
_misc
(5)
{610610
(30)
algo
(1)
automatedTrading
(8)
banking/economy
(3)
book
(14)
c++misc
(125)
c++real
(15)
c++STL/java_container
(7)
cppTemplate
(1)
db
(13)
DB_tuning
(4)
deepUnder
(1)
dotnet
(69)
eTip
(17)
excelVBA
(12)
finance+sys
(34)
financeMisc
(24)
financeRisk
(2)
financeTechMisc
(4)
financeVol
(21)
finmath
(17)
fixedIncome
(25)
forex
(16)
IDE
(24)
invest
(1)
java
(43)
latency
(4)
LinearAlgebra
(3)
math
(30)
matlab
(24)
memoryMgmt
(11)
metaPrograming
(2)
MOM
(15)
msfm
(1)
murex
(4)
nofx
(11)
nosql
(3)
OO_Design
(1)
original_content
(4)
scriptUnixAutosys
(19)
SOA
(7)
socket/stream
(15)
sticky
(1)
subquery+join
(2)
swing
(32)
sybase
(6)
tech_orphan
(12)
tech+fin_career
(30)
telco
(11)
thread
(21)
timeSaver
(13)
tune
(10)
US_imm
(2)
US_misc
(2)
windoz
(20)
z_algo+dataStructure
(4)
z_arch
(2)
z_c#GUI
(30)
z_career
(10)
z_career]US^Asia
(2)
z_careerBig20
(1)
z_careerFinanceTech
(11)
z_FIX
(6)
z_forex
(31)
z_hib
(2)
z_ikm
(7)
z_inMemDB
(3)
z_j2ee
(10)
z_oq
(14)
z_php
(1)
z_py
(26)
z_quant
(4)
z_skillist
(3)
z_spr
(5)