mirror of
https://github.com/bigchaindb/bigchaindb.git
synced 2024-10-13 13:34:05 +00:00
Initial implementation of speed tests
This commit is contained in:
parent
86d13fc72e
commit
69d5859add
6
setup.py
6
setup.py
@ -35,6 +35,10 @@ docs_require = [
|
||||
'sphinx-rtd-theme>=0.1.9',
|
||||
]
|
||||
|
||||
benchmarks_require = [
|
||||
'line-profiler==1.0',
|
||||
]
|
||||
|
||||
setup(
|
||||
name='BigchainDB',
|
||||
version=version['__version__'],
|
||||
@ -88,7 +92,7 @@ setup(
|
||||
tests_require=tests_require,
|
||||
extras_require={
|
||||
'test': tests_require,
|
||||
'dev': dev_require + tests_require + docs_require,
|
||||
'dev': dev_require + tests_require + docs_require + benchmarks_require,
|
||||
'docs': docs_require,
|
||||
},
|
||||
)
|
||||
|
3
speed-tests/README.md
Normal file
3
speed-tests/README.md
Normal file
@ -0,0 +1,3 @@
|
||||
# Speed Tests
|
||||
|
||||
This folder contains tests related to the code performance of a single node.
|
21
speed-tests/speed_tests.py
Normal file
21
speed-tests/speed_tests.py
Normal file
@ -0,0 +1,21 @@
|
||||
from line_profiler import LineProfiler
|
||||
|
||||
import bigchaindb
|
||||
|
||||
|
||||
def speedtest_validate_transaction():
|
||||
# create a transaction
|
||||
b = bigchaindb.Bigchain()
|
||||
tx = b.create_transaction(b.me, b.me, None, 'CREATE')
|
||||
tx_signed = b.sign_transaction(tx, b.me_private)
|
||||
|
||||
# setup the profiler
|
||||
profiler = LineProfiler()
|
||||
profiler.enable_by_count()
|
||||
profiler.add_function(bigchaindb.Bigchain.validate_transaction)
|
||||
|
||||
# validate_transaction 1000 times
|
||||
for i in range(1000):
|
||||
b.validate_transaction(tx_signed)
|
||||
|
||||
profiler.print_stats()
|
Loading…
x
Reference in New Issue
Block a user