wasm-demo/demo/ermis-f/python_m/cur/0169

45 lines
1.5 KiB
Plaintext

From: dfan at harmonixmusic.com (Dan Schmidt)
Date: 23 Apr 1999 13:16:14 -0400
Subject: Python too slow for real world
References: <372068E6.16A4A90@icrf.icnet.uk> <3720A21B.9C62DDB9@icrf.icnet.uk>
Message-ID: <wk4sm7gsv5.fsf@turangalila.harmonixmusic.com>
Content-Length: 1176
X-UID: 169
Arne Mueller <a.mueller at icrf.icnet.uk> writes:
| I can't read in the whole file as a single block, it's too big, if
| readline/write is slow the program will never get realy fast :-(
You can use the 'sizehint' parameter to readlines() to get some of the
efficiency of readlines() without reading in the whole file. The
following code isn't optimized, but it shows the idea:
class BufferedFileReader:
def __init__ (self, file):
self.file = file
self.lines = []
self.numlines = 0
self.index = 0
def readline (self):
if (self.index >= self.numlines):
self.lines = self.file.readlines(65536)
self.numlines = len(self.lines)
self.index = 0
if (self.numlines == 0):
return ""
str = self.lines[self.index]
self.index = self.index + 1
return str
--
Dan Schmidt -> dfan at harmonixmusic.com, dfan at alum.mit.edu
Honest Bob & the http://www2.thecia.net/users/dfan/
Factory-to-Dealer Incentives -> http://www2.thecia.net/users/dfan/hbob/
Gamelan Galak Tika -> http://web.mit.edu/galak-tika/www/