Definindo tamanho de buffer menor para sys.stdin?

Estou executando o memcached com o seguinte padrão de comando bash:

memcached -vv 2>&1 | tee memkeywatch2010098.log 2>&1 | ~/bin/memtracer.py | tee memkeywatchCounts20100908.log

para tentar rastrear conjuntos incomparáveis de chaves para toda a plataforma.

O script memtracer está abaixo e funciona como desejado, com um pequeno problema. Observando o tamanho intermediário do arquivo de log, o memtracer.py não começa a receber entrada até que o memkeywatchYMD.log tenha cerca de 15 a 18K de tamanho. Existe uma maneira melhor de ler em stdin ou talvez uma maneira de reduzir o tamanho do buffer para menos de 1k para obter tempos de resposta mais rápidos?

#!/usr/bin/python

import sys
from collections import defaultdict

if __name__ == "__main__":


    keys = defaultdict(int)
    GET = 1
    SET = 2
    CLIENT = 1
    SERVER = 2

    #if <
    for line in sys.stdin:
        key = None
        components = line.strip().split(" ")
        #newConn = components[0][1:3]
        direction = CLIENT if components[0].startswith("<") else SERVER

        #if lastConn != newConn:        
        #    lastConn = newConn

        if direction == CLIENT:            
            command = SET if components[1] == "set" else GET
            key = components[2]
            if command == SET:                
                keys[key] -= 1                                                                                    
        elif direction == SERVER:
            command = components[1]
            if command == "sending":
                key = components[3] 
                keys[key] += 1

        if key != None:
            print "%s:%s" % ( key, keys[key], )