タグ

ブックマーク / zenn.dev/sosukesuzuki (1)

  • Node16, 18 では arr.at(-1) は arr[arr.length-1] より遅い

    OSSやってて教えてもらったんですが、Node.js 16 から使えるようになっている Array.prototype.at は、実は Node16, Node18 では通常のプロパティアクセスに比べて大幅に遅いらしいです。 実際に計測してみました。 計測スクリプトはこちらです。ちょっと長いですが、array[array.length - 1] と array.at(-1) をそれぞれ 1e8 回実行するのにかかった時間を PerformanceObserver で計測しているだけです。(リポジトリは https://github.com/sosukesuzuki/array-prototype-at-perf/tree/main ) const { PerformanceObserver, performance } = require("node:perf_hooks"); const

    Node16, 18 では arr.at(-1) は arr[arr.length-1] より遅い
    igrep
    igrep 2023/03/26
    atメソッドの呼び出しを特殊化できるか否かの違いなのかねぇ
  • 1