- Tweet

vueでreactiveとrefの更新時のパフォーマンス比較

[reactive]と[ref]と[通常]と[通常オブジェクト]の4種の変数で、値に1を追加する処理を10万回行った時の時間を計測した。

結果は

reactiveが約50倍, refが約10倍ぐらい遅かった。
しかし、refでref({a: 0})のようにobjectを使った場合、reactiveとほぼ同じだった(71.7 ms)。
これはrefでobjectを使用した場合、内部でreactiveを使用するという挙動のためだと思う。

大量にアクセスする場合に速くする方法

のようにtoRawでプレーンオブジェクトを取得し、rawObjにアクセスすれば速くなる。
またrawObjを変更した場合はリアクティブを発火せずに変更できる。

 

コメントを残す