今日のなんでやねん
2002-08-14 [長年日記]
凹 viでset number
古よりviでset numberしてはダメだと決まっているのです.
凹 中身がNULのファイル
ちょっと気になったので試してみました.
% strace -c dd if=/dev/zero of=./hoge.out bs=1 count=10000
execve("/bin/dd", ["dd", "if=/dev/zero", "of=./hoge.out", "bs=1", "count=10000"], [/* 29 vars */]) = 0
10000+0 records in
10000+0 records out
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
76.49 0.092999 9 10002 write
16.54 0.020105 2 10001 read
6.66 0.008100 1620 5 1 open
0.24 0.000288 48 6 close
0.02 0.000024 6 4 old_mmap
0.01 0.000018 2 8 rt_sigaction
0.01 0.000015 3 5 brk
0.01 0.000013 13 1 munmap
0.01 0.000012 4 3 fstat64
0.01 0.000008 8 1 mprotect
0.00 0.000006 6 1 uname
------ ----------- ----------- --------- --------- ----------------
100.00 0.121588 20037 1 total
%
% strace -c dd if=/dev/zero of=./hoge.out bs=10000 count=1
execve("/bin/dd", ["dd", "if=/dev/zero", "of=./hoge.out", "bs=10000", "count=1"], [/* 29 vars */]) = 0
1+0 records in
1+0 records out
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
46.67 0.000455 152 3 write
28.92 0.000282 56 5 1 open
12.62 0.000123 21 6 close
4.00 0.000039 20 2 read
1.95 0.000019 5 4 old_mmap
1.44 0.000014 14 1 munmap
1.33 0.000013 3 5 brk
0.92 0.000009 1 8 rt_sigaction
0.82 0.000008 8 1 mprotect
0.82 0.000008 3 3 fstat64
0.51 0.000005 5 1 uname
------ ----------- ----------- --------- --------- ----------------
100.00 0.000975 39 1 total確かにread/writeの回数が全然違いますね.
追記:あぁ,もちろんholeがあっても構わない場合はseekが圧倒的に効率いいでしょうね.ということでやってみました.
% strace -c dd if=/dev/zero of=./hoge.out bs=1 count=1 seek=9999
execve("/bin/dd", ["dd", "if=/dev/zero", "of=./hoge.out", "bs=1", "count=1", "seek=9999"], [/* 29 vars */]) = 0
1+0 records in
1+0 records out
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
38.28 0.000596 199 3 write
36.22 0.000564 564 1 ftruncate64
13.36 0.000208 35 6 close
4.17 0.000065 13 5 1 open
1.48 0.000023 6 4 old_mmap
1.28 0.000020 10 2 read
1.09 0.000017 2 8 rt_sigaction
1.03 0.000016 3 5 brk
1.03 0.000016 3 5 fstat64
0.96 0.000015 15 1 munmap
0.51 0.000008 8 1 mprotect
0.32 0.000005 5 1 uname
0.26 0.000004 4 1 _llseek
------ ----------- ----------- --------- --------- ----------------
100.00 0.001557 43 1 total予想通りシステムコールの回数は圧倒的に少ないですね.
凹 ユーザに対しての提言として、短く綺麗にまとまってると思う
なるほど.そう言われるとそうですね.というかほんっと字面しか見てない杉 > オレ
凹 今日のデジタル・デバイド
ものすげーバカ女子高生が書いたのか! と思う程の代物だったのですが,なんか見れなくなってますねぇ.保存しとけばよかった.昨日の午前中までは見れたんだけどな.削除されたか…
凹 XEmacsその他のカスタマイズのリンク切れ
あうー,スンマソン.RWikiへ移行しようと思ってたんですがそのままほったらかしにしてました.そのうちやります.きっと.多分…
それまでは旧コンテンツの方を御覧下さい.申し訳ありません.
[]
このへんで勘弁しといたる.
旧「なんでやねん」はこちら.
| 2001/01
| 2001/02
| 2001/03
| 2001/04
| 2001/05
| 2001/06
| 2001/07
| 2001/08/25まで |
えー、vim ならおーけーですか
私なら奥義:<br>strace -c dd if=/dev/zero of=./hoge.out bs=1 count=1 seek=9999<br>もっとサイズがでかいと (uml 用の仮想ファイルシステム作るときとか) かなり違ってきます。
またしても関係ない話題ですまんが、多摩川にアザラシがいたって話はほんと?<br>ワイドショーのネタになってたみたいなんだけど、みてないからよーわからん。
微妙な味付けはこのフィルタを使っただけだと思うのですが…。(ですぎょんに見覚えがある。)<br>http://www02.so-net.ne.jp/~saitou/denpa.htm
METIの文章は復活している様ですね。III種事務系ということは(若く見積もれば)最近まで女子高生していたので、こういう文章を書いても不思議はないかと。書く方もどうかしているけど、そのまま掲載している担当者の方がもっとどうかしているんでしょう。
うーむ、なるほど、holeを作ったほうがいい場合も多そうですね。ディスク容量の絡みとか。ただ、システムコールの「回数」は増えてるような(^^;;