Any suggestions where this huge time difference results from when reading the same large text file by the same loop from inside a class in Python. import timeit fn = "some-large-file.txt" pos = 2434735976 class TestCase: def __init__(self, filename): self.filename = filename self.content = "" def read_file(self, start): self.readstart = start with open(self.filename, "r") as f: f.seek(self.readstart) line = f.readline() while line: self.content += line.strip() line = f.readline() if line.strip().startswith('>'): return timeit_start = timeit.default_timer() a = TestCase(fn) a.read_file(pos) print(len(a.content)) timeit_stop = timeit.default_timer() print('Elapsed time: ', timeit_stop - timeit_start) 90338456 Elapsed time: 31628.955818721 timeit_start = timeit.default_timer() s = '' with open(fn, "r") as f: f.seek(pos) line = f.readline() while line: s += line.strip() line = f.readline() if line.strip().startswith('>'): break print(len(s)) timeit_stop = timeit.default_timer() print('Elapsed time: ', timeit_stop - timeit_start) 90338456 Elapsed time: 1.233782830000564 I use Jupyter with Python 3.8.10 and IPython 8.12.2. Continue reading...