[Python-de] Zeilengepuffertes r/w
Frank Ursel
sexyspamcatcher at trash-mail.com
Di Aug 30 16:10:43 CEST 2011
Ole Streicher schrieb:
> Sender:
> ----------------------8<----------------- import time
> l = open('myfifo',mode='w',buffering=1) while True:
> s = 'einszweidrei'
> l.write(s + '\n')
> print s
> time.sleep(1)
...
> wobei "myfifo" eine (per mkfifo angelegter) named pipe ist. Lasse ich
> jetzt die beiden laufen, erscheinen die Ausgaben im zweiten Programm
> stark verzögert, trotz des "line buffers", welches eingeschaltet war.
>
> Warum ist das so und wie kann ich das ändern?
Du bekommst die Verzögerung nicht trotz, sondern gerade durch den Buffer.
Jedenfalls auf Senderseite. Da wird mit dem Senden der Daten gewartet,
bis genug Daten im Puffer sind, damit sich das Versenden auch lohnt.
Frank
Mehr Informationen über die Mailingliste python-de