rchain / rchain

Blockchain (smart contract) platform using CBC-Casper proof of stake + Rholang for concurrent execution.
Other
693 stars 217 forks source link

RNode In-memory eval mode for performance test #3385

Closed wangjia184 closed 3 years ago

wangjia184 commented 3 years ago

The prototype of rholang-runtime developed in rust is soon to come out. It supports a few language keywords, including send / receive / par / ground type / stdout system contract with a fresh-designed in-memory lockless tuplespace.

I want to have performance comparison between the current scala RNode edition and the prototype. The test is simple, by executing same snippets of rholang code in scala edition and rust edition, compare their execution duration and see how much the rust edition outperforms.

The following changes are required in RNode.

  1. Presents normalization/reduction duration in milliseconds in console of RNode server when it accepts an eval command from client side.
  2. Get rid of LMDB, and perform all COMM events in memory when executing an eval command. Perhaps RNode needs an extra flag in startup parameter for that.
  3. Better to have it as a docker image. With production-ready JVM options tuned (-Xmx -Xms etc). Or maybe instruct me how to configure RNode in such a way. My test environment gets 16G RAM.

Thanks in advance

wangjia184 commented 3 years ago

This one is solved, thanks @zsluedem