JavaScript情報交換所(プログラミング既習者専用) [無断転載禁止]©2ch.net (766レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
270
(3): デフォルトの名無しさん [sage] 2016/06/27(月)01:40 ID:n3Kagte5(2/5)
一応全体的に遅いということなのでそうだと勝手に思っていた。古いが以下。
http://blog.livedoor.jp/abars/archives/52103965.html

とりあえず確かめてみた結果、読み書きは1.5倍程度遅い。
許容範囲かといわれれば微妙だな、、、、
なおデータがなかなか安定しなかったので、若干怪しい。
サイズは俺が使う予定の1000にした。
このサイズなら確保との差が見えないが、オリジナルのサイズ(1.6M)だと見えていた。

function testArray(data, n, iter, start) {
var time_enter = Date.now();
for(var j=0;j<iter;j++)
for(var i = 0; i < n; i++) data[i] = i & 0xFFFFFFFF;
var now = Date.now();
return [now-time_enter, now-start];
}

function check(iter){
var start = Date.now()
console.log('array: '+testArray(new Array(count), count, iter, start));
start = Date.now();
console.log('Int32Array: '+testArray(new Int32Array(count), count, iter, start));
}

var count = 1000;
for (var i=100;i<100000000;i*=10) check(i);
276
(1): デフォルトの名無しさん [sage] 2016/06/27(月)04:57 ID:Hl6kI6LE(1)
>>270
古いが、じゃない。あまりにもあまりにも古すぎる。
例えばV8は1年前はasm.js用の特別な最適化はしないと言っていたのが、
今では実装がほぼ完了している。
時代の流れというのはとてつもなく早いのだよ。
半年以内の記事でないと評価に値しない。

>>268
通常配列の最適化はエンジンによりまちまちだが、共通して言える分としては
全要素がSMI(≒Int32)かDouble時の最適化のみ。
SMIの要素にDoubleが交じるとそれはDouble配列として最適化される。

そして確かにasm.jsベースで書けば理論的には最大パフォーマンスに近いものが作れるだろう。
でもそれは例えば変数は同時にレジストリに乗る程度の数個に厳選して、
他は全て型付配列のアクセスに置き換えるテクから始まり、
メモリ上のデータの配置にまで気を使って初めて実現できること。

勿論大本のアルゴリズムは言うまでもなく最適でないといけない。
それが昨日今日asm.js始めたばかりの人間にできるかといえば否。
昔アセンブリで最適化してた経験でもないと人力では限界がある。

>>272
もし本当にInt64を効率よく扱いたいのなら時代が追いついていない。
丁度今議論中。3年後にどうぞ。
279
(2): デフォルトの名無しさん [sage] 2016/06/27(月)23:12 ID:n3Kagte5(5/5)
>>275
今回は保存用(内部保持データ)なのでそれは使えない。

>>276
> 半年以内の記事でないと評価に値しない。
それはそうだが実際に遅い。
FF(47.0)でも試したが、上記ほどの差はなく、ほぼ1倍だった。
絶対値としては両方ともchrome(50.0.2630.1 canary SyzyASan)のInt32Arrayとほぼ同じで、
chromeのarrayが速いだけのようだ。
なお古いchrome(49.0.2623.112 beta-m)でも試したが傾向は同じ。(ただし全体的になぜか5倍ほど遅い)

とりあえず環境によるのかもしれないので、>>270の結果(>>271)を環境とともに貼ってくれれば助かる。
コピペすればそのまま実行できる。当たり前だが数字が大きい方が遅い。
なお>>271はchrome(50.0.2630.1 canary SyzyASan) + Vista だ。

> そして確かにasm.jsベースで書けば理論的には最大パフォーマンスに近いものが作れるだろう
いや、だからそれは「局所的」速度の話だろ。
俺は「全体的」速度を上げようとしている。
不要なオブジェクト生成はしていないので、メモリ攪拌はない。
ただし、どうしてもキャッシュミスは多いはずなので、これを改善しようとしている。
アクセスは150個単位で行われるため、TypedArrayにまとめてしまえばキャッシュヒットするようになる。(はず)
https://sites.google.com/site/shunichisnote/translations/data-oriented-design
ただ、今はそれ以前の段階で、全体的なメモリ使用量を削減しようとしている。
414: デフォルトの名無しさん [sage] 2016/08/24(水)02:09 ID:fG60fvYz(1/3)
>>413
> ほんとにバグがあるのか、もしくは君の方がが小慣れていないのかが分からない。
これはその通り。当初の>>358は間違いだったからね。
ただ仕様は大体理解したので、多分>>394>>410はバグだ。

とはいえ切り分けはしない。
最新版が使えない状況で切り分けて報告する意味はないので無駄だから。
(最新版では既に治っているかもしれない)
俺については「バグがある」という認識で使うか、使うのを止めるかでしかない。
つまり他の方法も試して一番マシな方法を使うだけ。
ちなみにchromiumに対してバグ報告もしたことあるし、受け付けられてもいるよ。
ただそれをやるにしてもここでやる意味はない。直接報告すればいいだけ。

コードはここには上げない。
コピペすればいいだけのコードすら協力してくれないお前らに対して期待はしていないし、(>>270,279)
話を聞く限りお前らの腕前/デバッグ出来る範囲を完全に超えている。
コードを上げてもお前らでは何も出来ないよ。
いずれにしても既に公開はしているから、勝手に探せばいい。

100kダウンロードはその話だと試したわけではないんだろ?だったら俺が試すだけだよ。
ZIP化してもいいが取り扱いが面倒になるだけだから、いければ生ファイルで行く。

> 拡張機能もしくはブラウザアプリにしてインストール必須にしても構わないだろう。
これは何が違うんだ?調べた限りでは大差ないようだったが、違うのか?
なお今回欲しい機能は以下。
・ローカルファイルからのユーザ指定無しでの読み込み
・ダウンロード時のフォルダ指定(階層化したフォルダに対してのダウンロード先指定)
これらが出来るのなら乗り換えを検討する。
ちなみに今のところGreaseMonkeyで不自由していない。
ただ、GM専用機能も使ってないので、乗り換えは出来る。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.039s