diff options
author | 2023-09-25 03:27:38 -0700 | |
---|---|---|
committer | 2023-09-25 03:27:38 -0700 | |
commit | af0cb893b577ceb0cbcd6b20c17db4534cfef114 (patch) | |
tree | 8f8843c08710284cf9941b0403ab9e404c0978da /bench/snippets/private.mjs | |
parent | 702749319636faf2a96f79d201ed0a7a25af06dd (diff) | |
download | bun-af0cb893b577ceb0cbcd6b20c17db4534cfef114.tar.gz bun-af0cb893b577ceb0cbcd6b20c17db4534cfef114.tar.zst bun-af0cb893b577ceb0cbcd6b20c17db4534cfef114.zip |
Add microbenchmark for symbol-based private variables
Diffstat (limited to '')
-rw-r--r-- | bench/snippets/private.mjs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/bench/snippets/private.mjs b/bench/snippets/private.mjs index ca75c6e07..452dab06b 100644 --- a/bench/snippets/private.mjs +++ b/bench/snippets/private.mjs @@ -77,4 +77,24 @@ bench("ConventionalPrivates", () => { new Foo().run(); }); +const _state = Symbol("state"); +const _inc = Symbol("inc"); + +bench("SymbolPrivates", () => { + class Foo { + [_state] = 1; + [_inc] = 13; + + run() { + let n = 1000000; + while (n-- > 0) { + this[_state] += this[_inc]; + } + return n; + } + } + + new Foo().run(); +}); + await run(); |