How can I calculate how many hashes I generate per second?
I have a function which generates hashes from a string:
string GenerateHash(string plainText);
I generate as many hashes as possible with 4 threads.
How do I calculate how many hashes (or megahashes) I generate per second?
Your problem breaks down nicely into 3 separate tasks
- Sharing a single count variable across threads
- Benchmarking thread completion time
- Calculating hashes per/second
Sharing a single count variable across threads
public static class GlobalCounter{ public static int Value { get;private set;} public static void Increment(){ Value =GetNextValue(Value);} private static int GetNextValue(int curValue) { returnInterlocked.Increment(ref curValue);} public static void Reset() { Value = 0; } }
Before you spin off the threads call GlobalCounter.Reset and then in each thread (after each successful hash) you would call GlobalCounter.Increment – using Interlocked.X performs atomic operations of Value in a thread-safe manner, it’s also much faster than lock.
Benchmarking thread completion time
var sw = Stopwatch.StartNew(); Parallel.ForEach(someCollection, someValue =>{ // generate hash GlobalCounter.Increment();}); sw.Stop();
Parallel.ForEach will block until all threads have finished
Calculating hashes per second
... sw.Stop(); var hashesPerSecond = GlobalCounter.Value / sw.Elapsed.Seconds;
Did you find this article helpful?
If so, please consider a donation to help the evolution and development of more helpful articles in the future, and show your support for alternative articles.
Your generosity is ๐ ly appreciated
You can donate in any crypto your ๐ desires ๐
Thank you all for your time !!!
โ & ๐
Bitcoin (BTC) :
1P1tTNFGRZabK65RhqQxVmcMDHQeRX9dJJ
LiteCoin(LTC) :
LYAdiSpsTJ36EWCJ5HF9EGy9iWGCwoLhed
Ethereum(ETH) :
0x602e8Ca3984943cef57850BBD58b5D0A6677D856
EthereumClassic(ETC) :
0x602e8Ca3984943cef57850BBD58b5D0A6677D856
Cardano(ADA)
addr1q88c5cccnrqy6xesszzvf7rd4tcz87klt0m0h6uvltywqe8txwmsrrqdnpq27594tyn9vz59zv0n8367lvyc2atvrzvqlvdm9d
BinanceCoin(BNB)
bnb1wwfnkzs34knsrv2g026t458l0mwp5a3tykeylx
BitcoinCash (BCH)
1P1tTNFGRZabK65RhqQxVmcMDHQeRX9dJJ
BitcoinSV(BSV)
1P1tTNFGRZabK65RhqQxVmcMDHQeRX9dJJ
ZCash(ZEC)
t1fSSQX4gEhove9ngcvFafQaMPq5dtNNsNF
Dash(DASH)
XcWmbFw1VmxEPxvF9CWdjzKXwPyDTrbMwj
Shiba(SHIB)
0x602e8Ca3984943cef57850BBD58b5D0A6677D856
Tron(TRX)
TCsJJkqt9xk1QZWQ8HqZHnqexR15TEowk8
Stellar(XLM)
GBL4UKPHP2SXZ6Y3PRF3VRI5TLBL6XFUABZCZC7S7KWNSBKCIBGQ2Y54
Made with ๐ by Free Spirit
โ & ๐
- International payment using the radio wavesIn a first, Bitcoin developers have done something amazing amid the criticism over the lightning network and issues associated with it. A team of developers has made an international payment using the radio waves on the … Continue reading International payment using the radio waves
- Happy New Year !!!!Happy New Year!May the coming year be full of grand adventures , peace, prosperity and opportunities.Dream big and make the most of 2024!
- Discipline QuotesMy inspiration for this page was given to me by my new aquired friend, a fellow Truth Seeker – Joris and to whom I dedicate this page… Wish you… as well as to all my readers, … Continue reading Discipline Quotes
- Merry Christmass and A Happpy New Year to allTo all my readers from the bottom of my heart I wish you Happy Holiday among family and friends, a jolly Merry Christmas and a Happy New Year and may 2024 bring you all what you … Continue reading Merry Christmass and A Happpy New Year to all
- Bitcoin White Paper turn 15Bitcoin white paper turns 15 and the Legacy of Satoshi Nakamoto lives on. โIโve been working on a new electronic cash system thatโs fully peer-to-peer, with no trusted third party,โ Satoshi Oct. 31, 2008. The white … Continue reading Bitcoin White Paper turn 15





