Skip to content
This repository was archived by the owner on Jan 22, 2025. It is now read-only.

7x'ed TPS again

Pre-release
Pre-release
Compare
Choose a tag to compare
@garious garious released this 27 Apr 23:21
· 24498 commits to master since this release

Single-node TPS consistently over 200,000 tps, with peaks near 400,000 tps.

  • Added optional GPU offloading of signature verification
  • Parallelized accounting
  • Added thin client subscriptions so clients can detect the number of transactions processed
  • Added thick client subscriptions so validators can replicate the ledger

Before the final release, we plan to set up a small testnet on AWS and report TPS in the context of validators replicating data. Hang tight!

garious@sagan:~/projects/solana$ cat mint-demo.json | cargo run --release --bin solana-client-demo
   Compiling solana v0.5.0-beta (file:///home/garious/projects/solana)
    Finished release [optimized] target(s) in 14.97 secs
     Running `target/release/solana-client-demo`
Parsing stdin...
Get last ID...
Creating keypairs...
Signing transactions...
Done. 148.17961087247053 thousand signatures per second, 6.748566783999999us per signature
Transfering 500000 transactions in 4 batches
Transferring 1 unit 125000 times...
Transferring 1 unit 125000 times...
Transferring 1 unit 125000 times...
Transferring 1 unit 125000 times...
Waiting for half the transactions to complete...
Transactions processed 250292
Done. 236362.20901065393 tps
garious@sagan:~/projects/solana$ cat mint-demo.json | cargo run --release --bin solana-client-demo
   Compiling solana v0.5.0-beta (file:///home/garious/projects/solana)
    Finished release [optimized] target(s) in 15.32 secs
     Running `target/release/solana-client-demo`
Parsing stdin...
Get last ID...
Creating keypairs...
Signing transactions...
Done. 148.69206818331054 thousand signatures per second, 6.725308298us per signature
Transfering 500000 transactions in 4 batches
Transferring 1 unit 125000 times...
Transferring 1 unit 125000 times...
Transferring 1 unit 125000 times...
Transferring 1 unit 125000 times...
Waiting for half the transactions to complete...
Transactions processed 250333
Done. 206347.23171439068 tps
garious@sagan:~/projects/solana$ cat mint-demo.json | cargo run --release --bin solana-client-demo
   Compiling solana v0.5.0-beta (file:///home/garious/projects/solana)
    Finished release [optimized] target(s) in 15.8 secs
     Running `target/release/solana-client-demo`
Parsing stdin...
Get last ID...
Creating keypairs...
Signing transactions...
Done. 148.0671473461483 thousand signatures per second, 6.753692618us per signature
Transfering 500000 transactions in 4 batches
Transferring 1 unit 125000 times...
Transferring 1 unit 125000 times...
Transferring 1 unit 125000 times...
Transferring 1 unit 125000 times...
Waiting for half the transactions to complete...
Transactions processed 327670
Done. 395587.9590925663 tps