Skip to content

Instantly share code, notes, and snippets.

@ShreckYe
Created June 22, 2023 10:03
Show Gist options
  • Save ShreckYe/66b53d1434c34e8e9f417e466a72cbef to your computer and use it in GitHub Desktop.
Save ShreckYe/66b53d1434c34e8e9f417e466a72cbef to your computer and use it in GitHub Desktop.
Result of benchmarking some Exposed operations with Containerized PostgreSQL (AMD Ryzen 3900X, 32 GB RAM)
benchmarks: com.huanshankeji.exposed.benchmark.EmptyBenchmark.empty
Warm-up 1: 2692396136.352 ops/s
Warm-up 2: 2732507882.089 ops/s
Iteration 1: 2058280496.859 ops/s
Iteration 2: 2072328782.928 ops/s
2065304639.893 ops/s
benchmarks: com.huanshankeji.exposed.benchmark.PreparedSqlGenerationBenchmark.arguments1M | statementEnum=SelectAll
Warm-up 1: 2.285 ops/s
Warm-up 2: 2.801 ops/s
Iteration 1: 2.794 ops/s
Iteration 2: 2.800 ops/s
2.797 ops/s
benchmarks: com.huanshankeji.exposed.benchmark.PreparedSqlGenerationBenchmark.arguments1M | statementEnum=SelectWhere
Warm-up 1: 1.354 ops/s
Warm-up 2: 1.651 ops/s
Iteration 1: 1.651 ops/s
Iteration 2: 1.650 ops/s
1.650 ops/s
benchmarks: com.huanshankeji.exposed.benchmark.PreparedSqlGenerationBenchmark.arguments1M | statementEnum=Insert
Warm-up 1: 15.431 ops/s
Warm-up 2: 18.832 ops/s
Iteration 1: 19.113 ops/s
Iteration 2: 19.131 ops/s
19.122 ops/s
benchmarks: com.huanshankeji.exposed.benchmark.PreparedSqlGenerationBenchmark.arguments1M | statementEnum=Update
Warm-up 1: 2.499 ops/s
Warm-up 2: 3.201 ops/s
Iteration 1: 3.282 ops/s
Iteration 2: 3.292 ops/s
3.287 ops/s
benchmarks: com.huanshankeji.exposed.benchmark.PreparedSqlGenerationBenchmark.arguments1M | statementEnum=DeleteAll
Warm-up 1: 122.873 ops/s
Warm-up 2: 160.167 ops/s
Iteration 1: 152.962 ops/s
Iteration 2: 155.441 ops/s
154.201 ops/s
benchmarks: com.huanshankeji.exposed.benchmark.PreparedSqlGenerationBenchmark.arguments1M | statementEnum=DeleteStatement
Warm-up 1: 3.444 ops/s
Warm-up 2: 4.318 ops/s
Iteration 1: 4.318 ops/s
Iteration 2: 4.347 ops/s
4.332 ops/s
benchmarks: com.huanshankeji.exposed.benchmark.PreparedSqlGenerationBenchmark.prepareSQL1M | statementEnum=SelectAll
Warm-up 1: 2.316 ops/s
Warm-up 2: 2.841 ops/s
Iteration 1: 2.851 ops/s
Iteration 2: 2.850 ops/s
2.850 ops/s
benchmarks: com.huanshankeji.exposed.benchmark.PreparedSqlGenerationBenchmark.prepareSQL1M | statementEnum=SelectWhere
Warm-up 1: 1.465 ops/s
Warm-up 2: 1.870 ops/s
Iteration 1: 1.874 ops/s
Iteration 2: 1.886 ops/s
1.880 ops/s
benchmarks: com.huanshankeji.exposed.benchmark.PreparedSqlGenerationBenchmark.prepareSQL1M | statementEnum=Insert
Warm-up 1: 2.437 ops/s
Warm-up 2: 3.260 ops/s
Iteration 1: 3.278 ops/s
Iteration 2: 3.279 ops/s
3.278 ops/s
benchmarks: com.huanshankeji.exposed.benchmark.PreparedSqlGenerationBenchmark.prepareSQL1M | statementEnum=Update
Warm-up 1: 1.923 ops/s
Warm-up 2: 2.575 ops/s
Iteration 1: 2.623 ops/s
Iteration 2: 2.643 ops/s
2.633 ops/s
benchmarks: com.huanshankeji.exposed.benchmark.PreparedSqlGenerationBenchmark.prepareSQL1M | statementEnum=DeleteAll
Warm-up 1: 10.851 ops/s
Warm-up 2: 14.358 ops/s
Iteration 1: 14.428 ops/s
Iteration 2: 14.476 ops/s
14.452 ops/s
benchmarks: com.huanshankeji.exposed.benchmark.PreparedSqlGenerationBenchmark.prepareSQL1M | statementEnum=DeleteStatement
Warm-up 1: 2.555 ops/s
Warm-up 2: 3.268 ops/s
Iteration 1: 3.285 ops/s
Iteration 2: 3.300 ops/s
3.292 ops/s
benchmarks: com.huanshankeji.exposed.benchmark.StatementBenchmark.createInsertStatement | tableEnum=EmptyTableEnum
Warm-up 1: 59900841.903 ops/s
Warm-up 2: 65560303.697 ops/s
Iteration 1: 70561165.661 ops/s
Iteration 2: 70539496.246 ops/s
70550330.953 ops/s
benchmarks: com.huanshankeji.exposed.benchmark.StatementBenchmark.createInsertStatement | tableEnum=VarcharTableEnum
Warm-up 1: 59760889.134 ops/s
Warm-up 2: 65608818.639 ops/s
Iteration 1: 70372440.843 ops/s
Iteration 2: 70381672.855 ops/s
70377056.849 ops/s
benchmarks: com.huanshankeji.exposed.benchmark.StatementBenchmark.createSelectStatement | tableEnum=EmptyTableEnum
Warm-up 1: 57775320.535 ops/s
Warm-up 2: 61923557.469 ops/s
Iteration 1: 72402230.127 ops/s
Iteration 2: 72424119.592 ops/s
72413174.859 ops/s
benchmarks: com.huanshankeji.exposed.benchmark.StatementBenchmark.createSelectStatement | tableEnum=VarcharTableEnum
Warm-up 1: 57829511.180 ops/s
Warm-up 2: 62265729.614 ops/s
Iteration 1: 72512695.046 ops/s
Iteration 2: 72510839.099 ops/s
72511767.073 ops/s
benchmarks: com.huanshankeji.exposed.benchmark.StatementBenchmark.createUpdateStatement | tableEnum=EmptyTableEnum
Warm-up 1: 64741676.176 ops/s
Warm-up 2: 69895870.336 ops/s
Iteration 1: 79675687.964 ops/s
Iteration 2: 79618179.037 ops/s
79646933.501 ops/s
benchmarks: com.huanshankeji.exposed.benchmark.StatementBenchmark.createUpdateStatement | tableEnum=VarcharTableEnum
Warm-up 1: 64900731.388 ops/s
Warm-up 2: 70009037.971 ops/s
Iteration 1: 80244328.899 ops/s
Iteration 2: 80250263.183 ops/s
80247296.041 ops/s
benchmarks: com.huanshankeji.exposed.benchmark.StatementBenchmark.deleteAllStatement | tableEnum=EmptyTableEnum
Warm-up 1: 82906564.480 ops/s
Warm-up 2: 89236121.739 ops/s
Iteration 1: 100196521.575 ops/s
Iteration 2: 100231162.277 ops/s
100213841.926 ops/s
benchmarks: com.huanshankeji.exposed.benchmark.StatementBenchmark.deleteAllStatement | tableEnum=VarcharTableEnum
Warm-up 1: 82749075.358 ops/s
Warm-up 2: 89309710.119 ops/s
Iteration 1: 100153051.256 ops/s
Iteration 2: 100288557.441 ops/s
100220804.348 ops/s
benchmarks: com.huanshankeji.exposed.benchmark.StatementBenchmark.deleteWhereStatement | tableEnum=EmptyTableEnum
Warm-up 1: 82596469.986 ops/s
Warm-up 2: 88920527.083 ops/s
Iteration 1: 97814958.425 ops/s
Iteration 2: 97708284.091 ops/s
97761621.258 ops/s
benchmarks: com.huanshankeji.exposed.benchmark.StatementBenchmark.deleteWhereStatement | tableEnum=VarcharTableEnum
Warm-up 1: 82402406.980 ops/s
Warm-up 2: 89241898.711 ops/s
Iteration 1: 97792052.802 ops/s
Iteration 2: 97804561.746 ops/s
97798307.274 ops/s
benchmarks: com.huanshankeji.exposed.benchmark.TransactionBenchmark._10KSuspendedTransactionAsyncs
Warm-up 1: 12.515 ops/s
Warm-up 2: 16.093 ops/s
Iteration 1: 16.473 ops/s
Iteration 2: 16.323 ops/s
16.398 ops/s
benchmarks: com.huanshankeji.exposed.benchmark.TransactionBenchmark._10KSuspendedTransactions
Warm-up 1: 60.743 ops/s
Warm-up 2: 83.849 ops/s
Iteration 1: 83.788 ops/s
Iteration 2: 83.582 ops/s
83.685 ops/s
benchmarks: com.huanshankeji.exposed.benchmark.TransactionBenchmark._10KTransactions
Warm-up 1: 303.615 ops/s
Warm-up 2: 347.197 ops/s
Iteration 1: 350.205 ops/s
Iteration 2: 350.806 ops/s
350.506 ops/s
benchmarks: com.huanshankeji.exposed.benchmark.TransactionBenchmark.multiThreadConcurrent10KTransactions
Warm-up 1: 108.785 ops/s
Warm-up 2: 142.210 ops/s
Iteration 1: 141.193 ops/s
Iteration 2: 145.864 ops/s
143.528 ops/s
benchmarks: com.huanshankeji.exposed.benchmark.TransactionBenchmark.multiThreadMultiConnectionEach10KLocalTransactions
Warm-up 1: 12.226 ops/s
Warm-up 2: 14.621 ops/s
Iteration 1: 14.484 ops/s
Iteration 2: 14.641 ops/s
14.563 ops/s
benchmarks: com.huanshankeji.exposed.benchmark.TransactionBenchmark.singleThreadConcurrent10KTransactions
Warm-up 1: 122.800 ops/s
Warm-up 2: 171.541 ops/s
Iteration 1: 171.496 ops/s
Iteration 2: 172.086 ops/s
171.791 ops/s
benchmarks: com.huanshankeji.exposed.benchmark.TransactionBenchmark.transaction
Warm-up 1: 2977008.655 ops/s
Warm-up 2: 3413179.532 ops/s
Iteration 1: 3468709.995 ops/s
Iteration 2: 3471096.338 ops/s
3469903.167 ops/s
benchmarks summary:
Benchmark (statementEnum) (tableEnum) Mode Cnt Score Error Units
EmptyBenchmark.empty N/A N/A thrpt 2 2065304639.893 ops/s
PreparedSqlGenerationBenchmark.arguments1M SelectAll N/A thrpt 2 2.797 ops/s
PreparedSqlGenerationBenchmark.arguments1M SelectWhere N/A thrpt 2 1.650 ops/s
PreparedSqlGenerationBenchmark.arguments1M Insert N/A thrpt 2 19.122 ops/s
PreparedSqlGenerationBenchmark.arguments1M Update N/A thrpt 2 3.287 ops/s
PreparedSqlGenerationBenchmark.arguments1M DeleteAll N/A thrpt 2 154.201 ops/s
PreparedSqlGenerationBenchmark.arguments1M DeleteStatement N/A thrpt 2 4.332 ops/s
PreparedSqlGenerationBenchmark.prepareSQL1M SelectAll N/A thrpt 2 2.850 ops/s
PreparedSqlGenerationBenchmark.prepareSQL1M SelectWhere N/A thrpt 2 1.880 ops/s
PreparedSqlGenerationBenchmark.prepareSQL1M Insert N/A thrpt 2 3.278 ops/s
PreparedSqlGenerationBenchmark.prepareSQL1M Update N/A thrpt 2 2.633 ops/s
PreparedSqlGenerationBenchmark.prepareSQL1M DeleteAll N/A thrpt 2 14.452 ops/s
PreparedSqlGenerationBenchmark.prepareSQL1M DeleteStatement N/A thrpt 2 3.292 ops/s
StatementBenchmark.createInsertStatement N/A EmptyTableEnum thrpt 2 70550330.953 ops/s
StatementBenchmark.createInsertStatement N/A VarcharTableEnum thrpt 2 70377056.849 ops/s
StatementBenchmark.createSelectStatement N/A EmptyTableEnum thrpt 2 72413174.859 ops/s
StatementBenchmark.createSelectStatement N/A VarcharTableEnum thrpt 2 72511767.073 ops/s
StatementBenchmark.createUpdateStatement N/A EmptyTableEnum thrpt 2 79646933.501 ops/s
StatementBenchmark.createUpdateStatement N/A VarcharTableEnum thrpt 2 80247296.041 ops/s
StatementBenchmark.deleteAllStatement N/A EmptyTableEnum thrpt 2 100213841.926 ops/s
StatementBenchmark.deleteAllStatement N/A VarcharTableEnum thrpt 2 100220804.348 ops/s
StatementBenchmark.deleteWhereStatement N/A EmptyTableEnum thrpt 2 97761621.258 ops/s
StatementBenchmark.deleteWhereStatement N/A VarcharTableEnum thrpt 2 97798307.274 ops/s
TransactionBenchmark._10KSuspendedTransactionAsyncs N/A N/A thrpt 2 16.398 ops/s
TransactionBenchmark._10KSuspendedTransactions N/A N/A thrpt 2 83.685 ops/s
TransactionBenchmark._10KTransactions N/A N/A thrpt 2 350.506 ops/s
TransactionBenchmark.multiThreadConcurrent10KTransactions N/A N/A thrpt 2 143.528 ops/s
TransactionBenchmark.multiThreadMultiConnectionEach10KLocalTransactions N/A N/A thrpt 2 14.563 ops/s
TransactionBenchmark.singleThreadConcurrent10KTransactions N/A N/A thrpt 2 171.791 ops/s
TransactionBenchmark.transaction N/A N/A thrpt 2 3469903.167 ops/s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment