Giter Club home page Giter Club logo

gyue15 / blockbench Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ooibc88/blockbench

0.0 1.0 0.0 705 KB

BLOCKBENCH: A Framework for Analyzing Private Blockchains. Blockbench contains workloads for measuring the data processing performance, and workloads for understanding the performance of different layers of Blockchain systems.

Home Page: http://www.comp.nus.edu.sg/~dbsystem/blockbench/

License: Apache License 2.0

Go 10.13% Java 10.07% Python 9.89% Shell 7.08% Roff 0.21% Makefile 0.75% C++ 47.80% Ruby 1.11% JavaScript 12.96%

blockbench's Introduction

BlockBench

BlockBench is the first benchmarking framework for private blockchain systems. It serves as a fair means of comparison for different platforms and enables deeper understanding of different system design choices.

BlockBench comes with both macro benchmark workloads for evaluating the overall performance and micro benchmark workloads for evaluating performance of individual layers.

Workloads

Macro-benchmark

  • YCSB (KVStore).
  • SmallBank (OLTP).

Micro-benchmark

  • DoNothing (consensus layer).
  • IOHeavy (data model layer, read/write oriented).
  • Analytics (data model layer, analytical query oriented).
  • CPUHeavy (execution layer).

Source file structure

  • Smart contract sources are in benchmark/contracts directory.
  • Instructions and scripts to run benchmarks for Ethereum, Hyperledger and Parity are in ethereum, hyperledger and parity directories respectively.
  • Drivers for benchmark workloads are in src directory.

Dependency

C++ libraries

  • restclient-cpp

    Note: we patched this library to include the "Expect: " header in POST requests, which considerably improves the speed for processing RPC request at Parity.

    • The patch file is include in benchmark/parity folder.

    • To patch: go to top-level directory of restclient-cpp, then:

      patch -p4 < $BLOCK_BENCH_HOME/benchmark/parity/patch_restclient

    • The installation can then proceed as normal.

  • libcurl

Node.js libraries

blockbench's People

Contributors

ijingo avatar ug93tad avatar

Watchers

GaoYue avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.