Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Integrate Wasmer into Substrate sandbox environment #5920

Merged
114 commits merged into from
Aug 19, 2021
Merged

Integrate Wasmer into Substrate sandbox environment #5920

114 commits merged into from
Aug 19, 2021

Conversation

0x7CFE
Copy link
Contributor

@0x7CFE 0x7CFE commented May 6, 2020

TL;DR

Currently Substrate can execute Wasm in two ways: either by interpreting it using Wasmi or by compiling Wasm bytecode into native instructions using Wasmtime. The latter is faster to execute, but is only supported for trusted code, i.e. runtime. For security reasons smart contracts are still interpreted.

In order to execute smart contracts safely we need to have an environment that is suitable to execute untrusted code and resistant to JIT bomb attacks. Such an environment is provided by the Wasmer Singlepass compiler that is advertised as being designed specifically with blockchain in mind:

Singlepass is designed to emit compiled code at linear time, as such is not prone to JIT bombs and also offers great compilation performance orders of magnitude faster than wasmer-compiler-cranelift and wasmer-compiler-llvm, however with a bit slower runtime speed.

The fact that singlepass is not prone to JIT bombs and offers a very predictable compilation speed makes it ideal for blockchains and other systems where fast and consistent compilation times are very critical.

This PR integrates Wasmer Singlepass into Substrate sandbox environment.

API conundrum

Wasmer has rather simple API so its integration was straightforward. However, Substrate sandbox API was designed and implemented with Wasmi in mind, which is essentially single-threaded. This is incompatible with that of Wasmer and really annoys Rust borrowck.

Namely, Wasmer forces host function closures to be Fn + Send + Sync. Yet,

  • supervisor_externals is passed as &mut
  • dispatch_thunk is neither Send nor Sync

Both of those entities are used by host function closures to dispatch the call.

What was done

The solution to both issues is scoped thread local storage. Since current execution model is single-threaded anyway, introducing TLS does not violate invariants and calms down the borrow checker. This was done by carefully wrapping objects in a scoped TLS and making state objects clonable by wrapping inner data with Rc.

Also, please note that there are a couple of unsafe one-liners to access construct a slice that views into wasmer memory. The context is very limited and single-threaded, so I suppose this is safe.

Memory API redesign

To eliminate potential aliasing issues when accessing memory, the sandbox memory access API was redesigned. It is now use external buffers. Also the MemoryTransfer trait was introduced to abstract over backends.

How it was tested

I successfully tested it on the following ink! examples:

  • flipper
  • incrementer
  • erc20
  • erc721
  • dns
  • delegator

Considering sufficiently complex logic of example contracts (such as hash table manipulation and cross module operation) I cautiously state that the code is working as expected and is ready for extensive testing in a real world scenarios.

When testing yourself don't forget to pass --features wastime,wasmer-sandbox to cargo build and --execution Wasm --wasm-execution Compiled when running a node.

Further work

Current implementation hard-codes sandbox execution mode to match that of runtime and is gated by wasmer-sandbox feature flag. So, if control flow passing from runtime being interpreted by Wasmi, then sandboxed module will be interpreted by Wasmi as well. And vice versa, if runtime is executed by Wasmtime, then sandbox will be executed by Wasmer. If wasmer-sandbox feature is disabled, sandbox will always be executed via wasmi, as it was before.

In some cases there might be an intention to force execution mode of a sandboxed code, say, for security or performance reasons. In that case command line parameter is needed. I tried adding one, but unfortunately this ended up being a non trivial task, since currently there is no way to pass configuration options to the sandbox environment which is instantiated on a per call basis. Of course, this is possible but would require substantial refactoring, which probably should be done in a separate PR.

Also we should refactor sandbox logic to eliminate copy-pasta in Value conversion. Yet, I'd really like to do that in a separate PR.

Note to reviewers

This PR affects execution of untrusted code and contains unsafe one-liners. Please review very carefully. I may suggest starting from common/src/sandbox.rs and common/src/util.rs.

@0x7CFE 0x7CFE requested a review from pepyakin May 6, 2020 11:08
@paritytech paritytech deleted a comment from parity-cla-bot May 6, 2020
@gavofyork gavofyork added the A3-in_progress Pull request is in progress. No review needed at this stage. label May 21, 2020
It will be removed before merge. It is so that the benchbot
uses the wasmer sandbox.
@athei
Copy link
Member

athei commented Aug 9, 2021

/benchmark runtime pallet pallet_contracts

@parity-benchapp
Copy link

parity-benchapp bot commented Aug 9, 2021

Benchmark Runtime Pallet for branch "wasmtime-sandbox" with command cargo run --quiet --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_contracts --extrinsic="*" --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/contracts/src/weights.rs --template=./.maintain/frame-weight-template.hbs

Results
Pallet: "pallet_contracts", Extrinsic: "on_initialize", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    3.323
              µs

Reads = 1
Writes = 0
Min Squares Analysis
========
-- Extrinsic Time --

Model:
Time ~=    3.323
              µs

Reads = 1
Writes = 0
Pallet: "pallet_contracts", Extrinsic: "on_initialize_per_trie_key", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=        0
    + k    2.346
              µs

Reads = 1 + (0 * k)
Writes = 1 + (1 * k)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    k   mean µs  sigma µs       %
    0      59.2     0.284    0.4%
   20     63.12     0.922    1.4%
   40     100.1     0.649    0.6%
   60     136.9     0.867    0.6%
   80     173.3       0.8    0.4%
  100     212.2     1.975    0.9%
  120     252.6     3.427    1.3%
  140     299.2     2.534    0.8%
  160     343.3     1.628    0.4%
  180     387.6     1.363    0.3%
  200       431     1.997    0.4%
  220     486.5     9.009    1.8%
  240     539.8     1.289    0.2%
  260     569.1     4.109    0.7%
  280     616.8     3.591    0.5%
  300     670.1     5.522    0.8%
  320     702.2     6.761    0.9%
  340     759.4     6.755    0.8%
  360     807.8     4.988    0.6%
  380     849.1     5.074    0.5%
  400       905     8.642    0.9%
  420     946.8     6.107    0.6%
  440      1007     13.49    1.3%
  460      1040     8.447    0.8%
  480      1108      11.2    1.0%
  500      1141     11.31    0.9%
  520      1207     8.385    0.6%
  540      1258     12.77    1.0%
  560      1280     7.466    0.5%
  580      1338     13.98    1.0%
  600      1384     11.07    0.8%
  620      1457        20    1.3%
  640      1487     14.04    0.9%
  660      1540     15.79    1.0%
  680      1586     10.11    0.6%
  700      1656      19.3    1.1%
  720      1682     19.35    1.1%
  740      1702     9.939    0.5%
  760      1762     10.36    0.5%
  780      1830     15.06    0.8%
  800      1868     11.52    0.6%
  820      1914     16.97    0.8%
  840      1949     7.096    0.3%
  860      2013     16.12    0.8%
  880      2058      9.15    0.4%
  900      2100      13.6    0.6%
  920      2128     14.09    0.6%
  940      2185     11.94    0.5%
  960      2219     23.86    1.0%
  980      2300     15.39    0.6%
 1000      2303     20.39    0.8%
 1020      2399     27.63    1.1%

Quality and confidence:
param     error
k         0.003

Model:
Time ~=        0
    + k     2.35
              µs

Reads = 1 + (0 * k)
Writes = 1 + (1 * k)
Pallet: "pallet_contracts", Extrinsic: "on_initialize_per_queue_item", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    92.56
    + q    39.54
              µs

