2015年12月17日、Google Chrome の JavaScript エンジン(処理系)である V8 の公式ブログにて、 JavaScript の標準的な乱数生成APIである Math.random() の背後で使われているアルゴリズムの変更がアナウンスされました。 Math.random() 関数は JavaScript を利用する際には比較的よく使われる関数ですので、親しみのある方も多いのではないかと思います。 新たなバグの発見や、従来より優秀なアルゴリズムの発見によってアルゴリズムが変更されること自体はそれほど珍しくはないものの、 技術的には枯れていると思われる Math.random() のような基本的な処理の背後のアルゴリズムが変更されたことに驚きを感じる方も少なくないかと思いますが、 それ以上に注目すべきはその変更後のアルゴリズムです。 実際に採用されたアルゴリズムの原
おはようございます。2年ぶりの記事ですね。 もう1月程前になってしまいましたが、id:sleepy_yoshi:20130720 で id:sleepy_yoshi さんが高速な非復元抽出をやっておられ、その中で、Cのrand関数を使っておられました。僕は、普段、std::mt19937を使っていたので、ちょっと比較してみた、という記事です。 C++11では、大別して、2つの擬似乱数生成の方法があります。1つはC(cstdlib)のrand関数で、高速ですが乱数の質が低く、もう1つはrandomヘッダのmt19937(メルセンヌ・ツイスタ)で、低速ですが乱数の質が高い(科学実験に適する)と、一般には思われていると思います。この高速・低速ですが、mt19937を使うことがボトルネックになるほど遅いことは殆どない、というのが今までの実感でした。なので、僕は、非復元抽出のような処理では、特にボト
現在のPCにはCore 2 i3、i5、i7というSandy Bridgeプロセサが使われているが、この後継となるのが、2012年に登場予定のIvy Bridgeと呼ばれるプロセサである。Sandy Bridgeは32nmプロセスで製造されているが、Ivy Bridgeはその次の22nmプロセスに移行する。Intelのプロセサロードマップは新プロセスへの移行とアーキテクチャの革新を1年ごとに交互に繰り返すので、プロセスを更新するIvy Bridgeではアーキテクチャ的には大きな革新は無いが、それでも、次の2枚のスライドに示されるような新機能が追加されている。 IDF2011で発表されたIvy Bridgeの追加機能 ユーザとしては3Dグラフィックスの強化やコアの性能強化に目が行くが、この記事では2枚目のスライドの最初に書いてあるデジタル乱数発生器を取り上げる。 乱数というとゲームの展開など
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く