Discreet Blog 4.11.2005

Daily Link 2005-11-04

今まで知らんかったねんけど buffer() ちゅう組み込み関数があんのね

試しにこんなテストコード書いてみたのね。

CHUNK_SIZE = 8192

class WithoutBuffer:
    
def __init__(self, data, fp):
        
self.data = data
        
self.fp = fp

    
def write(self):
        
while self.data:
            
self.fp.write(self.data[:CHUNK_SIZE])
            
self.data = self.data[CHUNK_SIZE:]

class WithBuffer:
    
def __init__(self, data, fp):
        
self.data = data
        
self.fp = fp
        
self.offset = 0

    
def write(self):
        
size = len(self.data)
        
while self.offset < size:
            
chunk = buffer(self.data, self.offset, CHUNK_SIZE)
            
self.fp.write(chunk)
            
self.offset += CHUNK_SIZE

data = 'spam' * 1048576
fp = file("/dev/null", "w")

wo_buf = WithoutBuffer(data, fp)
w_buf = WithBuffer(data, fp)

def test1():
    
wo_buf.write()

def test2():
    
w_buf.write()

import profile
profile.run("test1()")
profile.run("test2()")

んで実行してみたのね。

$ python2.4 buftest.py 

517 function calls in 4.640 CPU seconds
Ordered by: standard name

ncalls  tottime  percall  cumtime  percall filename:lineno(function)
     1    0.000    0.000    0.000    0.000 :0(setprofile)
   512    0.030    0.000    0.030    0.000 :0(write)
     1    0.000    0.000    4.640    4.640 <string>:1(?)
     1    0.000    0.000    4.640    4.640 buftest.py:32(test1)
     1    4.610    4.610    4.640    4.640 buftest.py:8(write)
     0    0.000             0.000          profile:0(profiler)
     1    0.000    0.000    4.640    4.640 profile:0(test1())

518 function calls in 0.050 CPU seconds
Ordered by: standard name

ncalls  tottime  percall  cumtime  percall filename:lineno(function)
     1    0.000    0.000    0.000    0.000 :0(len)
     1    0.000    0.000    0.000    0.000 :0(setprofile)
   512    0.020    0.000    0.020    0.000 :0(write)
     1    0.000    0.000    0.030    0.030 <string>:1(?)
     1    0.010    0.010    0.030    0.030 buftest.py:19(write)
     1    0.000    0.000    0.030    0.030 buftest.py:35(test2)
     0    0.000             0.000          profile:0(profiler)
     1    0.020    0.020    0.050    0.050 profile:0(test2())

おおおお、何これ?どうして早く教えてくんなかったのよう!

元ネタ ここ です。

posted at 23:49:36    #

I feel I gotta get up on the roof

ゴスといえばこの人を差し置いて語ることはできませんのだ。12年ぶりの復活です。ケイト・ブッシュが立派なおばさんになって帰ってきました。ヒースクリフ、あたしよ!窓を開けてちょうだい!

日本でゴスといえばなんかナル入った顔色悪いのが練炭で集団自殺するみたいなイメージがあるのですが、本場のゴスはそんなんちゃうぞ!パワーあり過ぎて、あり余ったパワーに肉体が耐えられなくなって、結果的に死に至ったりしちゃうこともあるのがゴスだぞ!とりあえず「嵐が丘」くらい読め。読んだことないだろ?ゴスの聖書だ。

んでその正統派ゴスの血筋をひくケイト・ブッシュ、かつては王女様くらいだったのが偉大な女王様になって帰ってまいりました。息子もいます。もちろん巻き添えになっています。以前だと何ヶ月も朝から晩までスタジオに籠もってないとアルバム作れなかったのが、今では家事の合間にやってのけます。

ケイト・ブッシュにかかれば円周率もゴスです。洗濯機もゴスです。今さらながらジャンヌ・ダルクも登場します。12年の間に鳥語もマスターしたので、鳥語の歌もあります。アルバムタイトル曲では屋根の上で鳥と一緒になって笑い転げてます。

おまけ

ライドンおじさんと睦まじく談笑するブッシュおばさん

posted at 01:46:56    #
11月 2005
  1 2 3 4 5 6
7 8 910111213
14151617181920
21222324252627
282930    
10月
2005
 12月
2005

Yasushi Iwata のウェブログです。

XML-Image Letterimage

© 2005-2010, Yasushi Iwata