pooler
d0caee6e3f
Merge pull request #207 from EchterAgo/alloc_speedup
...
Reduce memory allocations when generating the merkle root
2020-11-10 14:08:12 +00:00
Axel Gembe
6661ca7e1b
Reduce memory allocations when generating the merkle root
...
When generating the merkle root, the previous code calls `malloc`
once for every transaction, which is not ideal for performance.
The new code allocates a 32 KiB buffer once and reuses it for all
transactions. If a TX is bigger than the current buffer size, the
buffer is reallocated with double the current buffer size.
2020-11-10 18:43:25 +07:00
Axel Gembe
1abe346537
Speed up generation of TX buffer in merkle root generation
...
The `gbt_work_decode` function builds a long string of all the
transactions (`work->txs`) when generating the merkle root. This
is done inefficiently using `strcat` on the beginning of the
buffer for each TX. `strcat` will take more time the longer the
string is.
To fix this, we keep track of the end of the end of the string and
use `strcpy` to directly write the current TX there.
2020-11-10 18:40:44 +07:00
Jonathan Toomim
24ff5fa1e2
Correct BIP34 height encodings for heights 1-16
2020-09-06 20:11:58 -07:00
pooler
7e8960212f
Add support for bech32 addresses (BIP 173)
2019-01-08 17:38:06 +01:00
pooler
46e919f93c
Add basic Segwit support
2017-04-28 12:49:35 +02:00
pooler
96c3676d88
Fix memory leak in the long polling thread
2016-04-21 23:44:55 +02:00
pooler
aa07150158
Fix memory leaks affecting getblocktemplate
2016-03-15 20:31:49 +01:00
pooler
426fe09f9e
Version 2.4.3
2016-01-24 19:31:58 +01:00
pooler
1e0274f77d
Emit a warning on unrecognized block versions
2015-12-30 18:12:11 +01:00
pooler
cac0976509
Allow block version 4
2015-11-15 16:38:32 +01:00
pooler
ef6f5beeae
Add support for Stratum over TLS
2015-04-07 10:41:04 +02:00
pooler
07fb67e8af
Allow block version 3
2015-02-28 20:09:16 +01:00
pooler
3c01c36707
Version 2.4.1
2015-02-25 23:57:04 +01:00
pooler
9373a5c433
Add optimized PowerPC code
2015-02-25 14:06:40 +01:00
pooler
4611186cb8
Support arbitrary-size arguments to mining.submit
...
Fixes #87
2015-02-14 19:38:25 +01:00
pooler
2d92d6604b
getblocktemplate: ignore higher bits of "version"
...
Allows use of getblocktemplate with merge-mined cryptocurrencies
that store the chain ID in the block version.
2015-01-05 19:23:33 +01:00
pooler
be1b725270
Add support for scrypt(N, 1, 1)
2014-05-25 19:14:54 +02:00
pooler
a988337f52
Switch to getwork if no payout address is provided
2014-05-22 12:10:08 +02:00
pooler
a5430f73e1
Add a configure option to disable assembly code
2014-05-16 16:39:04 +02:00
pooler
f76c4d6273
Hide passwords on the command line
...
Closes #76
2014-05-11 12:00:12 +02:00
pooler
b01f8be868
Allow loading multiple configuration files
2014-05-10 11:50:39 +02:00
pooler
d701fecd57
Enhance startup error messages
2014-05-09 17:55:08 +02:00
pooler
788e4a3746
Add option --coinbase-sig
2014-05-09 10:33:12 +02:00
pooler
9c8cad615a
getblocktemplate: version/force, version/reduce
2014-05-09 10:33:12 +02:00
pooler
35d8fd82c4
Correct work restart messages
2014-05-09 10:33:12 +02:00
pooler
8a8e0ad81c
getblocktemplate: long polling
2014-05-09 10:33:12 +02:00
pooler
106d03882e
Avoid fetching too much work when LP is off
2014-05-09 10:33:12 +02:00
pooler
a9e64f41e7
getblocktemplate: submit/coinbase
2014-05-09 10:33:12 +02:00
pooler
30fae0c342
Minimal getblocktemplate support
2014-05-09 10:33:06 +02:00
pooler
42a002c741
Add an option to ignore redirection requests
2014-04-16 10:58:05 +02:00
pooler
c46726b4b7
Disable long polling timeout by default
2014-04-16 10:57:47 +02:00
pooler
9aa776cf94
Add a flags argument to json_rpc_call()
2014-04-14 14:23:47 +02:00
pooler
6b2e46d4ac
Allow arbitrary-size job_id and extranonce2
2014-04-11 23:05:35 +02:00
pooler
64a34409e9
Add build details to version information
2014-04-05 15:01:15 +02:00
pooler
dd774a337e
Only increment extranonce2 when needed
2014-03-28 11:13:10 +01:00
Kiyoaki Matsugae
d7276fa0cd
fix sched_setaffinity parameter : sizeof(cpu_set_t)
2014-03-12 12:05:18 +09:00
pooler
65e196a932
Version 2.3.3
2014-02-27 22:23:51 +01:00
pooler
ab5d1a86d9
Fix CPU affinity on FreeBSD ( closes #61 )
2014-02-18 17:43:49 +01:00
pooler
3f9d8727dc
Make the --url option mandatory
2014-01-18 22:56:48 +01:00
pooler
d7337126b9
Use only g_work_time to check work availability
2014-01-16 18:03:02 +01:00
Lauri Kasanen
c184d91d2c
SCHED_IDLE and SCHED_BATCH can only be used with sched_priority 0
...
The function was randomly failing to drop the priority, because the
field was not initialized - it was random garbage instead of 0, leading
to EINVAL.
2014-01-14 19:50:36 +02:00
Lauri Kasanen
cf573d03ff
Mark some variables & function static
2014-01-14 19:50:33 +02:00
pooler
2305536b3b
Fix processor count detection with HW_NCPU
2013-12-13 14:30:17 +01:00
pooler
93120a697d
Include inttypes.h instead of stdint.h
...
stdint.h is unavailable on some systems, such as Solaris 8
2013-07-12 18:41:47 +02:00
pooler
e878267239
Add AVX2-enabled functions for x86-64
2013-07-05 18:27:49 +02:00
pooler
7e8ce9c8dd
Avoid the use of Stratum in benchmark mode
2013-07-03 18:09:55 +02:00
pooler
236e338463
Do not log per-thread CPU affinity in quiet mode
2013-07-03 17:28:43 +02:00
pooler
092c3fc196
Make benchmark data more realistic
2013-07-03 01:50:39 +02:00
pooler
fcd1162865
Avoid passing NULL to strcmp() in stratum_thread()
2013-06-15 14:10:32 +02:00