|
@@ -24,11 +24,11 @@ function average (...args) {
|
|
|
return sum(...args) / args.length;
|
|
|
}
|
|
|
|
|
|
-function variation (current, previous) {
|
|
|
+function variation (current, previous, offset = 0) {
|
|
|
return {
|
|
|
value: current,
|
|
|
delta: current - previous,
|
|
|
- prcnt: 100 * (current - previous) / (previous - BASE_TX_COST),
|
|
|
+ prcnt: 100 * (current - previous) / (previous - offset),
|
|
|
};
|
|
|
}
|
|
|
|
|
@@ -58,7 +58,7 @@ class Report {
|
|
|
}, {
|
|
|
contract: contract.name,
|
|
|
method: '[construction cost]',
|
|
|
- avg: variation(...[contract.gasData, contract.previousVersion.gasData].map(x => Math.round(average(...x)))),
|
|
|
+ avg: variation(...[contract.gasData, contract.previousVersion.gasData].map(x => Math.round(average(...x))), BASE_TX_COST),
|
|
|
}])
|
|
|
.sort((a, b) => `${a.contract}:${a.method}`.localeCompare(`${b.contract}:${b.method}`));
|
|
|
|
|
@@ -69,9 +69,9 @@ class Report {
|
|
|
.map(key => ({
|
|
|
contract: ref.info.methods[key].contract,
|
|
|
method: ref.info.methods[key].fnSig,
|
|
|
- min: variation(...[update, ref].map(x => Math.min(...x.info.methods[key].gasData))),
|
|
|
- max: variation(...[update, ref].map(x => Math.max(...x.info.methods[key].gasData))),
|
|
|
- avg: variation(...[update, ref].map(x => Math.round(average(...x.info.methods[key].gasData)))),
|
|
|
+ min: variation(...[update, ref].map(x => Math.min(...x.info.methods[key].gasData)), BASE_TX_COST),
|
|
|
+ max: variation(...[update, ref].map(x => Math.max(...x.info.methods[key].gasData)), BASE_TX_COST),
|
|
|
+ avg: variation(...[update, ref].map(x => Math.round(average(...x.info.methods[key].gasData))), BASE_TX_COST),
|
|
|
}))
|
|
|
.sort((a, b) => `${a.contract}:${a.method}`.localeCompare(`${b.contract}:${b.method}`));
|
|
|
|