1
0
mirror of https://github.com/bigchaindb/bigchaindb.git synced 2024-06-26 03:06:43 +02:00

Initial implementation of speed tests

This commit is contained in:
Rodolphe Marques 2016-05-11 08:56:47 +02:00
parent 86d13fc72e
commit 69d5859add
3 changed files with 29 additions and 1 deletions

View File

@ -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
View File

@ -0,0 +1,3 @@
# Speed Tests
This folder contains tests related to the code performance of a single node.

View 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()