Reads = 1 + (0 * q)
Writes = 1 + (0 * q)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    q   mean µs  sigma µs       %
    0     3.416     0.052    1.5%
   20     852.5      3.03    0.3%
   40      1651     11.62    0.7%
   60      2464       2.5    0.1%
   80      3248     31.22    0.9%
  100      4016     47.61    1.1%
  120      4891     31.98    0.6%
  140      5633     73.01    1.2%
  160      6482     67.23    1.0%
  180      7273     87.34    1.2%
  200      8094     87.93    1.0%
  220      8742     8.858    0.1%
  240      9639       112    1.1%
  260     10440     118.9    1.1%
  280     11330     133.5    1.1%
  300     11880     17.05    0.1%
  320     12920     123.1    0.9%
  340     13640     178.2    1.3%
  360     14270     122.9    0.8%
  380     15280     131.6    0.8%
  400     15820     22.73    0.1%
  420     16770     186.1    1.1%
  440     17570     213.8    1.2%
  460     18250     133.7    0.7%
  480     19220     215.2    1.1%
  500     20080     185.6    0.9%
  520     20520     136.8    0.6%
  540     21660     179.4    0.8%
  560     22530     160.7    0.7%
  580     23320     48.23    0.2%
  600     23910     282.2    1.1%
  620     24700     259.6    1.0%
  640     25520     249.9    0.9%
  660     26140     305.7    1.1%
  680     27230     134.9    0.4%
  700     27750       310    1.1%
  720     28810     153.4    0.5%
  740     28890     52.05    0.1%
  760     30030     281.3    0.9%
  780     30860     297.9    0.9%
  800     31640     360.1    1.1%
  820     32360     337.4    1.0%
  840     33260     350.8    1.0%
  860     34270     243.5    0.7%
  880     34740     378.1    1.0%
  900     35690     369.4    1.0%
  920     36560     380.7    1.0%
  940     37270     377.6    1.0%
  960     37840     465.5    1.2%
  980     38810     444.3    1.1%
 1000     39740     365.9    0.9%
 1020     40070     403.4    1.0%

Quality and confidence:
param     error
q         0.039

Model:
Time ~=    158.3
    + q    39.46
              µs

Reads = 1 + (0 * q)
Writes = 1 + (0 * q)
Pallet: "pallet_contracts", Extrinsic: "instrument", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    56.88
    + c    76.28
              µs

Reads = 1 + (0 * c)
Writes = 1 + (0 * c)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    c   mean µs  sigma µs       %
    0     65.43     0.553    0.8%
    2     223.8     0.427    0.1%
    4     373.4     1.615    0.4%
    6     507.1      5.75    1.1%
    8     667.4     0.776    0.1%
   10     821.5     14.31    1.7%
   12     946.5     14.38    1.5%
   14      1145     15.96    1.3%
   16      1266     9.682    0.7%
   18      1431     12.98    0.9%
   20      1561     13.16    0.8%
   22      1696     14.94    0.8%
   24      1828     13.64    0.7%
   26      2091     11.86    0.5%
   28      2223     12.68    0.5%
   30      2344     11.42    0.4%
   32      2485     13.97    0.5%
   34      2645     12.89    0.4%
   36      2808     13.16    0.4%
   38      2943      12.1    0.4%
   40      3060     15.37    0.5%
   42      3181     15.28    0.4%
   44      3328     10.96    0.3%
   46      3451     14.38    0.4%
   48      3597     16.62    0.4%
   50      3955     9.451    0.2%
   52      4116     7.011    0.1%
   54      4258     12.07    0.2%
   56      4381      27.1    0.6%
   58      4529      18.5    0.4%
   60      4656     12.65    0.2%
   62      4766      14.5    0.3%
   64      4911     26.23    0.5%
   66      5081     9.793    0.1%
   68      5223      16.9    0.3%
   70      5399      13.2    0.2%
   72      5531     9.825    0.1%
   74      5653     5.834    0.1%
   76      5790     12.75    0.2%
   78      5947     21.93    0.3%
   80      6070     17.62    0.2%
   82      6187     8.705    0.1%
   84      6321     23.76    0.3%
   86      6440     11.27    0.1%
   88      6571     9.843    0.1%
   90      6699     23.95    0.3%
   92      6818     10.09    0.1%
   94      6976     14.96    0.2%
   96      7104     26.66    0.3%
   98      7755     17.01    0.2%
  100      7909     28.27    0.3%
  102      8042     25.03    0.3%
  104      8170     16.89    0.2%
  106      8301     18.84    0.2%
  108      8419     21.14    0.2%
  110      8572     17.14    0.1%
  112      8702     25.32    0.2%
  114      8821      21.4    0.2%
  116      8984     27.73    0.3%
  118      9081     20.41    0.2%
  120      9218     14.47    0.1%
  122      9379     30.38    0.3%
  124      9486     20.68    0.2%
  126      9628     17.34    0.1%
  128      9846      67.7    0.6%

Quality and confidence:
param     error
c          0.11

Model:
Time ~=     33.2
    + c     76.5
              µs

Reads = 1 + (0 * c)
Writes = 1 + (0 * c)
Pallet: "pallet_contracts", Extrinsic: "code_load", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    6.814
    + c    1.668
              µs

Reads = 1 + (0 * c)
Writes = 0 + (0 * c)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    c   mean µs  sigma µs       %
    0     6.051     0.031    0.5%
    2     10.22     0.076    0.7%
    4     13.61     0.042    0.3%
    6     17.17     0.073    0.4%
    8     20.27     0.056    0.2%
   10     23.74     0.062    0.2%
   12     27.11     0.074    0.2%
   14     30.67     0.059    0.1%
   16     33.31     0.108    0.3%
   18     36.98     0.369    0.9%
   20     40.71     0.444    1.0%
   22     43.65     0.301    0.6%
   24     46.83     0.108    0.2%
   26     50.09     0.073    0.1%
   28     53.67     0.092    0.1%
   30     57.02     0.216    0.3%
   32     59.93     0.065    0.1%
   34     63.45     0.078    0.1%
   36     67.01      0.09    0.1%
   38     70.14     0.055    0.0%
   40     73.35     0.088    0.1%
   42     76.64     0.071    0.0%
   44     80.28     0.094    0.1%
   46     83.23     0.067    0.0%
   48      86.6     0.084    0.0%
   50     90.57     0.208    0.2%
   52     93.81     0.051    0.0%
   54     97.04     0.196    0.2%
   56     100.1     0.099    0.0%
   58     103.4     0.117    0.1%
   60     106.9     0.109    0.1%
   62     110.3     0.123    0.1%
   64     113.5     0.113    0.0%
   66     116.3     0.184    0.1%
   68     119.5     0.095    0.0%
   70     123.3      0.72    0.5%
   72     126.2     0.299    0.2%
   74     129.9     0.115    0.0%
   76     133.1       0.1    0.0%
   78     136.4     0.095    0.0%
   80     139.7     0.087    0.0%
   82     143.1      0.14    0.0%
   84     146.6     0.097    0.0%
   86     149.9     0.089    0.0%
   88     153.2     0.106    0.0%
   90     156.4     0.233    0.1%
   92     159.5     0.201    0.1%
   94     163.2     0.143    0.0%
   96     166.8     0.152    0.0%
   98     170.1     0.233    0.1%
  100     173.7      0.38    0.2%
  102     177.1     0.281    0.1%
  104     179.9     0.291    0.1%
  106       184     0.172    0.0%
  108     186.8     0.228    0.1%
  110     190.2     0.117    0.0%
  112     194.6     0.443    0.2%
  114     197.4     0.166    0.0%
  116     200.8     0.244    0.1%
  118     204.2     0.343    0.1%
  120     207.5     0.099    0.0%
  122     210.7     0.137    0.0%
  124       214     0.208    0.0%
  126     217.6     0.251    0.1%
  128     220.4     0.154    0.0%

Quality and confidence:
param     error
c             0

Model:
Time ~=    6.741
    + c    1.669
              µs

Reads = 1 + (0 * c)
Writes = 0 + (0 * c)
Pallet: "pallet_contracts", Extrinsic: "code_refcount", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    11.01
    + c    2.691
              µs

