aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Garzik <jeff@garzik.org>2011-01-29 00:47:48 -0500
committerJeff Garzik <jgarzik@redhat.com>2011-01-29 00:47:48 -0500
commitf570ffcf75764398c9682c310ad7420acd7593c2 (patch)
tree2883aed45bfd07a190f9eb2546ae4703b60283dc
parenta2967993586cdfe32bc6c61513a449c900820613 (diff)
Code movement: move second hash time sampling to main miner loop
-rw-r--r--cpu-miner.c16
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)