Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Current »

WIP

Setup

A new implementation of Span tracking https://github.com/rchain/rchain/pull/2569

to enable:

rnode.server.metrics.zipkin = true
kamon.trace.sampler = "always"

and to avoid StackTraceExceptions: (until it's fixed: RCHAIN-3618 - Getting issue details... STATUS )

-J-Xss5M


Contract execution analysis

Rev transfer on empty tuplespace

Run 1

https://github.com/rchain/rchain/blob/dev/rholang/examples/vault_demo/3.transfer_funds.rho

The whole flow of proposal is captured in two stages

Significant observations:

  • for simple contracts the 'par' mechanisms that are utilised in rholang do not make a difference

very little is run in parallel because the execution is dependent on itself

  • there are some rogue invocations but it looks like they do not contribute to execution time

  • in most cases the interaction with rspace is on the level of ms
  • there are some cases when rspace takes a good while longer (20x)

Run 2

A more detailed view

Reset and restore installs

Produce + create checkpoint

Rev transfer after 500 blocks with simple transfers

https://github.com/rchain/rchain/blob/dev/rholang/examples/vault_demo/3.transfer_funds.rho

500 transfers done (of 1 rev instead of 100).

It seems that the length of the chain affected the transfer execution by a factor of 3.

  • checkpointing still takes about 150 ms

Rev transfer after 500 blocks with other contracts


Wide contract

https://github.com/rchain/perf-harness/blob/master/contracts/wide_a_setup.rho

https://github.com/rchain/perf-harness/blob/master/contracts/wide_b_run.rho

Run 1 (100 comm events)

A dedicated implementation of span tracking was used in these measurements: https://github.com/dzajkowski/rchain/tree/metrics/replace-task-local-spans-with-explicit-traceid-2

High level execution

High level execution of wide run

Create block

Reset

Soft checkpoint

<1ms

Deserialisation of 100 terms

Task ordering

Run 2 (1000 comm events)

A dedicated implementation of span tracking was used in these measurements: https://github.com/dzajkowski/rchain/tree/metrics/replace-task-local-spans-with-explicit-traceid-2

High level execution

Create block

Reset

Soft checkpoint

<1ms

Deserialisation of 1000 terms

Task ordering


  • No labels