Reads = 1 + (0 * c)
Writes = 1 + (0 * c)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    c   mean µs  sigma µs       %
    0     10.15     0.062    0.6%
    2     16.62     0.102    0.6%
    4     22.06     0.036    0.1%
    6     27.37     0.093    0.3%
    8     32.09     0.044    0.1%
   10     38.16     0.139    0.3%
   12      43.5     0.478    1.0%
   14      48.4     0.118    0.2%
   16     53.82      0.07    0.1%
   18     60.35     0.639    1.0%
   20     66.66     0.101    0.1%
   22     70.17     0.056    0.0%
   24     76.55     0.797    1.0%
   26     80.93     0.096    0.1%
   28     88.38     0.105    0.1%
   30     92.04     0.127    0.1%
   32     96.97     0.081    0.0%
   34     102.4     0.095    0.0%
   36       108     0.122    0.1%
   38     113.5       0.2    0.1%
   40     118.6     0.092    0.0%
   42     123.6     0.097    0.0%
   44     129.4     0.118    0.0%
   46     134.7     0.267    0.1%
   48     140.7     0.244    0.1%
   50     145.5      0.29    0.1%
   52     151.3     0.136    0.0%
   54     156.3     0.084    0.0%
   56     161.7     0.145    0.0%
   58     166.9     0.106    0.0%
   60     172.2     0.159    0.0%
   62     177.9     0.255    0.1%
   64     182.5     0.146    0.0%
   66     187.5     0.122    0.0%
   68     193.2     0.115    0.0%
   70     198.7     0.495    0.2%
   72     204.3     0.111    0.0%
   74     209.8     0.142    0.0%
   76     214.9     0.136    0.0%
   78     220.1     0.184    0.0%
   80     226.1     0.193    0.0%
   82     231.1     0.195    0.0%
   84     236.1     0.111    0.0%
   86     241.8     0.451    0.1%
   88       247     0.227    0.0%
   90     252.5     0.161    0.0%
   92     257.8     0.254    0.0%
   94     263.3     0.148    0.0%
   96       269     0.394    0.1%
   98     274.6     0.588    0.2%
  100     279.9     0.567    0.2%
  102     285.2     0.579    0.2%
  104     294.3     7.065    2.4%
  106     296.3     0.158    0.0%
  108     302.1     2.218    0.7%
  110     307.2     0.175    0.0%
  112     315.6     3.511    1.1%
  114     318.4     0.217    0.0%
  116     323.8     0.195    0.0%
  118     329.4     0.342    0.1%
  120     334.3     0.236    0.0%
  122     339.4     0.139    0.0%
  124       345     0.166    0.0%
  126     353.2     4.613    1.3%
  128     355.1     0.433    0.1%

Quality and confidence:
param     error
c         0.001

Model:
Time ~=    10.93
    + c    2.694
              µs

Reads = 1 + (0 * c)
Writes = 1 + (0 * c)
Pallet: "pallet_contracts", Extrinsic: "instantiate_with_code", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    594.3
    + c    381.8
    + s    2.243
              µs

Reads = 5 + (0 * c) + (0 * s)
Writes = 4 + (0 * c) + (0 * s)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    c     s   mean µs  sigma µs       %
    0  1024      2769     33.61    1.2%
    1  1024      3279     26.48    0.8%
    2  1024      3699     34.37    0.9%
    3  1024      4038     26.86    0.6%
    4  1024      4460     36.44    0.8%
    5  1024      4855     32.23    0.6%
    6  1024      5169     28.95    0.5%
    7  1024      5653     26.64    0.4%
    8  1024      5970     22.03    0.3%
    9  1024      6387     24.02    0.3%
   10  1024      6680     14.12    0.2%
   11  1024      7033     18.25    0.2%
   12  1024      7392     20.73    0.2%
   13  1024      7903     25.56    0.3%
   14  1024      8185     12.22    0.1%
   15  1024      8567     26.59    0.3%
   16  1024      9001     18.46    0.2%
   17  1024      9393     19.47    0.2%
   18  1024     10130       260    2.5%
   19  1024     10070     9.073    0.0%
   20  1024     10450     21.79    0.2%
   21  1024     10800     10.02    0.0%
   22  1024     11160      8.89    0.0%
   23  1024     12420     9.041    0.0%
   24  1024     11920     24.12    0.2%
   25  1024     12590     39.14    0.3%
   26  1024     12940     49.14    0.3%
   27  1024     13330     34.56    0.2%
   28  1024     13640     18.83    0.1%
   29  1024     14350     298.3    2.0%
   30  1024     14340     32.04    0.2%
   31  1024     14710     17.35    0.1%
   32  1024     15120     37.88    0.2%
   33  1024     16160     9.963    0.0%
   34  1024     15840     35.15    0.2%
   35  1024     16200     13.77    0.0%
   36  1024     16580     5.821    0.0%
   37  1024     16940     10.31    0.0%
   38  1024     17300     13.08    0.0%
   39  1024     17670     17.66    0.0%
   40  1024     18060     25.89    0.1%
   41  1024     18400     9.011    0.0%
   42  1024     18760     20.85    0.1%
   43  1024     19090     11.55    0.0%
   44  1024     19450     21.51    0.1%
   45  1024     19850     18.03    0.0%
   46  1024     20100     50.06    0.2%
   47  1024     20550     21.08    0.1%
   48  1024     20910     17.17    0.0%
   49  1024     21830      17.8    0.0%
   50  1024     22370     448.9    2.0%
   51  1024     22730     13.99    0.0%
   52  1024     22970     51.44    0.2%
   53  1024     23290     15.25    0.0%
   54  1024     23750      23.8    0.1%
   55  1024     24110     31.47    0.1%
   56  1024     24420      14.4    0.0%
   57  1024     24790     25.05    0.1%
   58  1024     25050     111.9    0.4%
   59  1024     25560     43.63    0.1%
   60  1024     25940      70.4    0.2%
   61  1024     26210     60.47    0.2%
   62  1024     26580     45.94    0.1%
   63  1024     26900     36.65    0.1%
   64     0     24910     47.72    0.1%
   64    20     25060     54.98    0.2%
   64    40     25090        74    0.2%
   64    60     24990     74.48    0.2%
   64    80     25230     34.96    0.1%
   64   100     25220      35.2    0.1%
   64   120     25270     42.54    0.1%
   64   140     25250     32.14    0.1%
   64   160     25350     34.76    0.1%
   64   180     25430     44.98    0.1%
   64   200     25490     52.24    0.2%
   64   220     25620     82.53    0.3%
   64   240     25640     50.28    0.1%
   64   260     25680     56.84    0.2%
   64   280     25530     75.18    0.2%
   64   300     25490     50.31    0.1%
   64   320     25680     76.27    0.2%
   64   340     25760     43.41    0.1%
   64   360     25810      67.4    0.2%
   64   380     25840     29.75    0.1%
   64   400     25750     20.14    0.0%
   64   420     25980      58.3    0.2%
   64   440     25930     57.88    0.2%
   64   460     26050     19.57    0.0%
   64   480     26100     29.46    0.1%
   64   500     26240      27.9    0.1%
   64   520     26210     26.32    0.1%
   64   540     26230     36.14    0.1%
   64   560     26340     66.08    0.2%
   64   580     26320     48.87    0.1%
   64   600     26380      28.9    0.1%
   64   620     26440     37.42    0.1%
   64   640     26490     44.39    0.1%
   64   660     26560     70.74    0.2%
   64   680     26630     113.4    0.4%
   64   700     26580     43.24    0.1%
   64   720     26700     74.96    0.2%
   64   740     26630     27.52    0.1%
   64   760     26580     49.93    0.1%
   64   780     26680     41.69    0.1%
   64   800     26700     45.49    0.1%
   64   820     26900     31.46    0.1%
   64   840     26960     59.14    0.2%
   64   860     26860     41.25    0.1%
   64   880     26930     64.75    0.2%
   64   900     27020     58.17    0.2%
   64   920     26980     45.45    0.1%
   64   940     27120      62.4    0.2%
   64   960     27110     56.76    0.2%
   64   980     27070     36.49    0.1%
   64  1000     27290     43.16    0.1%
   64  1020     27270     34.94    0.1%
   64  1024     27340      33.6    0.1%

Quality and confidence:
param     error
c         0.294
s         0.019

Model:
Time ~=    558.6
    + c    381.6
    + s    2.309
              µs

Reads = 5 + (0 * c) + (0 * s)
Writes = 4 + (0 * c) + (0 * s)
Pallet: "pallet_contracts", Extrinsic: "instantiate", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    282.6
    + s    2.288
              µs

Reads = 5 + (0 * s)
Writes = 3 + (0 * s)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    s   mean µs  sigma µs       %
    0     257.3     0.923    0.3%
   20     304.2     1.375    0.4%
   40     348.8     0.597    0.1%
   60     395.6     0.461    0.1%
   80     456.2     16.38    3.5%
  100     494.7     15.07    3.0%
  120     529.6     0.631    0.1%
  140     600.1     17.96    2.9%
  160     660.7     1.292    0.1%
  180     703.9     0.703    0.0%
  200     746.9     1.834    0.2%
  220     789.1     2.268    0.2%
  240     833.6     1.718    0.2%
  260     881.5     1.696    0.1%
  280     925.8     2.673    0.2%
  300     977.3     4.205    0.4%
  320      1018     4.396    0.4%
  340      1063     3.435    0.3%
  360      1113     11.22    1.0%
  380      1154     14.52    1.2%
  400      1202     12.98    1.0%
  420      1256     11.46    0.9%
  440      1294     12.36    0.9%
  460      1338     14.85    1.1%
  480      1374     9.288    0.6%
  500      1433       7.3    0.5%
  520      1474     12.56    0.8%
  540      1533      4.37    0.2%
  560      1560      10.7    0.6%
  580      1601     13.76    0.8%
  600      1643     16.01    0.9%
  620      1692     15.22    0.8%
  640      1734     14.05    0.8%
  660      1778     13.29    0.7%
  680      1893     31.65    1.6%
  700      1869     12.31    0.6%
  720      1925     4.293    0.2%
  740      1964     15.17    0.7%
  760      2003     14.82    0.7%
  780      2095        61    2.9%
  800      2108     6.215    0.2%
  820      2151     20.17    0.9%
  840      2201     15.91    0.7%
  860      2240     12.84    0.5%
  880      2293     12.66    0.5%
  900      2343     8.439    0.3%
  920      2376     15.27    0.6%
  940      2429      22.5    0.9%
  960      2454     15.66    0.6%
  980      2529     14.34    0.5%
 1000      2603     17.72    0.6%
 1020      2604     4.357    0.1%

