@1RV1N : i've a last idea to convince you my fee are fair, then i give up.
since you wiresharked my netcode, measure :
P the period between two fee pool connections.
F the fee session duration. this is the time between the connection and the last fee share. not really, since the fee doesn't start immediately after the connect and the last fee share does not always happen at the exact time of end but that will give you the order of magnitude. do not measure between connect and disconnect, since i explicitly delay the disconnect not to overlap with the user pool reconnect, if any (it happens often with Nicehash).
and divide F by P. you'll get ~0.9% but not 4%.
since all values are randomized, take several sessions and do an average. in such case it will remove the diff bias and you should get a good value.
edit:
I think bug isn't fixed
Since i couldn't understand how you could measure a quadruple value, i re checked everything. I, again, confirm the fee session is 0.9% of time. May you do the test i explain above and you'll see. You can do your sniff test on every single version of JCE ever released, even the first CPU version, i never changed the fee system, always used the Claymore-style principle, with same fees (3%, 1.5%, 0.9% or mixed average). And maybe you should do a test on a pure CPU mining where the hashrate is ultra-stable, pool side you'll see the effective hashrate is consistent with the CPU hashrate, on the long term.
But I still found a bias.
The durations (all of them) are rounded up to the whole second. This is to have a light netcode (to give all power to the mining CPUs) and avoid the race case of a zero-length duration. It applies to both the normal and fee sessions. It also explains why, when you press H or R the report may take a split second to come. All is the same code.
Now the maths, in the worst case, it may turn
F/P into (F+1)/P or F/(P+1) or (F+1)/(P+1)
If F is big, it would be negligible. But F and P are the same order of magnitude as other miners like SRB or Stak or Claymore 10+ : P = ~6000 and F = ~50, randomized.
And F against F+1 with F=50 is a 2% bias in worst case, 0% bias in best case, 1% average.
Here i'm talking about percent of percent, so the real effective average fee level of JCE GPU is not 0.9% but 0.909%
it's a very low bias, and does not explain your number of 4%, but it's still a bias that worth to be fixed. Not an emergency, it will be fixed in next normal release.