Skip to content

Commit

Permalink
Remove tracking of self for a slight gain.
Browse files Browse the repository at this point in the history
Slight performance gain removing the assignment of `this` to
`async.self`.
  • Loading branch information
flatheadmill committed Nov 28, 2015
1 parent 24f2d20 commit 1e9c7a8
Show file tree
Hide file tree
Showing 3 changed files with 105 additions and 117 deletions.
210 changes: 105 additions & 105 deletions benchmark.txt
@@ -1,128 +1,128 @@
% node --version
v0.10.40
% node benchmark/increment/call.js
cadence call 1 x 1,745,783 ops/sec ±0.54% (96 runs sampled)
_cadence call 1 x 1,750,017 ops/sec ±0.46% (99 runs sampled)
cadence call 2 x 1,734,909 ops/sec ±0.54% (95 runs sampled)
_cadence call 2 x 1,767,282 ops/sec ±0.42% (101 runs sampled)
cadence call 3 x 1,752,413 ops/sec ±0.73% (95 runs sampled)
_cadence call 3 x 1,765,041 ops/sec ±0.41% (101 runs sampled)
cadence call 4 x 1,756,117 ops/sec ±0.41% (98 runs sampled)
_cadence call 4 x 1,771,349 ops/sec ±0.25% (102 runs sampled)
Fastest is _cadence call 4,_cadence call 3
cadence call 1 x 1,757,904 ops/sec ±0.67% (98 runs sampled)
_cadence call 1 x 1,748,183 ops/sec ±0.47% (97 runs sampled)
cadence call 2 x 1,736,630 ops/sec ±0.98% (95 runs sampled)
_cadence call 2 x 1,770,670 ops/sec ±0.39% (96 runs sampled)
cadence call 3 x 1,799,599 ops/sec ±0.43% (98 runs sampled)
_cadence call 3 x 1,778,145 ops/sec ±0.32% (98 runs sampled)
cadence call 4 x 1,794,286 ops/sec ±0.41% (100 runs sampled)
_cadence call 4 x 1,775,216 ops/sec ±0.37% (101 runs sampled)
Fastest is cadence call 3
% node benchmark/increment/async.js
_cadence async 1 x 1,608,271 ops/sec ±0.48% (101 runs sampled)
cadence async 1 x 1,619,182 ops/sec ±0.33% (101 runs sampled)
_cadence async 2 x 1,618,033 ops/sec ±0.60% (96 runs sampled)
cadence async 2 x 1,610,183 ops/sec ±0.65% (98 runs sampled)
_cadence async 3 x 1,620,458 ops/sec ±0.65% (93 runs sampled)
cadence async 3 x 1,599,921 ops/sec ±0.63% (99 runs sampled)
_cadence async 4 x 1,610,858 ops/sec ±0.72% (93 runs sampled)
cadence async 4 x 1,601,832 ops/sec ±1.19% (99 runs sampled)
Fastest is cadence async 1,_cadence async 2, cadence async 2,_cadence async 4, cadence async 3, cadence async 4
_cadence async 1 x 1,614,222 ops/sec ±0.45% (100 runs sampled)
cadence async 1 x 1,668,344 ops/sec ±0.39% (102 runs sampled)
_cadence async 2 x 1,608,893 ops/sec ±0.79% (92 runs sampled)
cadence async 2 x 1,656,090 ops/sec ±0.58% (100 runs sampled)
_cadence async 3 x 1,630,911 ops/sec ±0.56% (97 runs sampled)
cadence async 3 x 1,681,101 ops/sec ±0.26% (103 runs sampled)
_cadence async 4 x 1,659,125 ops/sec ±0.49% (99 runs sampled)
cadence async 4 x 1,679,207 ops/sec ±0.37% (103 runs sampled)
Fastest is cadence async 3, cadence async 4
% node benchmark/increment/loop.js
cadence loop 1 x 199,058 ops/sec ±0.52% (96 runs sampled)
_cadence loop 1 x 199,282 ops/sec ±0.53% (101 runs sampled)
cadence loop 2 x 201,672 ops/sec ±0.35% (101 runs sampled)
_cadence loop 2 x 202,083 ops/sec ±0.38% (102 runs sampled)
cadence loop 3 x 199,155 ops/sec ±0.61% (99 runs sampled)
_cadence loop 3 x 201,501 ops/sec ±0.50% (100 runs sampled)
cadence loop 4 x 201,094 ops/sec ±0.32% (102 runs sampled)
_cadence loop 4 x 202,594 ops/sec ±0.49% (97 runs sampled)
Fastest is _cadence loop 4
cadence loop 1 x 199,992 ops/sec ±1.18% (95 runs sampled)
_cadence loop 1 x 202,357 ops/sec ±0.53% (102 runs sampled)
cadence loop 2 x 203,606 ops/sec ±0.49% (101 runs sampled)
_cadence loop 2 x 202,958 ops/sec ±0.30% (102 runs sampled)
cadence loop 3 x 205,042 ops/sec ±0.30% (101 runs sampled)
_cadence loop 3 x 198,884 ops/sec ±0.64% (100 runs sampled)
cadence loop 4 x 201,603 ops/sec ±1.31% (94 runs sampled)
_cadence loop 4 x 202,837 ops/sec ±0.49% (101 runs sampled)
Fastest is cadence loop 3
% node --version
v0.12.7
% node benchmark/increment/call.js
cadence call 1 x 2,317,847 ops/sec ±0.33% (100 runs sampled)
_cadence call 1 x 2,326,720 ops/sec ±0.81% (101 runs sampled)
cadence call 2 x 2,286,402 ops/sec ±0.61% (100 runs sampled)
_cadence call 2 x 2,272,392 ops/sec ±0.61% (100 runs sampled)
cadence call 3 x 2,127,573 ops/sec ±0.39% (99 runs sampled)
_cadence call 3 x 2,118,486 ops/sec ±0.46% (96 runs sampled)
cadence call 4 x 2,078,142 ops/sec ±0.57% (98 runs sampled)
_cadence call 4 x 2,098,236 ops/sec ±0.70% (98 runs sampled)
Fastest is cadence call 1
cadence call 1 x 2,344,529 ops/sec ±0.29% (98 runs sampled)
_cadence call 1 x 2,294,478 ops/sec ±0.64% (96 runs sampled)
cadence call 2 x 2,298,424 ops/sec ±1.46% (99 runs sampled)
_cadence call 2 x 2,259,803 ops/sec ±0.52% (99 runs sampled)
cadence call 3 x 2,328,525 ops/sec ±0.59% (99 runs sampled)
_cadence call 3 x 2,272,347 ops/sec ±0.71% (100 runs sampled)
cadence call 4 x 2,285,447 ops/sec ±0.60% (100 runs sampled)
_cadence call 4 x 2,218,269 ops/sec ±0.58% (99 runs sampled)
Fastest is cadence call 1, cadence call 3
% node benchmark/increment/async.js
_cadence async 1 x 1,763,930 ops/sec ±0.70% (97 runs sampled)
cadence async 1 x 1,806,646 ops/sec ±0.63% (96 runs sampled)
_cadence async 2 x 1,788,650 ops/sec ±0.66% (94 runs sampled)
cadence async 2 x 1,795,889 ops/sec ±0.74% (91 runs sampled)
_cadence async 3 x 1,802,388 ops/sec ±0.62% (96 runs sampled)
cadence async 3 x 1,792,773 ops/sec ±0.28% (97 runs sampled)
_cadence async 4 x 1,808,338 ops/sec ±0.44% (98 runs sampled)
cadence async 4 x 1,780,074 ops/sec ±0.46% (99 runs sampled)
Fastest is _cadence async 4,_cadence async 3, cadence async 2,_cadence async 2
_cadence async 1 x 1,702,737 ops/sec ±1.25% (90 runs sampled)
cadence async 1 x 1,834,236 ops/sec ±0.58% (96 runs sampled)
_cadence async 2 x 1,804,598 ops/sec ±0.59% (99 runs sampled)
cadence async 2 x 1,679,631 ops/sec ±0.77% (98 runs sampled)
_cadence async 3 x 1,590,926 ops/sec ±1.12% (95 runs sampled)
cadence async 3 x 1,777,240 ops/sec ±1.22% (96 runs sampled)
_cadence async 4 x 1,684,694 ops/sec ±0.34% (99 runs sampled)
cadence async 4 x 1,807,833 ops/sec ±0.36% (96 runs sampled)
Fastest is cadence async 1
% node benchmark/increment/loop.js
cadence loop 1 x 134,664 ops/sec ±1.68% (91 runs sampled)
_cadence loop 1 x 108,179 ops/sec ±1.72% (88 runs sampled)
cadence loop 2 x 99,875 ops/sec ±1.77% (86 runs sampled)
_cadence loop 2 x 89,239 ops/sec ±2.06% (89 runs sampled)
cadence loop 3 x 86,862 ops/sec ±1.25% (85 runs sampled)
_cadence loop 3 x 72,101 ops/sec ±2.15% (84 runs sampled)
cadence loop 4 x 63,379 ops/sec ±2.97% (77 runs sampled)
_cadence loop 4 x 76,156 ops/sec ±2.16% (88 runs sampled)
cadence loop 1 x 132,868 ops/sec ±1.46% (91 runs sampled)
_cadence loop 1 x 109,376 ops/sec ±1.48% (88 runs sampled)
cadence loop 2 x 99,753 ops/sec ±1.90% (88 runs sampled)
_cadence loop 2 x 85,826 ops/sec ±3.21% (88 runs sampled)
cadence loop 3 x 87,025 ops/sec ±1.24% (86 runs sampled)
_cadence loop 3 x 73,612 ops/sec ±2.13% (82 runs sampled)
cadence loop 4 x 61,664 ops/sec ±2.37% (78 runs sampled)
_cadence loop 4 x 77,251 ops/sec ±1.71% (77 runs sampled)
Fastest is cadence loop 1
% node --version
v4.2.2
% node benchmark/increment/call.js
cadence call 1 x 2,302,992 ops/sec ±0.48% (101 runs sampled)
_cadence call 1 x 2,197,120 ops/sec ±0.56% (100 runs sampled)
cadence call 2 x 2,285,383 ops/sec ±0.60% (99 runs sampled)
_cadence call 2 x 2,172,690 ops/sec ±0.59% (100 runs sampled)
cadence call 3 x 2,262,226 ops/sec ±0.61% (97 runs sampled)
_cadence call 3 x 2,147,208 ops/sec ±0.57% (97 runs sampled)
cadence call 4 x 2,260,393 ops/sec ±0.90% (100 runs sampled)
_cadence call 4 x 2,149,716 ops/sec ±0.54% (99 runs sampled)
Fastest is cadence call 1
cadence call 1 x 2,367,747 ops/sec ±0.55% (101 runs sampled)
_cadence call 1 x 2,268,989 ops/sec ±0.52% (98 runs sampled)
cadence call 2 x 2,231,805 ops/sec ±0.41% (101 runs sampled)
_cadence call 2 x 2,228,518 ops/sec ±0.57% (98 runs sampled)
cadence call 3 x 2,367,906 ops/sec ±0.28% (98 runs sampled)
_cadence call 3 x 2,245,894 ops/sec ±0.92% (97 runs sampled)
cadence call 4 x 2,273,584 ops/sec ±0.58% (100 runs sampled)
_cadence call 4 x 2,237,034 ops/sec ±0.72% (97 runs sampled)
Fastest is cadence call 3
% node benchmark/increment/async.js
_cadence async 1 x 1,934,918 ops/sec ±0.71% (94 runs sampled)
cadence async 1 x 1,919,925 ops/sec ±0.66% (96 runs sampled)
_cadence async 2 x 1,903,795 ops/sec ±0.61% (98 runs sampled)
cadence async 2 x 1,898,021 ops/sec ±0.50% (94 runs sampled)
_cadence async 3 x 1,899,697 ops/sec ±0.78% (94 runs sampled)
cadence async 3 x 1,923,477 ops/sec ±0.63% (95 runs sampled)
_cadence async 4 x 1,876,348 ops/sec ±0.64% (96 runs sampled)
cadence async 4 x 1,906,479 ops/sec ±0.53% (99 runs sampled)
Fastest is _cadence async 1, cadence async 3, cadence async 1, cadence async 4,_cadence async 2,_cadence async 3
_cadence async 1 x 2,051,360 ops/sec ±0.67% (98 runs sampled)
cadence async 1 x 2,067,318 ops/sec ±0.29% (100 runs sampled)
_cadence async 2 x 2,074,864 ops/sec ±0.61% (98 runs sampled)
cadence async 2 x 2,052,182 ops/sec ±0.48% (97 runs sampled)
_cadence async 3 x 2,032,191 ops/sec ±0.33% (99 runs sampled)
cadence async 3 x 2,073,896 ops/sec ±0.55% (98 runs sampled)
_cadence async 4 x 2,049,021 ops/sec ±0.54% (98 runs sampled)
cadence async 4 x 2,069,434 ops/sec ±0.57% (98 runs sampled)
Fastest is cadence async 3, cadence async 1, cadence async 4
% node benchmark/increment/loop.js
cadence loop 1 x 45,450 ops/sec ±0.72% (100 runs sampled)
_cadence loop 1 x 82,092 ops/sec ±2.50% (78 runs sampled)
cadence loop 2 x 81,232 ops/sec ±0.76% (95 runs sampled)
_cadence loop 2 x 82,535 ops/sec ±2.69% (71 runs sampled)
cadence loop 3 x 84,747 ops/sec ±3.06% (78 runs sampled)
_cadence loop 3 x 90,972 ops/sec ±4.36% (91 runs sampled)
cadence loop 4 x 81,166 ops/sec ±1.78% (95 runs sampled)
_cadence loop 4 x 108,117 ops/sec ±6.18% (78 runs sampled)
cadence loop 1 x 44,988 ops/sec ±0.93% (100 runs sampled)
_cadence loop 1 x 82,374 ops/sec ±2.92% (68 runs sampled)
cadence loop 2 x 82,270 ops/sec ±2.21% (74 runs sampled)
_cadence loop 2 x 84,008 ops/sec ±3.21% (89 runs sampled)
cadence loop 3 x 79,427 ops/sec ±1.30% (96 runs sampled)
_cadence loop 3 x 91,369 ops/sec ±5.16% (71 runs sampled)
cadence loop 4 x 80,891 ops/sec ±1.46% (93 runs sampled)
_cadence loop 4 x 108,479 ops/sec ±6.28% (79 runs sampled)
Fastest is _cadence loop 4
% node --version
v5.1.0
% node benchmark/increment/call.js
cadence call 1 x 2,291,281 ops/sec ±0.44% (102 runs sampled)
_cadence call 1 x 2,278,236 ops/sec ±0.46% (101 runs sampled)
cadence call 2 x 2,249,952 ops/sec ±0.57% (95 runs sampled)
_cadence call 2 x 2,247,668 ops/sec ±0.46% (101 runs sampled)
cadence call 3 x 2,232,203 ops/sec ±0.47% (98 runs sampled)
_cadence call 3 x 2,226,532 ops/sec ±0.47% (100 runs sampled)
cadence call 4 x 2,210,529 ops/sec ±0.52% (100 runs sampled)
_cadence call 4 x 2,216,513 ops/sec ±0.64% (99 runs sampled)
cadence call 1 x 2,279,568 ops/sec ±0.32% (102 runs sampled)
_cadence call 1 x 2,229,868 ops/sec ±0.47% (100 runs sampled)
cadence call 2 x 2,222,086 ops/sec ±0.61% (99 runs sampled)
_cadence call 2 x 2,164,267 ops/sec ±0.66% (100 runs sampled)
cadence call 3 x 2,144,996 ops/sec ±0.41% (101 runs sampled)
_cadence call 3 x 2,107,117 ops/sec ±0.31% (102 runs sampled)
cadence call 4 x 2,107,985 ops/sec ±0.72% (101 runs sampled)
_cadence call 4 x 2,158,304 ops/sec ±0.66% (96 runs sampled)
Fastest is cadence call 1
% node benchmark/increment/async.js
_cadence async 1 x 1,982,964 ops/sec ±0.54% (96 runs sampled)
cadence async 1 x 2,091,453 ops/sec ±0.46% (100 runs sampled)
_cadence async 2 x 1,994,930 ops/sec ±0.79% (95 runs sampled)
cadence async 2 x 2,050,769 ops/sec ±0.50% (99 runs sampled)
_cadence async 3 x 2,019,994 ops/sec ±0.63% (93 runs sampled)
cadence async 3 x 2,083,277 ops/sec ±0.50% (97 runs sampled)
_cadence async 4 x 2,013,666 ops/sec ±0.63% (98 runs sampled)
cadence async 4 x 2,068,083 ops/sec ±0.58% (98 runs sampled)
Fastest is cadence async 1, cadence async 3
_cadence async 1 x 2,005,730 ops/sec ±0.49% (101 runs sampled)
cadence async 1 x 2,119,115 ops/sec ±0.38% (98 runs sampled)
_cadence async 2 x 2,071,725 ops/sec ±0.46% (101 runs sampled)
cadence async 2 x 2,126,466 ops/sec ±0.36% (102 runs sampled)
_cadence async 3 x 2,092,172 ops/sec ±0.30% (96 runs sampled)
cadence async 3 x 2,105,807 ops/sec ±0.50% (102 runs sampled)
_cadence async 4 x 2,080,470 ops/sec ±0.65% (101 runs sampled)
cadence async 4 x 2,120,039 ops/sec ±0.47% (99 runs sampled)
Fastest is cadence async 2, cadence async 4
% node benchmark/increment/loop.js
cadence loop 1 x 45,520 ops/sec ±0.82% (97 runs sampled)
_cadence loop 1 x 81,649 ops/sec ±1.81% (92 runs sampled)
cadence loop 2 x 83,614 ops/sec ±2.25% (81 runs sampled)
_cadence loop 2 x 80,469 ops/sec ±0.77% (99 runs sampled)
cadence loop 3 x 86,903 ops/sec ±3.52% (61 runs sampled)
_cadence loop 3 x 88,488 ops/sec ±4.10% (84 runs sampled)
cadence loop 4 x 88,289 ops/sec ±3.51% (95 runs sampled)
_cadence loop 4 x 98,425 ops/sec ±6.19% (72 runs sampled)
Fastest is _cadence loop 4, cadence loop 4, cadence loop 3, cadence loop 2
cadence loop 1 x 45,532 ops/sec ±0.83% (95 runs sampled)
_cadence loop 1 x 81,219 ops/sec ±2.39% (86 runs sampled)
cadence loop 2 x 80,927 ops/sec ±1.32% (92 runs sampled)
_cadence loop 2 x 81,045 ops/sec ±1.66% (64 runs sampled)
cadence loop 3 x 86,310 ops/sec ±3.65% (62 runs sampled)
_cadence loop 3 x 89,803 ops/sec ±4.73% (79 runs sampled)
cadence loop 4 x 81,663 ops/sec ±0.39% (97 runs sampled)
_cadence loop 4 x 102,016 ops/sec ±6.12% (87 runs sampled)
Fastest is _cadence loop 4, cadence loop 3, cadence loop 4, cadence loop 2
2 changes: 0 additions & 2 deletions cadence.js
Expand Up @@ -117,8 +117,6 @@ function call (fn, self, vargs) {
function invoke (cadence) {
var vargs, fn
for (;;) {
async.self = cadence.self

if (cadence.errors.length) {
if (cadence.catcher) {
var catcher = cadence.catcher, errors = cadence.errors
Expand Down
10 changes: 0 additions & 10 deletions t/cadence/self.t.js

This file was deleted.

0 comments on commit 1e9c7a8

Please sign in to comment.