Quality and confidence:
param     error
s         0.003

Model:
Time ~=    276.3
    + s    2.296
              µs

Reads = 5 + (0 * s)
Writes = 3 + (0 * s)
Pallet: "pallet_contracts", Extrinsic: "call", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    275.3
              µs

Reads = 4
Writes = 2
Min Squares Analysis
========
-- Extrinsic Time --

Model:
Time ~=    275.3
              µs

Reads = 4
Writes = 2
Pallet: "pallet_contracts", Extrinsic: "claim_surcharge", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    135.7
    + c    2.863
              µs

Reads = 5 + (0 * c)
Writes = 4 + (0 * c)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    c   mean µs  sigma µs       %
    0     133.7     0.298    0.2%
    2     141.2      0.43    0.3%
    4     145.7     0.448    0.3%
    6     154.6     1.413    0.9%
    8     157.8     0.276    0.1%
   10       164     0.263    0.1%
   12     167.9     0.322    0.1%
   14     175.7     1.013    0.5%
   16     179.8     0.462    0.2%
   18     186.6     0.195    0.1%
   20     192.2      0.31    0.1%
   22     197.9     0.608    0.3%
   24     203.5     0.651    0.3%
   26     209.2      0.54    0.2%
   28     215.2     0.463    0.2%
   30     221.1     0.381    0.1%
   32     227.1     0.424    0.1%
   34     233.3     0.294    0.1%
   36     235.2      2.27    0.9%
   38     245.4     0.512    0.2%
   40     251.2      0.67    0.2%
   42     257.1     0.406    0.1%
   44     263.6     0.624    0.2%
   46     269.1     0.708    0.2%
   48     274.1     0.964    0.3%
   50     281.3     1.662    0.5%
   52     285.5     0.486    0.1%
   54     290.5     0.666    0.2%
   56     297.8     0.816    0.2%
   58     302.5     0.763    0.2%
   60       309     0.918    0.2%
   62     317.2     2.872    0.9%
   64       320     0.786    0.2%
   66     325.8     0.887    0.2%
   68     328.8     2.875    0.8%
   70       334     3.522    1.0%
   72     336.6     4.556    1.3%
   74     340.4     2.633    0.7%
   76     349.8     4.785    1.3%
   78     358.6     1.105    0.3%
   80     363.8     0.851    0.2%
   82     369.9     2.929    0.7%
   84     376.6     2.357    0.6%
   86     383.5     1.037    0.2%
   88       388     4.477    1.1%
   90     393.9     5.259    1.3%
   92     404.4     13.58    3.3%
   94     397.4     0.625    0.1%
   96     405.9     3.807    0.9%
   98     417.2     1.263    0.3%
  100     424.5     1.929    0.4%
  102     427.7     6.573    1.5%
  104     435.8     10.37    2.3%
  106     445.2     2.649    0.5%
  108     451.6     5.062    1.1%
  110     444.8     4.492    1.0%
  112     450.9     6.039    1.3%
  114     458.6     4.078    0.8%
  116     463.3     4.882    1.0%
  118     470.8     4.405    0.9%
  120     472.3      4.72    0.9%
  122     482.1     7.568    1.5%
  124       489     5.122    1.0%
  126     501.4     4.862    0.9%
  128     506.9     6.329    1.2%

Quality and confidence:
param     error
c         0.004

Model:
Time ~=    135.5
    + c     2.86
              µs

Reads = 5 + (0 * c)
Writes = 4 + (0 * c)
Pallet: "pallet_contracts", Extrinsic: "seal_caller", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    266.6
    + r    362.5
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     264.7     4.917    1.8%
    1     660.8      2.93    0.4%
    2     950.3     1.795    0.1%
    3      1308     2.775    0.2%
    4      1664     2.068    0.1%
    5      2020     3.963    0.1%
    6      2409     26.55    1.1%
    7      2847     6.446    0.2%
    8      3226     16.22    0.5%
    9      3573     12.92    0.3%
   10      3977      19.1    0.4%
   11      4326     23.88    0.5%
   12      4732     11.21    0.2%
   13      5012     23.12    0.4%
   14      5378     10.66    0.1%
   15      5660     7.796    0.1%
   16      6152     109.2    1.7%
   17      6416     15.05    0.2%
   18      6752      19.1    0.2%
   19      7153     9.508    0.1%
   20      7437      10.8    0.1%

Quality and confidence:
param     error
r           0.7

Model:
Time ~=    270.2
    + r    363.1
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Pallet: "pallet_contracts", Extrinsic: "seal_address", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    344.3
    + r    359.4
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     268.1     9.908    3.6%
    1     664.7     3.773    0.5%
    2      1065     18.15    1.7%
    3      1439     4.526    0.3%
    4      1796     4.346    0.2%
    5      2146     4.554    0.2%
    6      2516      7.82    0.3%
    7      2864     7.939    0.2%
    8      3223     7.036    0.2%
    9      3585     11.71    0.3%
   10      3940     10.56    0.2%
   11      4310     12.71    0.2%
   12      4640      17.1    0.3%
   13      5011     20.48    0.4%
   14      5455     13.18    0.2%
   15      5761     14.65    0.2%
   16      6138     16.62    0.2%
   17      6380     10.02    0.1%
   18      6733     15.88    0.2%
   19      7145     31.37    0.4%
   20      7499     22.12    0.2%

Quality and confidence:
param     error
r         0.466

Model:
Time ~=    342.3
    + r      359
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Pallet: "pallet_contracts", Extrinsic: "seal_gas_left", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    320.6
    + r    355.6
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     243.2     2.415    0.9%
    1     662.5     5.747    0.8%
    2      1048     5.941    0.5%
    3      1407     7.074    0.5%
    4      1646     5.751    0.3%
    5      2102     24.72    1.1%
    6      2469     3.088    0.1%
    7      2786     31.65    1.1%
    8      3192     3.904    0.1%
    9      3537     10.43    0.2%
   10      3883     9.667    0.2%
   11      4238     8.514    0.2%
   12      4648      37.9    0.8%
   13      4938      10.2    0.2%
   14      5345     24.73    0.4%
   15      5624     8.976    0.1%
   16      5906      26.4    0.4%
   17      6352     29.71    0.4%
   18      6732     23.23    0.3%
   19      7045     40.51    0.5%
   20      7419     24.86    0.3%

Quality and confidence:
param     error
r         0.523

Model:
Time ~=    309.3
    + r    355.8
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Pallet: "pallet_contracts", Extrinsic: "seal_balance", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    392.1
    + r    619.1
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     259.5     6.636    2.5%
    1     970.5     18.62    1.9%
    2      1634     5.583    0.3%
    3      2251     8.419    0.3%
    4      2868     8.037    0.2%
    5      3559     34.76    0.9%
    6      4116     6.298    0.1%
    7      4680     29.31    0.6%
    8      5371     16.19    0.3%
    9      5967     37.92    0.6%
   10      6634      19.5    0.2%
   11      7278     23.87    0.3%
   12      7841     25.47    0.3%
   13      8488     30.41    0.3%
   14      9038     22.35    0.2%
   15      9685     35.04    0.3%
   16     10280     30.17    0.2%
   17     10960     29.57    0.2%
   18     11500     29.79    0.2%
   19     12010     40.06    0.3%
   20     12650     28.26    0.2%

Quality and confidence:
param     error
r         0.736

