@ETFbitcoin
thanks you for your effort. I ran some benchmark tests, too. Additionally I tried
bitcoinaddress:
All benchmarks involved a hex file which contains 100,000 private keys. Here are my results so far in ranking order from fastest to slowest:
bitcoinlib$ time ./benchmark_with_bitcoinlib.py
real 1m27,629s
user 1m27,779s
sys 0m1,356s
bitcoinaddress#!/usr/bin/python3
from bitcoinaddress import Wallet
hexfile = open('hex.100k')
hexkey = [h.strip() for h in hexfile.readlines()]
addressfile = open('bech32_addresses_with_bitcoinaddress.100k', 'w')
addresslist = ''
for h in hexkey:
wallet = Wallet(h)
addresslist += str(wallet.address.__dict__['mainnet'].__dict__['pubaddrbc1_P2WPKH']) + '\n'
addressfile.write(addresslist)
$ time ./benchmark_with_bitcoinaddress.py
real 6m34,864s
user 6m34,706s
sys 0m0,129s
cross-checking each output...
$ diff -q bech32_addresses_with_bitcoinlib.100k bech32_addresses_with_bitcoinaddress.100k
Output file of all those benchmark tests were the same, no difference at all.
I would like to see how
pycoin would perform in this benchmark test with 100k addresses. Without using its command-line tool
ku cause I think the command-line tool would be slow down things, correct me if I'm wrong. I didn't understand yet, how to utilize
pycoin with network.parse to get the bech32 address of a key...
EDIT:No matter how you slice it, these calculations are performed far too slowly on the CPU compared to a GPU. Even if you were to extend bit with bech32 functionality, I can't imagine that bit would be faster than GPU execution.
Hence my question:
Do you know any tool in this direction, which is multi-GPU capable and can generate addresses according to certain criteria ? VanitySearch won't work, because it uses for custom prefixes.