diff options
author | Jeff Garzik <jeff@garzik.org> | 2011-01-29 00:47:48 -0500 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2011-01-29 00:47:48 -0500 |
commit | f570ffcf75764398c9682c310ad7420acd7593c2 (patch) | |
tree | 2883aed45bfd07a190f9eb2546ae4703b60283dc | |
parent | a2967993586cdfe32bc6c61513a449c900820613 (diff) |
Code movement: move second hash time sampling to main miner loop
-rw-r--r-- | cpu-miner.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/cpu-miner.c b/cpu-miner.c index 648f4d9..dc611ad 100644 --- a/cpu-miner.c +++ b/cpu-miner.c @@ -230,18 +230,13 @@ out: free(hexstr); } -static void hashmeter(int thr_id, struct timeval *tv_start, +static void hashmeter(int thr_id, const struct timeval *diff, unsigned long hashes_done) { - struct timeval tv_end, diff; double khashes, secs; - gettimeofday(&tv_end, NULL); - - timeval_subtract(&diff, &tv_end, tv_start); - khashes = hashes_done / 1000.0; - secs = (double)diff.tv_sec + ((double)diff.tv_usec / 1000000.0); + secs = (double)diff->tv_sec + ((double)diff->tv_usec / 1000000.0); if (!opt_quiet) printf("HashMeter(%d): %lu hashes, %.2f khash/sec\n", @@ -259,7 +254,7 @@ static void *miner_thread(void *thr_id_int) while (1) { struct work work __attribute__((aligned(128))); unsigned long hashes_done; - struct timeval tv_start; + struct timeval tv_start, tv_end, diff; json_t *val; bool rc; @@ -342,7 +337,10 @@ static void *miner_thread(void *thr_id_int) return NULL; } - hashmeter(thr_id, &tv_start, hashes_done); + gettimeofday(&tv_end, NULL); + timeval_subtract(&diff, &tv_end, &tv_start); + + hashmeter(thr_id, &diff, hashes_done); /* if nonce found, submit work */ if (rc) |