【JavaScript】ベンチをとってみる<オブジェクトをキーに出来るハッシュのようなもの
すべてのオブジェクトをキーにできるハッシュの様なもの - IT戦記と
【JavaScript】オブジェクトをキーに出来るハッシュのようなもの……って、これじゃだめ?と、それぞれベンチマークを取って見ました。
(function(){
print('<a href="http://d.hatena.ne.jp/amachang/20080212/1202805356">すべてのオブジェクトをキーにできるハッシュの様なもの - IT戦記</a>の方法\n');
var dict = new Dictionary();
var keyno=0,keys=[],val;
print('SET '+count+' 回: '+bench(count,function(){
keys[keyno]=new Function('print('+keyno+')');
dict(keys[keyno],keyno++);
})+'ms<br />');
print('GET(0) '+count+' 回: '+bench(count,function(){
val=dict(keys[0]);
})+'ms');
print('※dict('+keys[0].toString()+')='+val+'<br />');
var mid=~~(keyno/2)-1;
print('GET('+mid+') '+count+' 回: '+bench(count,function(){
val=dict(keys[mid]);
})+'ms');
print('※dict('+keys[mid].toString()+')='+val+'<br />');
print('GET('+(keyno-1)+') '+count+' 回: '+bench(count,function(){
val=dict(keys[keyno-1]);
})+'ms');
print('※dict('+keys[keyno-1].toString()+')='+val+'<br />');
})();
print('');
(function(){
print('<a href="http://furyu.tea-nifty.com/annex/2008/02/javascript_bc80.html">風柳亭 - 別館:書庫のある庵 -: 【JavaScript】オブジェクトをキーに出来るハッシュのようなもの……って、これじゃだめ?</a>の方法\n');
var assoca = new Object.associativeArray();
var keyno=0,keys=[],val;
print('SET '+count+' 回: '+bench(count,function(){
keys[keyno]=new Function('print('+keyno+')');
assoca.set(keys[keyno],keyno++);
})+'ms<br />');
print('GET(0) '+count+' 回: '+bench(count,function(){
val=assoca.get(keys[0]);
})+'ms');
print('※assoca.get('+keys[0].toString()+')='+val+'<br />');
var mid=~~(keyno/2)-1;
print('GET('+mid+') '+count+' 回: '+bench(count,function(){
val=assoca.get(keys[mid]);
})+'ms');
print('※assoca.get('+keys[mid].toString()+')='+val+'<br />');
print('GET('+(keyno-1)+') '+count+' 回: '+bench(count,function(){
val=assoca.get(keys[keyno-1]);
})+'ms');
print('※assoca.get('+keys[keyno-1].toString()+')='+val+'<br />');
})();
SET 500 回: 594ms
GET(0) 500 回: 1250ms
※dict(function anonymous() { print(0) })=0
GET(249) 500 回: 547ms
※dict(function anonymous() { print(249) })=249
GET(499) 500 回: 0ms
※dict(function anonymous() { print(499) })=499
風柳亭 - 別館:書庫のある庵 -: 【JavaScript】オブジェクトをキーに出来るハッシュのようなもの……って、これじゃだめ?の方法
SET 500 回: 47ms
GET(0) 500 回: 0ms
※assoca.get(function anonymous() { print(0) })=0
GET(249) 500 回: 16ms
※assoca.get(function anonymous() { print(249) })=249
GET(499) 500 回: 0ms
※assoca.get(function anonymous() { print(499) })=499
ある意味、当たり前の結果に。
999回だと発生しない……なに、この意図的な数字(苦笑)。
2008/02/15(金) 00:38 | 固定リンク
| 記事の編集(管理者用)
「おもいつき」カテゴリの記事
- 無粋(2010.11.21)
- マッサージクッションの正しくないかも知れない使い方(2010.11.19)
- もし、思考が映像化される装置が出来たら…(2010.11.20)
- ココでも:ココログ広場ユーザーのブログをキーワードで検索するサービスを試作(2010.10.29)
- ココログ用ReadMore:トップページの『》 続きを読む』をその場で展開するスクリプト(2010.11.06)
「パソコン・インターネット」カテゴリの記事
- 動けるものも久しからず(2012.02.15)
- 5年以上も気付かない振り(2012.02.14)
- 探しものって、みつけにくいものですね…(2012.02.13)
- Norton Internet Securityでエラー: 「3043,1」(2011.07.13)
- アンケート:ブログ等で「続きを読む」リンクを見たら…(2010.11.05)