Model:
Time ~=    395.5
    + r    617.9
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Pallet: "pallet_contracts", Extrinsic: "seal_value_transferred", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=      362
    + r    351.7
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     265.9     5.915    2.2%
    1     659.8     18.05    2.7%
    2      1070     4.668    0.4%
    3      1438     19.49    1.3%
    4      1786      4.15    0.2%
    5      2131     5.046    0.2%
    6      2482     4.578    0.1%
    7      2838     4.004    0.1%
    8      3184     2.948    0.0%
    9      3520     6.255    0.1%
   10      3891     13.77    0.3%
   11      4196     39.85    0.9%
   12      4543     30.91    0.6%
   13      4926     32.06    0.6%
   14      5296     24.77    0.4%
   15      5647     31.94    0.5%
   16      6011      18.3    0.3%
   17      6290     23.15    0.3%
   18      6675     18.34    0.2%
   19      7055     10.37    0.1%
   20      7340     23.66    0.3%

Quality and confidence:
param     error
r         0.427

Model:
Time ~=    350.4
    + r    351.8
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Pallet: "pallet_contracts", Extrinsic: "seal_minimum_balance", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    337.7
    + r    353.5
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     240.5     4.067    1.6%
    1     670.8       8.4    1.2%
    2      1062     6.233    0.5%
    3      1421     5.742    0.4%
    4      1650     4.899    0.2%
    5      2129     4.789    0.2%
    6      2417     57.94    2.3%
    7      2821     5.312    0.1%
    8      3190     6.752    0.2%
    9      3519     38.36    1.0%
   10      3881     8.923    0.2%
   11      4233     9.279    0.2%
   12      4647     32.37    0.6%
   13      4937     20.29    0.4%
   14      5230     29.35    0.5%
   15      5661     12.17    0.2%
   16      5973     18.53    0.3%
   17      6310     10.78    0.1%
   18      6655     20.62    0.3%
   19      7003     16.96    0.2%
   20      7470     129.1    1.7%

Quality and confidence:
param     error
r         0.638

Model:
Time ~=    316.7
    + r    354.6
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Pallet: "pallet_contracts", Extrinsic: "seal_tombstone_deposit", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    340.8
    + r    353.7
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     262.4     4.768    1.8%
    1     664.1      23.8    3.5%
    2      1045     6.115    0.5%
    3      1430     3.673    0.2%
    4      1775     5.363    0.3%
    5      2021      37.2    1.8%
    6      2480     5.842    0.2%
    7      2829      8.93    0.3%
    8      3181     7.188    0.2%
    9      3538     4.414    0.1%
   10      3877     7.962    0.2%
   11      4252     8.834    0.2%
   12      4823     11.75    0.2%
   13      4958     13.21    0.2%
   14      5213      39.2    0.7%
   15      5567      37.5    0.6%
   16      6002     18.86    0.3%
   17      6293     25.85    0.4%
   18      6641     25.12    0.3%
   19      7052     37.98    0.5%
   20      7426     29.03    0.3%

Quality and confidence:
param     error
r         0.807

Model:
Time ~=    336.1
    + r    353.7
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Pallet: "pallet_contracts", Extrinsic: "seal_rent_allowance", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    357.3
    + r    351.3
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     245.6     4.447    1.8%
    1       662     23.38    3.5%
    2      1090     10.99    1.0%
    3      1429     5.155    0.3%
    4      1775     3.033    0.1%
    5      2139     6.455    0.3%
    6      2480      3.36    0.1%
    7      2820     5.283    0.1%
    8      3139     8.549    0.2%
    9      3499     15.34    0.4%
   10      3848     27.35    0.7%
   11      4213     6.727    0.1%
   12      4546        48    1.0%
   13      4950     12.05    0.2%
   14      5383     200.3    3.7%
   15      5584     8.323    0.1%
   16      6318     325.4    5.1%
   17      6342     18.87    0.2%
   18      6689     11.78    0.1%
   19      6997      20.9    0.2%
   20      7344     15.02    0.2%

Quality and confidence:
param     error
r          1.35

Model:
Time ~=    332.9
    + r    354.8
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Pallet: "pallet_contracts", Extrinsic: "seal_block_number", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    349.9
    + r      355
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     256.1     6.511    2.5%
    1     701.8     10.78    1.5%
    2      1075     2.479    0.2%
    3      1428     7.875    0.5%
    4      1778     6.806    0.3%
    5      2125     6.254    0.2%
    6      2507     38.23    1.5%
    7      2830     7.679    0.2%
    8      3185      3.49    0.1%
    9      3538     7.654    0.2%
   10      3904     6.676    0.1%
   11      4256     6.547    0.1%
   12      4603     11.97    0.2%
   13      4944     5.993    0.1%
   14      5333     18.69    0.3%
   15      5651     11.79    0.2%
   16      6078     17.88    0.2%
   17      6414     26.78    0.4%
   18      6741     18.65    0.2%
   19      7121     15.67    0.2%
   20      7389     11.82    0.1%

Quality and confidence:
param     error
r         0.377

Model:
Time ~=    340.2
    + r    355.8
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Pallet: "pallet_contracts", Extrinsic: "seal_now", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    357.6
    + r    351.9
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     260.8     5.995    2.2%
    1       649     12.46    1.9%
    2      1069     6.058    0.5%
    3      1423       5.4    0.3%
    4      1777     5.393    0.3%
    5      2124     6.141    0.2%
    6      2482      5.06    0.2%
    7      2824     3.809    0.1%
    8      3176     6.176    0.1%
    9      3504     13.05    0.3%
   10      3886     14.07    0.3%
   11      4217     11.92    0.2%
   12      4593     16.24    0.3%
   13      4938     8.436    0.1%
   14      5310     14.42    0.2%
   15      5654      9.43    0.1%
   16      5982     16.56    0.2%
   17      6321     5.631    0.0%
   18      6697     12.85    0.1%
   19      6996     26.37    0.3%
   20      7327     28.51    0.3%

Quality and confidence:
param     error
r         0.391

Model:
Time ~=    345.8
    + r    352.1
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Pallet: "pallet_contracts", Extrinsic: "seal_weight_to_fee", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    364.3
    + r    553.6
              µs

Reads = 5 + (0 * r)
Writes = 1 + (0 * r)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     260.6     7.283    2.7%
    1     830.5     41.21    4.9%
    2      1495      3.26    0.2%
    3      2032     10.89    0.5%
    4      2603     7.254    0.2%
    5      3146     5.235    0.1%
    6      3705     5.294    0.1%
    7      4209     5.532    0.1%
    8      4781     9.145    0.1%
    9      5329     33.78    0.6%
   10      5952     15.47    0.2%
   11      6493     14.28    0.2%
   12      7048     23.69    0.3%
   13      7490     28.43    0.3%
   14      8143     21.26    0.2%
   15      8600     37.29    0.4%
   16      9191     24.25    0.2%
   17      9716     20.59    0.2%
   18     10250     51.32    0.5%
   19     10870     52.74    0.4%
   20     11450     32.43    0.2%

Quality and confidence:
param     error
r         0.605

Model:
Time ~=    350.1
    + r    553.6
              µs

Reads = 5 + (0 * r)
Writes = 1 + (0 * r)
Pallet: "pallet_contracts", Extrinsic: "seal_gas", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    333.4
    + r    193.7
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     250.3     9.037    3.6%
    1     484.4     18.02    3.7%
    2     703.4     12.74    1.8%
    3     800.6     0.469    0.0%
    4      1133     7.099    0.6%
    5      1322     9.045    0.6%
    6      1516     4.026    0.2%
    7      1711     4.337    0.2%
    8      1882     8.025    0.4%
    9      2085     4.588    0.2%
   10      2290     6.299    0.2%
   11      2480     7.289    0.2%
   12      2664     11.32    0.4%
   13      2863     5.425    0.1%
   14      3047     3.994    0.1%
   15      3251     5.067    0.1%
   16      3436     5.603    0.1%
   17      3619      12.4    0.3%
   18      3752     44.08    1.1%
   19      3991     5.161    0.1%
   20      4170     11.32    0.2%

Quality and confidence:
param     error
r         0.446

Model:
Time ~=    313.2
    + r    194.6
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Pallet: "pallet_contracts", Extrinsic: "seal_input", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=      262
    + r        0
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     266.8     8.191    3.0%
    1     253.3     6.383    2.5%

Quality and confidence:
param     error
r         3.461

Model:
Time ~=    266.8
    + r        0
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Pallet: "pallet_contracts", Extrinsic: "seal_input_per_kb", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=      280
    + n    1.089
              µs

