On 25/04/2022 04.21, pjfarl...@earthlink.net wrote: >> -----Original Message----- >> From: dn <pythonl...@danceswithmice.info> >> Sent: Saturday, April 23, 2022 6:05 PM >> To: python-list@python.org >> Subject: Re: tail >> > <Snipped> >> NB quite a few of IBM's (extensively researched) algorithms which formed >> utility >> program[me]s on mainframes, made similar such algorithmic choices, in the >> pursuit of efficiencies. > > WRT the mentioned IBM utility program[me]s, the non-Posix part of the IBM > mainframe file system has always provided record-managed storage since the > late 1960's (as opposed to the byte-managed storage of *ix systems) so > searching for line endings was (and is) irrelevant and unnecessary in that > environment. That operating system also provides basic "kernel-level" > read-backwards API's for the record-managed file system, so there was never > any need to build reverse-read into your code for that environment. > > The byte-managed file storage used by the Posix kernel running under the > actually-in-charge IBM mainframe operating system is, of course, subject to > the same constraints and (in)efficiencies discussed in this thread.
Thanks for the clarification (and @wlfraed's addition). Apologies if misunderstood. The above comment was about utilities which would choose between algorithms, based on some rapid, initial, assessment of the task. It was not about 'tail' utility/ies specifically - and I don't recall using a 'tail' on mainframes, but... Thus, the observation that the OP may find that a serial, read-the-entire-file approach is faster is some situations (relatively short files). Conversely, with longer files, some sort of 'last chunk' approach would be superior. -- Regards, =dn -- https://mail.python.org/mailman/listinfo/python-list