If your writing script is sleeping for one second between each iteration, there would be virtually no performance hit if you opened the file for output within the loop and closed it immediately afterward within the loop, so that it gets closed on each iteration just before sleeping. This would have the advantage of flushing the buffer on each iteration.
You should also implement flocking at both ends; flock your writes, and do a shared flock on your reads. There's no good reason that I can think of not to, given the examples you've posted.
Update:
An aside... Corion pointed out that on Win32 flock is unnecessary. So that part of the advice won't improve your situation if you're on Win32, but it won't hurt either other than adding a little code, and if the code may be executed in other OS's, it'll probably help.
At any rate, opening and closing the file within the loop should help.
Dave
In reply to Re: Tail, whiles and buffers ?
by davido
in thread Tail, whiles and buffers ?
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |