タグ

benchmarkに関するmiya2000のブックマーク (5)

  • 2007-10-13 - 技術日記@kiwanami JavaScriptで b-tree

    導入 ある日突然、JavaScript上で高速に追加・削除が行えて爆速で最小値を検索できる入れ物が欲しくなった。 普通(JavaとかFORTRANとか)ならここで素直に b-tree の実装に入るのだけども、JavaScriptは例によって変態言語なので、実は面倒なことせずにArrayに普通に入れて、素直にソートとか線形探索したほうが速いのかもしれないという疑問を持った。 しかも「最近全然技術日記してない」という突込みが入り、ついカッとなってベンチマークをとってみた。*1 調べ方 以下の3つの入れ物を実装。適当な実装を探してみたが、あまりいいものが無かったので車輪の再実装。 BTree 素直にb-treeを実装。速度よりは読み書きしやすさ優先。スペック通りなら、追加・削除、値の探索が高速。 SortedList 配列を常にソートしておいてb-searchで値探索、spliceで追加・削除。

    2007-10-13 - 技術日記@kiwanami JavaScriptで b-tree
    miya2000
    miya2000 2007/10/15
    テストページがキレイ
  • IT戦記 - ベンチマークツール公開

    最近 またしても、JavaScript のベンチマークを取らなければならない仕事が来たので、 ツールをキレイにしました。 それを公開します。(ダウンロードは一番下にあります。) 使い方 script タグで benchmark.js を読み込んで、以下のように連想配列の関数群を渡すだけです。 benchmark({ 'ほげほげの計測': function() { ...... }, 'ふがふがの処理の計測': function() { ...... } }); 結果は以下のように表示されます。 *** ほげほげの計測 *** result : 0.0011[ms] *** ふがふがの処理の計測 *** result : 0.111[ms] 表示された秒数は 関数の中身を一回だけ実行する時間です。 関数呼び出しのコストは差し引かれています。 また、FireBug を使っている場合は benc

    IT戦記 - ベンチマークツール公開
    miya2000
    miya2000 2007/08/23
    100ms以下の処理は100回やって100で割る。すごいな。
  • SlickSpeed Selectors Test

    speed/validity selectors test for frameworks. Every framework runs in his own iFrame, thus no conflicts can happen. Tests are run selector by selector, with an interval to prevent the browser from freeezing. Tests are run in a neutral environment, no library or framework is included in the main javascript test, to avoid favoritism. Tests are run against a local copy of this document. beta' src='s

    miya2000
    miya2000 2007/06/18
    Opera9.21 final time (less is better) 116 2466 140 261 1760 131
  • 関数の実行時間を得る - nazokingのブログ

    ↑のエントリに関連して。JavaScriptだと Dateオブジェクトは数値として扱うことができ、その場合ミリ秒の数字になる。従って var start = new Date(); testfunction(); var end = new Date(); var span = end-start; // start から end までのミリ秒を得るというやり方で、testfunction() の実行時間をミリ秒で計ることができる。 function をゴニョゴニョして一般化できそうだなぁ… 追記 コメント欄でmalaさんが書いてくださったのをここに貼り付けておきますね Function.prototype.bench = function(st){ var self = this; // 実行時間を計りたい関数 return function(){ var start = new Dat

    関数の実行時間を得る - nazokingのブログ
  • XPathって速度的にどうなの? - takememo

    id:quaa:20060306#p1を見て、ループを回して要素にアクセスしたときに速度がどうなのか気になったので調べてみた。 スクリプト <html> <body> <script type="text/javascript"> function x(exp, type) { return document.evaluate(exp, document, null, type, null); } var result = {}; Function.prototype.time = function (s) { var func = this; result[s] = [0]; return function() { for (var i = 0; i < 10; i++) { var start = new Date().getTime(); var r = func.apply(thi

  • 1