Reads = 4 + (0 * n)
Writes = 1 + (0 * n)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    n   mean µs  sigma µs       %
    0     249.1     2.475    0.9%
   20     310.3     5.304    1.7%
   40     327.3      3.35    1.0%
   60     349.2     3.746    1.0%
   80     376.1     5.438    1.4%
  100     397.8     9.369    2.3%
  120     385.4     5.143    1.3%
  140     441.3     4.812    1.0%
  160       498     19.57    3.9%
  180     490.1     9.978    2.0%
  200     476.4     6.137    1.2%
  220     493.5     5.763    1.1%
  240     510.6     4.143    0.8%
  260     572.8     7.338    1.2%
  280     558.7     6.938    1.2%
  300     620.5     9.352    1.5%
  320     633.9     4.807    0.7%
  340     660.9     5.809    0.8%
  360     672.2     2.225    0.3%
  380     703.2     10.73    1.5%
  400     726.9     10.63    1.4%
  420     737.5      7.05    0.9%
  440     782.6     17.43    2.2%
  460     782.9     2.394    0.3%
  480       840        14    1.6%
  500     834.2     9.662    1.1%
  520     845.8     4.102    0.4%
  540       866     3.518    0.4%
  560     887.6     8.344    0.9%
  580     930.8     10.04    1.0%
  600     926.5     4.847    0.5%
  620     923.2     6.891    0.7%
  640     986.2     8.258    0.8%
  660      1028     19.64    1.9%
  680      1017     2.352    0.2%
  700      1039     3.004    0.2%
  720      1059     4.001    0.3%
  740      1081     5.014    0.4%
  760      1112     11.82    1.0%
  780      1122     1.723    0.1%
  800      1161     16.61    1.4%
  820      1147     17.54    1.5%
  840      1185     3.931    0.3%
  860      1229     15.08    1.2%
  880      1233     3.736    0.3%
  900      1257      4.32    0.3%
  920      1303     16.74    1.2%
  940      1324     10.57    0.7%
  960      1322     3.631    0.2%
  980      1381     29.87    2.1%
 1000      1368     3.757    0.2%
 1020      1358      4.19    0.3%

Quality and confidence:
param     error
n         0.002

Model:
Time ~=    280.6
    + n    1.091
              µs

Reads = 4 + (0 * n)
Writes = 1 + (0 * n)
Pallet: "pallet_contracts", Extrinsic: "seal_return", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    245.4
    + r    39.45
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     246.7     10.87    4.4%
    1     285.7     4.279    1.4%

Quality and confidence:
param     error
r         3.895

Model:
Time ~=    246.7
    + r    39.08
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Pallet: "pallet_contracts", Extrinsic: "seal_return_per_kb", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    290.1
    + n    0.541
              µs

Reads = 4 + (0 * n)
Writes = 1 + (0 * n)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    n   mean µs  sigma µs       %
    0     263.5     4.109    1.5%
   20     296.5     4.867    1.6%
   40     317.1     11.92    3.7%
   60     330.4     15.16    4.5%
   80       331     6.373    1.9%
  100     350.2     1.877    0.5%
  120     359.6      4.03    1.1%
  140     362.5     9.769    2.6%
  160     384.4     5.553    1.4%
  180     397.4     15.29    3.8%
  200     405.4       8.9    2.1%
  220     415.8     6.617    1.5%
  240       430     9.073    2.1%
  260     440.4     6.956    1.5%
  280     441.8     4.966    1.1%
  300     427.6     4.524    1.0%
  320       451     12.43    2.7%
  340     452.5     5.839    1.2%
  360     454.1     2.106    0.4%
  380     502.1     4.248    0.8%
  400       509     4.791    0.9%
  420     485.2     1.896    0.3%
  440       527     11.27    2.1%
  460     545.2      2.99    0.5%
  480     544.5      9.38    1.7%
  500     563.7     3.495    0.6%
  520     572.5     3.508    0.6%
  540     575.5     9.006    1.5%
  560     596.9     3.368    0.5%
  580     608.2     4.421    0.7%
  600     616.9     7.495    1.2%
  620     645.8     14.66    2.2%
  640     634.4     3.212    0.5%
  660       647     4.282    0.6%
  680     664.3     4.359    0.6%
  700     678.3     10.26    1.5%
  720     686.3     7.928    1.1%
  740     674.1      11.2    1.6%
  760     700.6     6.397    0.9%
  780     709.5     7.409    1.0%
  800       719     3.875    0.5%
  820     726.2     6.095    0.8%
  840     753.5     13.72    1.8%
  860     755.8     4.747    0.6%
  880     777.9     14.21    1.8%
  900     746.7      6.82    0.9%
  920     770.8     12.92    1.6%
  940     807.7     14.88    1.8%
  960     819.6     4.347    0.5%
  980     812.7     10.15    1.2%
 1000     831.7     8.211    0.9%
 1020     839.1     13.55    1.6%

Quality and confidence:
param     error
n         0.002

Model:
Time ~=    288.6
    + n    0.541
              µs

Reads = 4 + (0 * n)
Writes = 1 + (0 * n)
Pallet: "pallet_contracts", Extrinsic: "seal_terminate", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    258.6
    + r      137
              µs

Reads = 4 + (2 * r)
Writes = 1 + (4 * r)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0       258     2.046    0.7%
    1     397.2     4.391    1.1%

Quality and confidence:
param     error
r         1.614

Model:
Time ~=      258
    + r    139.2
              µs

Reads = 4 + (2 * r)
Writes = 1 + (4 * r)
Pallet: "pallet_contracts", Extrinsic: "seal_restore_to", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    312.2
    + r    132.8
              µs

Reads = 4 + (4 * r)
Writes = 1 + (5 * r)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     311.6     3.835    1.2%
    1     445.2     2.897    0.6%

Quality and confidence:
param     error
r         1.602

Model:
Time ~=    311.6
    + r    133.5
              µs

Reads = 4 + (4 * r)
Writes = 1 + (5 * r)
Pallet: "pallet_contracts", Extrinsic: "seal_restore_to_per_delta", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    353.9
    + d     2467
              µs

Reads = 7 + (100 * d)
Writes = 7 + (100 * d)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    d   mean µs  sigma µs       %
    0     461.9     3.449    0.7%
    1      2866     23.61    0.8%
    2      5354     36.01    0.6%
    3      7801     13.39    0.1%
    4     10240     33.76    0.3%
    5     12700     37.39    0.2%
    6     15080     46.28    0.3%
    7     17520     33.31    0.1%
    8     19980     46.37    0.2%
    9     22480     50.95    0.2%
   10     25010     44.15    0.1%
   11     27340     58.94    0.2%
   12     29750     76.72    0.2%
   13     32300     68.39    0.2%
   14     34830      64.8    0.1%
   15     37250      45.8    0.1%
   16     39920     56.32    0.1%
   17     42240     69.78    0.1%
   18     45160     94.62    0.2%
   19     47700     104.2    0.2%
   20     49890     73.44    0.1%

Quality and confidence:
param     error
d         1.931

Model:
Time ~=    293.1
    + d     2475
              µs

Reads = 7 + (100 * d)
Writes = 7 + (100 * d)
Pallet: "pallet_contracts", Extrinsic: "seal_random", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    379.8
    + r    729.5
              µs

Reads = 5 + (0 * r)
Writes = 1 + (0 * r)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0       261     11.63    4.4%
    1     976.5     2.122    0.2%
    2      1838     3.302    0.1%
    3      2572     6.123    0.2%
    4      3314     5.052    0.1%
    5      4034     12.99    0.3%
    6      4774     9.248    0.1%
    7      5518     26.02    0.4%
    8      6252     20.76    0.3%
    9      6947     24.45    0.3%
   10      7702     23.74    0.3%
   11      8433     14.52    0.1%
   12      9163     21.86    0.2%
   13      9767     22.68    0.2%
   14     10570     38.81    0.3%
   15     11360     18.69    0.1%
   16     12090     49.45    0.4%
   17     12760     35.15    0.2%
   18     13420     19.06    0.1%
   19     14150     22.89    0.1%
   20     14870     34.14    0.2%

Quality and confidence:
param     error
r         0.706

Model:
Time ~=    367.6
    + r    728.9
              µs

