Jeff Garzik
994c700ff4
Fix number-of-threads init logic on Windows
2011-06-09 03:47:07 -04:00
Jeff Garzik
0091c4e128
only read processor count via sysconf on non-Windows platforms
2011-06-08 22:30:10 -04:00
ckolivas
8a832eeab5
Linux + x86_64 optimisations.
...
Add likely() macro.
Optimise a few obvious code paths with likely/unlikely.
Change algo to sse2_amd64 by default.
Move priority change to worker threads only.
Detect number of CPUs and set default number of threads == CPUs.
Add scheduling policy change to worker threads to SCHED_IDLE first and fallback to SCHED_BATCH on linux.
Don't error when failing to set priority.
Add CPU affinity and bind worker threads to CPUs when number of threads is a multiple of number of CPUs.
Update NEWS with changes.
2011-06-09 11:45:06 +10:00
Jeff Garzik
69529c3859
Support full URL, in X-Long-Polling header
2011-03-24 14:09:49 -04:00
Jeff Garzik
46819af36f
--user/--pass fixes
...
Also, some newline fixes (applog callers do not need newlines in strings)
2011-03-21 20:50:59 -04:00
Jeff Garzik
81352ca48f
Support --user and --pass, as alternative to --userpass
2011-03-21 04:27:02 -04:00
Jeff Garzik
2fd9d54443
Convert remaining [f]print to applog().
...
Also, remove a few superfluous printouts.
2011-03-21 04:02:13 -04:00
Jeff Garzik
144cf62d7c
Avoid potential for div-by-zero, when calculating max-nonce
2011-03-21 03:45:26 -04:00
Jeff Garzik
d49d639269
cpu-miner.c: Remove newline from applog() call
2011-03-21 03:42:57 -04:00
Jeff Garzik
24afd61775
Introduce more standardized logging (incl. optional syslog).
...
Also, improve portability of alloca.
2011-03-18 17:24:16 -04:00
Jeff Garzik
7a87bee999
Add long polling support
2011-03-18 02:53:13 -04:00
Jeff Garzik
6818c6928a
Improve max nonce auto-adjustment with some basic algebra.
2011-03-17 23:22:10 -04:00
Jeff Garzik
2d49a9a5d7
Introduce ability to interrupt hash scanners in the middle of scanning.
2011-03-17 22:02:28 -04:00
Jeff Garzik
0258fae450
Fix Windows build, that broke with yasm integration
2011-03-14 23:36:28 -04:00
Jeff Garzik
4f7a51e9ed
Move all RPC I/O to separate thread.
2011-03-14 23:17:34 -04:00
Mark Crichton
96d2287c72
X86_64 SSE2 support for Linux
2011-03-06 23:49:00 -05:00
Jeff Garzik
4a7f3f70b5
Show date/time when proof-of-work is found.
2011-02-17 01:58:53 -05:00
Jeff Garzik
fa7e80b8e5
Extract get-work logic into separate function.
2011-02-17 01:21:16 -05:00
Jeff Garzik
6d2882937f
Add support for JSON-format configuration file
2011-02-13 03:04:02 -05:00
Jeff Garzik
c0935a9489
Re-use CURL object, thereby caching DNS and HTTP connections where possible.
2011-02-10 00:41:44 -05:00
Jeff Garzik
e47076caac
Fix max-nonce auto-adjustment logic to actually work
2011-02-04 11:54:31 -05:00
Jeff Garzik
e8ee4cb002
Add --retry-pause, to set length of pause time between failure retries
2011-02-03 00:54:03 -05:00
Jeff Garzik
714c0fd7c9
Continue scanhash, even if high 32 bits are zero.
...
Previously, we would stop the scan if the high 32 bits of the hash were zero,
as a quick shortcut for testing the full hash. If this quick test succeeded,
we would pass the work to the server for full validation.
Change this logic to perform full validation inside minerd, so that work may
be resumed more quickly if hash > target.
2011-02-03 00:46:55 -05:00
Jeff Garzik
453101d9e9
Remove "PROOF OF WORK FOUND?" debug output; redundant.
2011-01-29 23:55:11 -05:00
Jeff Garzik
f889476bbd
Dynamically adjust time spent hashing current work unit, to meet target
2011-01-29 01:14:12 -05:00
Jeff Garzik
0b67740707
Pass max-nonce as arg to each sha256 algo.
...
Should be an equivalent transformation, with no behavior changes.
2011-01-29 00:56:24 -05:00
Jeff Garzik
f570ffcf75
Code movement: move second hash time sampling to main miner loop
2011-01-29 00:47:48 -05:00
Jeff Garzik
e41171424a
Fix non-working short options -q and -r N, by listing them in optstring.
2011-01-29 00:28:19 -05:00
Jeff Garzik
fc4ed179e8
Release version 0.5.
2010-12-28 22:38:57 -05:00
Jeff Garzik
16006f9037
Rather than sleep-loop, main thread waits for all threads to exit.
2010-12-28 21:10:41 -05:00
Jeff Garzik
872211caad
Add --quiet option, to disable hashmeter output.
2010-12-27 02:13:15 -05:00
Jeff Garzik
d88648dd39
sha256_via: ensure that found nonce is copied back into output data buffer
...
Also, some minor cleanups, removing unused args.
2010-12-23 20:21:00 -05:00
Jeff Garzik
d363a1d68d
sha256_via: ensure proper data area is fully checksummed
2010-12-19 21:37:30 -05:00
Jeff Garzik
ee592d0a60
Handle temporary JSON failures (due to server reboot, etc.)
2010-12-18 22:22:06 -05:00
Jeff Garzik
857ba8f6cc
Release version 0.3.
2010-12-18 16:31:28 -05:00
Jeff Garzik
ce1c9a8aca
Display version on minerd --help usage output.
2010-12-06 20:21:22 -05:00
Jeff Garzik
f1fcd76ba7
sha256_cryptopp: Add crypto++ 32-bit assembly implementation
2010-12-06 20:14:58 -05:00
Jeff Garzik
1a1a018627
Release version 0.2.2.
...
Remove 'experimental' marker from VIA padlock implementation.
2010-12-06 02:30:57 -05:00
Jeff Garzik
276dcdbcec
Avoid null deref in command line arg processing.
...
Reported by lfm.
2010-12-05 23:18:18 -05:00
Jeff Garzik
145e5fe141
submit_work: increase string buffer, to avoid overflow
2010-11-29 12:21:03 -05:00
Jeff Garzik
74bb196296
Add Crypto++ sha256 implementation (C only, ASM elided for now)
2010-11-28 20:16:22 -05:00
Jeff Garzik
339ddf4d75
Move sha256_generic into its own .o build output. Const-ify midstate param.
2010-11-27 04:31:32 -05:00
Jeff Garzik
4c47553c85
Clean up multi-algorithm selection and display
2010-11-27 03:50:52 -05:00
Jeff Garzik
e2eeaaf75b
Add experimental (read: probably broken) VIA padlock support.
2010-11-27 01:29:56 -05:00
Jeff Garzik
86eb37d631
Improve and modularize compile-time CPU detection.
...
Ideally, we should move this to autoconf.
2010-11-27 00:46:59 -05:00
Jeff Garzik
500759cea1
s/__SSE__/__SSE2__/
2010-11-27 00:12:28 -05:00
Jeff Garzik
2f2bf745c4
Note that 4way is experimental
2010-11-26 23:16:38 -05:00
Jeff Garzik
35ea649d97
Improve hash performance statistics.
2010-11-26 23:12:24 -05:00
Jeff Garzik
a50201eb21
Improve --help output. Mention --help in README.
2010-11-26 20:15:07 -05:00
Jeff Garzik
1f5074381f
Correct -a command line help.
2010-11-26 19:12:22 -05:00
Jeff Garzik
c639149977
Add tcatm's 4way SSE2 sha256 implementation.
2010-11-26 19:04:48 -05:00
Jeff Garzik
0a333110f7
Build on Windows using mingw32.
2010-11-26 16:28:12 -05:00
Jeff Garzik
352bab2109
Introduce compat.h, for Win32 builds
2010-11-26 15:50:36 -05:00
Jeff Garzik
b7cc9b68ad
Replace argp with getopt_long
2010-11-26 15:46:11 -05:00
Jeff Garzik
59f1fb2ec8
Link with pthreads lib, if present. Remove GNU-specific asprintf usage.
2010-11-26 15:20:54 -05:00
Jeff Garzik
5d1a45294b
code movement: move submit_work() above hot path
2010-11-25 04:04:30 -05:00
Jeff Garzik
945be82ea1
Move utility routines to util.c.
2010-11-25 04:03:59 -05:00
Jeff Garzik
e4c4b3fe5f
scanhash micro-optimizations
...
* don't bother returning nonce, we only need success/fail boolean
* don't needlessly read nonce pointer data, for each loop
2010-11-25 01:27:19 -05:00
Jeff Garzik
1032fec15b
Allocate work struct once, on stack, rather than alloc+free for each getwork.
2010-11-25 01:16:34 -05:00
Jeff Garzik
a614823fa7
Remove unused OpenSSL dependency.
...
Also, turn a few strings into #define'd constants.
2010-11-25 01:02:53 -05:00
Jeff Garzik
23cd22a5a5
RPC URL, username and password become arguments,
...
rather than compile-time constants.
2010-11-25 00:49:39 -05:00
Jeff Garzik
67d3c91317
Small cleanups and comment additions. Don't sleep after proof of work found.
2010-11-25 00:36:40 -05:00
Jeff Garzik
ea6c1126ec
Add GPLv2 header.
2010-11-24 19:50:46 -05:00
Jeff Garzik
702e2ac811
Convert over to autotools. Release version 0.1.
2010-11-24 19:31:12 -05:00
Jeff Garzik
19b51e3600
Clean up protocol debugging output, and other cleanups.
2010-11-24 18:25:06 -05:00
Jeff Garzik
5b0ab3cf79
Remove byte reversing in submit_work()
2010-11-24 15:39:37 -05:00
Jeff Garzik
89a05600ba
Code movement. Update stats counter more frequently.
2010-11-24 05:55:56 -05:00
Jeff Garzik
5b6e9a92f1
Add command line parsing, and multiple threads.
2010-11-24 03:36:53 -05:00
Jeff Garzik
45a29ac997
Add timing info. Remove BIGNUM PoW checks.
2010-11-24 02:11:59 -05:00
Jeff Garzik
666af32046
Clean up proof-of-work checking,
...
attempting to address find-solution-too-fast problem.
2010-11-24 01:19:47 -05:00
Jeff Garzik
16b535e2dd
Add some code comments.
2010-11-23 23:54:37 -05:00
Jeff Garzik
9bc3649e91
Add README and license info.
2010-11-23 23:43:45 -05:00
Jeff Garzik
9599867d8b
Initial revision of CPU miner.
...
NOTE: non-functional (incorrectly thinks it finds solution, too quickly)
2010-11-23 23:33:20 -05:00