The cgminer API reports those numbers so it's easy to see what they are ... rather than just say something without proof.
Edit: though I will point out that after I added the extra 'network' byte counter to cgminer, I went and looked at the clone code ... and noticed he was ignoring some data ....................
Here's a clue (that he obviously didn't have one of
)
https://github.com/bagder/curl/blob/master/src/tool_cb_dbg.cOf course, as you already know (since I reported it to you), cgminer's counters lie about bandwidth usage. And since you haven't reported any bug to me, you have nobody to blame for that but yourself - IF it's true (which I doubt, since you're not competent and I did in fact read the code you referenced).
I've also concluded that, for whatever reason, cgminer
does not correctly report bandwidth usage consistent with usage reported by sniffing data directly on the box in question between the pool and box, which is the method I personally used for my tests. I have several GB of PCAP to back up my "vague sweeping statements". However, I find it wasteful to post all of that raw data when a summary of the findings is all that is needed.
Also, the new "E" that calculates bandwidth usage in bfgminer as a measure of number of shares per 2KB was in fact accurate to within 1% of my PCAP data. My assumption is that I'm including some packet header data that "E" is not, which would account for the error mostly.
cgminer's counters however almost never matched my PCAP data, being off by huge margins that I could not logically account for, thus I deemed that particular output from the miner useless.
After disabling gzip in bfgminer, both cgminer and bfgminer yield statistically identical results for bandwidth usage for all protocols supported by both softwares. With gzip compression enabled in bfgminer code, bfgminer, obviously, uses less bandwidth.
All long tests were done against eloipool, and some shorter comparison tests done against various other pools with expected results.
Loser ... using the version of cgminer that doesn't have the change to include the Network byte count ... D'oh
If you are going to make comments about cgminer - then do that when you know what you are talking about.
Anyway, the clone is ignoring data in certain circumstances ... as per that code from the curl developers shows ... that clearly both of you are too dumb to even notice the problem when I stick the code in front of you - lulz.
Meanwhile ... a run log ...
And anyone wanting to generate that with a customsummarypage in miner.php
#
$protopage = array(
'DATE' => null,
'RIGS' => null,
'CONFIG' => array('GPU Count', 'PGA Count', 'Pool Count', 'Strategy',
'Device Code', 'OS', 'Failover-Only'),
'SUMMARY' => array('Elapsed', 'MHS av', 'Found Blocks=Blks', 'Difficulty Accepted=Diff Acc',
'Difficulty Rejected=Diff Rej', 'Hardware Errors=HW Errs',
'Network Blocks=Net Blks', 'Utility', 'Work Utility'),
'POOL+STATS' => array('STATS.ID=ID', 'POOL.URL=URL', 'POOL.Accepted=Acc',
'POOL.Difficulty Accepted=Diff Acc',
'POOL.Difficulty Rejected=Diff Rej', 'POOL.Has GBT=GBT',
'STATS.Max Diff=Max Work Diff',
'STATS.Times Sent=#Sent', 'STATS.Bytes Sent=Byte Sent',
'STATS.Net Bytes Sent=Net Sent', 'STATS.Times Recv=#Recv',
'STATS.Bytes Recv=Byte Recv', 'STATS.Net Bytes Recv=Net Recv'));
#
$protosum = array(
'SUMMARY' => array('MHS av', 'Found Blocks', 'Difficulty Accepted', 'Difficulty Rejected',
'Hardware Errors', 'Utility', 'Work Utility'),
'POOL+STATS' => array('POOL.Accepted', 'POOL.Difficulty Accepted', 'POOL.Difficulty Rejected',
'STATS.Times Sent', 'STATS.Bytes Sent', 'STATS.Net Bytes Sent',
'STATS.Times Recv', 'STATS.Bytes Recv', 'STATS.Net Bytes Recv'));
#
$protoext = array(
'POOL+STATS' => array(
'where' => null,
'group' => array('POOL.URL', 'POOL.Has GBT'),
'calc' => array('POOL.Accepted' => 'sum', 'POOL.Difficulty Accepted' => 'sum',
'POOL.Difficulty Rejected' => 'sum',
'STATS.Max Diff' => 'max',
'STATS.Times Sent' => 'sum', 'STATS.Bytes Sent' => 'sum',
'STATS.Net Bytes Sent' => 'sum', 'STATS.Times Recv' => 'sum',
'STATS.Bytes Recv' => 'sum', 'STATS.Net Bytes Recv' => 'sum'),
'having' => array(array('STATS.Bytes Recv', '>', 0)))
);
#
... and of course you add this to your list of customsummarypages:
'Proto' => array($protopage, $protosum, $protoext)