On Tue, 22 Nov 2016 13:32:03 +0000 Graeme Geldenhuys <mailingli...@geldenhuys.co.uk> wrote:
> On 2016-11-22 13:26, Sven Barth wrote: > > I think the difference a tab versus a couple of spaces makes (even if > > across a whole file or a whole project) will be insignificant > > Well, for every byte in the file, the parser needs to figure out what to > do with it. Less bytes, means less processing cycles - no matter how > small. They do add up in the end when you have to parse some 1 million > lines of code. > > But there was also a reason I put a smiley face at the end of my post. > [technically what I said is sound and true, but I have no metrics to > prove it] You forgot to consider how scanners work, i.e. how they check and skip spaces. Here are some numbers: Compiling Lazarus sources 'make clean all' 1249309 lines 3 times 0m51.682s 0m51.415s 0m51.698s Lazarus uses indentation of 2, so replacing each double space with one tab saves 3.7mb. Compiling 3 times: 0m52.003s 0m51.294s 0m51.452s This is a desktop system, so there is always a bit of noise. As you can see, the time difference is not measurable. To estimate the potential speed up: Replacing all multi spaces with one space saves 6.1mb. Compiling 3 times: 0m51.064s 0m50.733s 0m51.120s It seems scanning the spaces costs about 1%. My conclusion: That tabs costs less cpu time in Pascal code is a myth. Mattias _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal