にっき
2007/12/25 20:17:59
すとっぷうぉっち
ふみゅ・・・
簡単そうなお題はくりあしちゃったのとどたばたしてるのもあってちょっと止まってたら
いつの間にかもうすとっくがほとんどなくなっちゃったにう(´・ω・`;【みかん
でもとりあえずは残ってる問題をご〜ご〜ってことで...〆(・x・。【みかん
実行時間の測定
022-profile.lua
関数と引数を与えるとその引数で関数を実行して結果の先頭に処理時間をぺったんして返品☆
って方針で描いたけどこんなのでいいのかなぁ?
問題は os.time だと単位が秒からしか計れないっぽいにう(´・ω・`;【みかん
とりあえず引数に繰り返し回数を指定して
こんなかんじ?
あんまり使えにゃい気がするにう(´・ω・`;【みかん
擬似 ls の実装
094-ls.lua
使い捨てのぱすりすとをつり〜にするのもびみょ〜だにゃぁ・・・
ってことでそ〜と+前方一致+通り過ぎたら終了なかんじでどうかなぁ?
速度低下はそんなにおっきなぱすりすと準備するのめんど〜だしにゃぁ・・・
たぶんきっとだいじょ〜ぶってことで d(´・ω・`;【みかん
簡単そうなお題はくりあしちゃったのとどたばたしてるのもあってちょっと止まってたら
いつの間にかもうすとっくがほとんどなくなっちゃったにう(´・ω・`;【みかん
でもとりあえずは残ってる問題をご〜ご〜ってことで...〆(・x・。【みかん
実行時間の測定
022-profile.lua
function profile(func)
local start = os.time();
local ret = func(unpack(arg));
local t = os.difftime(os.time(),start);
if type(ret) == [[table]] then
return {t,unpack(ret)};
end
return {t,ret};
end
function heavyFunction(n)
for i = 1,n,1 do
end
return [[Hello World]];
end
function heavyMultiResultFunction(n)
for i = 1,n * 2,1 do
end
return {[[Hello]],[[World]]};
end
require([[mylib]]);
PrintTable(profile(heavyFunction,arg[1]));
PrintTable(profile(heavyMultiResultFunction,arg[1]));
関数と引数を与えるとその引数で関数を実行して結果の先頭に処理時間をぺったんして返品☆
って方針で描いたけどこんなのでいいのかなぁ?
問題は os.time だと単位が秒からしか計れないっぽいにう(´・ω・`;【みかん
とりあえず引数に繰り返し回数を指定して
>lua5.1.exe 022-profile.lua 65535000
[1,Hello World]
[3,Hello,World]
>lua5.1.exe 022-profile.lua 99999999
[2,Hello World]
[4,Hello,World]
こんなかんじ?
あんまり使えにゃい気がするにう(´・ω・`;【みかん
擬似 ls の実装
094-ls.lua
function ls(list,dir)
local ret = {};
local pat = [[^(]] .. dir;
if string.sub(dir,string.len(dir)) ~= [[/]] then
pat = pat .. [[/]];
end
pat = pat .. [[([^/]+).*)$]];
table.sort(list);
for i = 1,table.getn(list),1 do
local tmp = string.gsub(list[i] .. [[/]],pat,[[%2]]);
if string.len(list[i]) > string.len(tmp) then
table.insert(ret,tmp);
elseif table.getn(ret) > 0 then
break;
end
end
return ret;
end
dir = table.remove(arg,table.getn(arg));
require([[mylib]]);
PrintTable(ls(arg,dir));
使い捨てのぱすりすとをつり〜にするのもびみょ〜だにゃぁ・・・
ってことでそ〜と+前方一致+通り過ぎたら終了なかんじでどうかなぁ?
>lua5.1.exe 094-ls.lua aaa/bbb aaa/ccc aaa/ddd/eee bbb/ddd/eee aaa/
[bbb,ccc,ddd]
>lua5.1.exe 094-ls.lua aaa/bbb aaa/ccc aaa/ddd/eee bbb/ddd/eee aaa/ddd/
[eee]
速度低下はそんなにおっきなぱすりすと準備するのめんど〜だしにゃぁ・・・
たぶんきっとだいじょ〜ぶってことで d(´・ω・`;【みかん
こめんと
投稿された内容の著作権はこめんとの投稿者に帰属するっぽいです☆また,現在 IE6 以下で Sleipnir,Lunascape,Donut じゃないゆ〜ざえ〜じぇんとからの描き込みを制限してますです☆
該当しちゃうかたはてきとうにゆ〜ざえ〜じぇんとを偽装しちゃってくださいです(´ω`;【みかん