JS.next

JavaScriptの最新実装情報を追うブログ

正規表現系のシンボルが実装された

概要

ES2015以前は正規表現オブジェクトを引数で取る関数は一般に、内部で引数が正規表現オブジェクトであるかどうかの判定をして、独自の処理をしていたが、
ES2015からは代わりに各処理に合うシンボルプロパティを持っているかどうかの判定をし、そのシンボルメソッドへ処理を委譲するようになった。

続きを読む

SharedArrayBufferとAtomics APIについて

概要

JSで大きな処理を効率良く捌きたい時、今までもWorker等でスレッド立てて処理を分割する事はできたが、
スレッド間のやり取りの方法は制限されたものしかなく、バッファを共有することもできなかった。
そこで新しく導入されたSharedArrayBufferを用いると、スレッド間で共同利用できるバッファを作る事ができる。

続きを読む

SIMD型について

概要

新しいプリミティブ型であるSIMD型及びAPIがV8で実装されてきている。
SIMDとは、複数の数値を並べて1つの値としたようなデータ型である。
これはCPUによって効率良くサポートされているデータ型であり、
1 + 2 -> 3 をするように [ 1, 2, 3, 4 ] + [ 2, 3, 4, 5 ] -> [ 3, 5, 7, 9 ] を1回の演算ですることができる。
つまり、沢山の数値を扱う場面でSIMD型を利用することで、何倍ものパフォーマンス向上が期待できる。
(※WASMに入ることとなり、ESからは一旦取り除かれました。)

続きを読む