Reads = 5 + (0 * r)
Writes = 1 + (0 * r)
Pallet: "pallet_contracts", Extrinsic: "seal_deposit_event", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    376.3
    + r    983.8
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     253.1     5.092    2.0%
    1      1296     47.22    3.6%
    2      2374     11.53    0.4%
    3      3336     15.06    0.4%
    4      4347     22.56    0.5%
    5      5305     12.59    0.2%
    6      6319     33.68    0.5%
    7      7331     40.36    0.5%
    8      8280     64.29    0.7%
    9      9308     26.32    0.2%
   10     10280     27.54    0.2%
   11     11250     37.35    0.3%
   12     12130     29.71    0.2%
   13     13090     27.84    0.2%
   14     14100     30.23    0.2%
   15     15010     51.55    0.3%
   16     16040      54.6    0.3%
   17     17090     49.99    0.2%
   18     18060     40.58    0.2%
   19     19050     58.99    0.3%
   20     20100     34.65    0.1%

Quality and confidence:
param     error
r          0.81

Model:
Time ~=    378.2
    + r    983.1
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Pallet: "pallet_contracts", Extrinsic: "seal_deposit_event_per_topic_and_kb", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=     1571
    + t      543
    + n      156
              µs

Reads = 4 + (100 * t) + (0 * n)
Writes = 1 + (100 * t) + (0 * n)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    t     n   mean µs  sigma µs       %
    0    16      3978     8.688    0.2%
    1    16      4648     20.89    0.4%
    2    16      5197     15.29    0.2%
    3    16      5743     25.18    0.4%
    4     0      3727     17.79    0.4%
    4     1      3893     12.78    0.3%
    4     2      4059     20.38    0.5%
    4     3      4127      39.4    0.9%
    4     4      4295     40.78    0.9%
    4     5      4526     23.97    0.5%
    4     6      4599     29.13    0.6%
    4     7      4728     29.16    0.6%
    4     8      4976     14.15    0.2%
    4     9      5090     12.04    0.2%
    4    10      5311     22.93    0.4%
    4    11      5445     20.93    0.3%
    4    12      5646     46.19    0.8%
    4    13      5718     41.77    0.7%
    4    14      5891     29.75    0.5%
    4    15      6088     31.62    0.5%
    4    16      6199     22.39    0.3%

Quality and confidence:
param     error
t         3.632
n         0.715

Model:
Time ~=     1528
    + t    542.7
    + n      158
              µs

Reads = 4 + (100 * t) + (0 * n)
Writes = 1 + (100 * t) + (0 * n)
Pallet: "pallet_contracts", Extrinsic: "seal_set_rent_allowance", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    334.1
    + r    262.7
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0       257     9.686    3.7%
    1     583.7      19.6    3.3%
    2       892     3.699    0.4%
    3      1154     1.958    0.1%
    4      1279     1.912    0.1%
    5      1541     7.232    0.4%
    6      1922     4.905    0.2%
    7      2191     3.558    0.1%
    8      2434     25.07    1.0%
    9      2706     6.373    0.2%
   10      2971     4.906    0.1%
   11      3221     5.636    0.1%
   12      3489     7.254    0.2%
   13      3710     8.524    0.2%
   14      4023     6.948    0.1%
   15      4263     12.56    0.2%
   16      4528     7.959    0.1%
   17      4800     10.46    0.2%
   18      5073     7.278    0.1%
   19      5309     10.05    0.1%
   20      5563     14.28    0.2%

Quality and confidence:
param     error
r         0.445

Model:
Time ~=    308.7
    + r    263.9
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Pallet: "pallet_contracts", Extrinsic: "seal_debug_message", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    315.4
    + r    221.2
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     255.6     8.393    3.2%
    1     535.1     18.16    3.3%
    2     778.9     5.535    0.7%
    3      1013     13.51    1.3%
    4      1233     3.247    0.2%
    5      1328     1.544    0.1%
    6      1547     4.351    0.2%
    7      1761      4.43    0.2%
    8      1987     4.978    0.2%
    9      2333     3.592    0.1%
   10      2550     6.479    0.2%
   11      2781     3.545    0.1%
   12      2996     5.374    0.1%
   13      3216     10.56    0.3%
   14      3422     9.394    0.2%
   15      3636     6.187    0.1%
   16      3846     8.185    0.2%
   17      4075     7.619    0.1%
   18      4279     8.377    0.1%
   19      4492     4.185    0.0%
   20      4732     12.14    0.2%

Quality and confidence:
param     error
r         0.531

Model:
Time ~=    288.7
    + r    222.5
              µs

Reads = 4 + (0 * r)
Writes = 1 + (0 * r)
Pallet: "pallet_contracts", Extrinsic: "seal_set_storage", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    397.5
    + r    625.6
              µs

Reads = 4 + (100 * r)
Writes = 1 + (100 * r)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     257.4     7.787    3.0%
    1      1034      6.11    0.5%
    2      1649     13.57    0.8%
    3      2274     24.04    1.0%
    4      2927     30.96    1.0%
    5      3526     19.01    0.5%
    6      4104     20.99    0.5%
    7      4839     26.08    0.5%
    8      5453      22.3    0.4%
    9      6111     21.97    0.3%
   10      6651     56.09    0.8%
   11      7254     33.74    0.4%
   12      7922     32.84    0.4%
   13      8561     37.56    0.4%
   14      9136      25.7    0.2%
   15      9810     49.43    0.5%
   16     10340     25.16    0.2%
   17     10950     46.19    0.4%
   18     11700     30.53    0.2%
   19     12280     40.79    0.3%
   20     12830     52.88    0.4%

Quality and confidence:
param     error
r         0.705

Model:
Time ~=    396.1
    + r    625.3
              µs

Reads = 4 + (100 * r)
Writes = 1 + (100 * r)
Pallet: "pallet_contracts", Extrinsic: "seal_set_storage_per_kb", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    930.6
    + n       45
              µs

Reads = 5 + (0 * n)
Writes = 2 + (0 * n)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    n   mean µs  sigma µs       %
    0     762.7     29.88    3.9%
    1     969.6     14.54    1.5%
    2      1036     4.066    0.3%
    3      1080     3.074    0.2%
    4      1100     20.74    1.8%
    5      1146     7.445    0.6%
    6      1193     10.72    0.8%
    7      1271     9.113    0.7%
    8      1293     16.31    1.2%
    9      1345     3.145    0.2%
   10      1387     5.001    0.3%
   11      1440     5.644    0.3%
   12      1435     4.858    0.3%
   13      1485     2.467    0.1%
   14      1519     34.77    2.2%
   15      1606     14.87    0.9%
   16      1636     14.97    0.9%

Quality and confidence:
param     error
n         0.699

Model:
Time ~=    903.5
    + n     46.7
              µs

Reads = 5 + (0 * n)
Writes = 2 + (0 * n)
Pallet: "pallet_contracts", Extrinsic: "seal_clear_storage", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    237.2
    + r     1132
              µs

Reads = 4 + (100 * r)
Writes = 1 + (100 * r)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     255.1     3.428    1.3%
    1      1455     21.88    1.5%
    2      2570     14.61    0.5%
    3      3648     14.36    0.3%
    4      4774     32.72    0.6%
    5      5952     23.33    0.3%
    6      7011     36.96    0.5%
    7      8042     33.59    0.4%
    8      9202      27.3    0.2%
    9     10290     14.52    0.1%
   10     11590     20.69    0.1%
   11     12600     33.48    0.2%
   12     13680     52.24    0.3%
   13     14820     29.22    0.1%
   14     15950     14.25    0.0%
   15     17260     58.66    0.3%
   16     18400     53.74    0.2%
   17     19360     113.3    0.5%
   18     20730     115.4    0.5%
   19     22130     55.12    0.2%
   20     23340     32.99    0.1%

Quality and confidence:
param     error
r          1.77

Model:
Time ~=      174
    + r     1140
              µs

Reads = 4 + (100 * r)
Writes = 1 + (100 * r)
Pallet: "pallet_contracts", Extrinsic: "seal_get_storage", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    260.9
    + r    840.2
              µs

Reads = 4 + (100 * r)
Writes = 1 + (0 * r)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     251.8     9.202    3.6%
    1      1144     5.199    0.4%
    2      1904     44.66    2.3%
    3      2777     23.99    0.8%
    4      3623      34.8    0.9%
    5      4518     23.81    0.5%
    6      5338     40.88    0.7%
    7      6156       9.1    0.1%
    8      6941     20.75    0.2%
    9      7809     35.15    0.4%
   10      8614     23.89    0.2%
   11      9456     19.16    0.2%
   12     10390     32.66    0.3%
   13     11110      29.7    0.2%
   14     12030     41.71    0.3%
   15     12810      41.2    0.3%
   16     13680     51.68    0.3%
   17     14540     49.52    0.3%
   18     15410     33.41    0.2%
   19     16270     37.46    0.2%
   20     17130     66.84    0.3%

