トップ «前の日記(2013-01-21(Mon)) 最新 次の日記(2013-01-25(Fri))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2013-01-22(Tue) 雨は昼前にやんだようだ

aufs

UnionFSの後継といったところ、らしい。
Ubuntu-12.04 で標準対応しているようだった。
適当に検索したブログを頼りに軽くテスト。

まず準備。手前が front, 奥が rear, そしてマウント ポイントがpoint

$ sudo mkdir -pv test/{front,rear,point}
mkdir: ディレクトリ `test' を作成しました
mkdir: ディレクトリ `test/front' を作成しました
mkdir: ディレクトリ `test/rear' を作成しました
mkdir: ディレクトリ `test/point' を作成しました

で、マウント。

$ cd test
test$ sudo mount -t aufs -o br=front:rear none point
test$ mount | grep media
none on /media/test/point type aufs (rw,br=front:rear)

書き込みと、その確認。
front, rear, point それぞれにファイルを一つずつ作成してみる。

test$ sudo touch front/at_front.txt
test$ sudo touch rear/at_rear.txt
test$ sudo touch point/at_point.txt
 
test$ ls -1 -R */*.txt
front/at_front.txt
front/at_point.txt
point/at_front.txt
point/at_point.txt
point/at_rear.txt
rear/at_rear.txt

sudo umount point でアンマウントした後は。

test$ ls -1 -R */*.txt
front/at_front.txt
front/at_point.txt
rear/at_rear.txt

当然、マウントポイントには何も残らない。

有意差みられず

Raspberry Pi のpython3 でfizzbuzz を100000まで 実行させて比較してみた。
まず、正攻法から。

for x in range(1,100001):
  if x % 15 < 1 :
    print("fizzbuzz")
  elif x % 5 < 1 :
    print("buzz")
  elif x % 3 < 1 :
    print("fizz")
  else:
    print(x)
 
real	1m13.488s
user	0m18.720s
sys	0m7.290s

そして、速そうだといわれたやつ。

fbarray = ['', '', 'fizz', '','buzz',
  'fizz', '', '', 'fizz', 'buzz',
  '', 'fizz', '', '', 'fizzbuzz']
 
for x in range(0,100000):
  fb = fbarray[x%15]
  if fb == '': print(x+1)
  else: print(fb)
 
real	1m14.053s
user	0m19.030s
sys	0m7.020s

出力結果(md5のチェックサムが同じことを 確認済み)を >/dev/null にしても(実行時間は9秒くらいまで 短くなったが)同様。
何が原因かは、よく分からない。

本日のツッコミ(全2件) [ツッコミを入れる]
nogajun (2013-01-23(Wed) 08:35)

aufsはカーネルに入ってますな。regretの時はパッチをアテないと使えなかったのだけど。

kuzu (2013-01-23(Wed) 09:05)

はい。squeeze(kernel-2.6.32) もですね


リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。