Quality and confidence:
param     error
r         0.613

Model:
Time ~=    254.5
    + r      841
              µs

Reads = 4 + (100 * r)
Writes = 1 + (0 * r)
Pallet: "pallet_contracts", Extrinsic: "seal_get_storage_per_kb", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    945.6
    + n    95.49
              µs

Reads = 5 + (0 * n)
Writes = 1 + (0 * n)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    n   mean µs  sigma µs       %
    0     913.6     13.55    1.4%
    1     946.4     22.48    2.3%
    2      1161     20.61    1.7%
    3      1287     3.371    0.2%
    4      1373     9.569    0.6%
    5      1380     45.35    3.2%
    6      1470     37.35    2.5%
    7      1624     24.17    1.4%
    8      1734     8.758    0.5%
    9      1731     29.74    1.7%
   10      1807     40.32    2.2%
   11      2023     30.64    1.5%
   12      2095     24.55    1.1%
   13      2175     10.45    0.4%
   14      2283     7.354    0.3%
   15      2393      8.11    0.3%
   16      2450     25.49    1.0%

Quality and confidence:
param     error
n         0.801

Model:
Time ~=    928.8
    + n    96.06
              µs

Reads = 5 + (0 * n)
Writes = 1 + (0 * n)
Pallet: "pallet_contracts", Extrinsic: "seal_transfer", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    286.5
    + r     5222
              µs

Reads = 4 + (100 * r)
Writes = 2 + (100 * r)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     261.2     9.266    3.5%
    1      5619     28.55    0.5%
    2     10780     28.51    0.2%
    3     15960     25.61    0.1%
    4     21130     58.27    0.2%
    5     26520     51.14    0.1%
    6     31670     81.78    0.2%
    7     36800     61.41    0.1%
    8     41970     42.58    0.1%
    9     47200     88.59    0.1%
   10     52330     82.68    0.1%
   11     57530     91.87    0.1%
   12     63080     60.86    0.0%
   13     68150     82.12    0.1%
   14     73230     87.94    0.1%
   15     78390     57.24    0.0%
   16     83720     81.64    0.0%
   17     89190     91.19    0.1%
   18     94490     115.2    0.1%
   19     99680      83.9    0.0%
   20    104800     94.67    0.0%

Quality and confidence:
param     error
r         1.651

Model:
Time ~=    268.8
    + r     5223
              µs

Reads = 4 + (100 * r)
Writes = 2 + (100 * r)
Pallet: "pallet_contracts", Extrinsic: "seal_call", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    97.31
    + r    19540
              µs

Reads = 5 + (200 * r)
Writes = 1 + (100 * r)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    r   mean µs  sigma µs       %
    0     271.7     3.861    1.4%
    1     19770     181.4    0.9%
    2     39090     267.8    0.6%
    3     58260     284.5    0.4%
    4     77750     656.5    0.8%
    5     98030     568.5    0.5%
    6    116700     999.5    0.8%
    7    135900     990.3    0.7%
    8    156200     949.2    0.6%
    9    175900      1027    0.5%
   10    194800      1421    0.7%
   11    215300      1258    0.5%
   12    232800      1846    0.7%
   13    254500      1676    0.6%
   14    275100      3010    1.0%
   15    292200      3240    1.1%
   16    313700      2763    0.8%
   17    335100      2424    0.7%
   18    350600      3138    0.8%
   19    370100      3528    0.9%
   20    389600      2539    0.6%

Quality and confidence:
param     error
r         24.77

Model:
Time ~=        0
    + r    19540
              µs

Reads = 5 + (200 * r)
Writes = 1 + (100 * r)
Pallet: "pallet_contracts", Extrinsic: "seal_call_per_transfer_input_output_kb", Lowest values: [], Highest values: [], Steps: 50, Repeat: 20
Median Slopes Analysis
========
-- Extrinsic Time --

Model:
Time ~=    28850
    + t     4953
    + i    39.67
    + o    66.59
              µs

Reads = 205 + (0 * t) + (0 * i) + (0 * o)
Writes = 101 + (101 * t) + (0 * i) + (0 * o)
Min Squares Analysis
========
-- Extrinsic Time --

Data points distribution:
    t     i     o   mean µs  sigma µs       %
    0  1024   960    133000     959.9    0.7%
    1     0   960     95200     523.8    0.5%
    1    20   960     96250     240.6    0.2%
    1    40   960     97370       368    0.3%
    1    60   960     97010     920.8    0.9%
    1    80   960     99240     329.1    0.3%
    1   100   960     99520     406.2    0.4%
    1   120   960    100200     659.4    0.6%
    1   140   960    101300     358.9    0.3%
    1   160   960    101800     379.6    0.3%
    1   180   960    102600     281.4    0.2%
    1   200   960    103600     583.1    0.5%
    1   220   960    104900       405    0.3%
    1   240   960    105000     663.9    0.6%
    1   260   960    106000     933.3    0.8%
    1   280   960    106800     440.2    0.4%
    1   300   960    108400       568    0.5%
    1   320   960    108200     601.1    0.5%
    1   340   960    109500     312.2    0.2%
    1   360   960    110700     424.3    0.3%
    1   380   960    110600     514.7    0.4%
    1   400   960    111200     727.7    0.6%
    1   420   960    112100     501.1    0.4%
    1   440   960    113200     524.3    0.4%
    1   460   960    114200     496.7    0.4%
    1   480   960    114600     956.6    0.8%
    1   500   960    115700     327.2    0.2%
    1   520   960    117600     505.8    0.4%
    1   540   960    116800     859.8    0.7%
    1   560   960    118400     249.9    0.2%
    1   580   960    119600     642.5    0.5%
    1   600   960    119600     586.5    0.4%
    1   620   960    120700     533.1    0.4%
    1   640   960    122100     542.4    0.4%
    1   660   960    122600     638.8    0.5%
    1   680   960    123600     350.2    0.2%
    1   700   960    123600      1157    0.9%
    1   720   960    124800     607.4    0.4%
    1   740   960    126000     361.7    0.2%
    1   760   960    126300     570.8    0.4%
    1   780   960    128300     407.3    0.3%
    1   800   960    126400     484.3    0.3%
    1   820   960    126600     630.5    0.4%
    1   840   960    128200     401.3    0.3%
   <truncated>...

Parity Benchmarking Bot and others added 4 commits August 9, 2021 12:07
…path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_contracts --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/contracts/src/weights.rs --template=./.maintain/frame-weight-template.hbs
…anifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_contracts --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/contracts/src/weights.rs --template=./.maintain/frame-weight-template.hbs"

This reverts commit d713590.
@athei athei added A0-please_review Pull request needs code review. and removed A1-onice labels Aug 16, 2021
@athei
Copy link
Member

athei commented Aug 16, 2021

Even though we won't be using this in production soon it will be very helpful to have this merged for benchmarking and experimentation. @pepyakin please consider removing your "change requested".

@0x7CFE 0x7CFE requested a review from a team as a code owner August 17, 2021 08:01
@pepyakin pepyakin dismissed their stale review August 17, 2021 12:24

Changes were made

Copy link
Contributor

@TriplEight TriplEight left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.
If it can share any cache with other jobs, it would make sense to merge them.
Also, for the upcoming optimizations: can we run this test only if certain files were changed?

@athei
Copy link
Member

athei commented Aug 17, 2021

If it can share any cache with other jobs, it would make sense to merge them.

Adding the wasmtime-sandbox feature triggers a substantial amount of crates to be recompiled. I think having it as separate job and therefore being able to run it in parallel constitutes a lesser impact on CI waiting time.

Also, for the upcoming optimizations: can we run this test only if certain files were changed?

In the future I hope that we can get rid of the wasmer-sandbox feature and can get this code to be always build. But if you implement that optimization we could add a job that actually executes this code which is to heavyweight to run for every commit.

@athei
Copy link
Member

athei commented Aug 17, 2021

bot merge

@ghost
Copy link

ghost commented Aug 17, 2021

Waiting for commit status.

@athei
Copy link
Member

athei commented Aug 19, 2021

bot merge

@ghost
Copy link

ghost commented Aug 19, 2021

Trying merge.

@ghost ghost merged commit ecc76f3 into master Aug 19, 2021
@ghost ghost deleted the wasmtime-sandbox branch August 19, 2021 13:04
This pull request was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A0-please_review Pull request needs code review. C1-low PR touches the given topic and has a low impact on builders.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

10 participants