To explain, I've done some minor refactoring of the register tracking class that will provide a speed boost when dealing with UpdateUsedRegs(TmpUsedRegs, p); and allow a descendant class to be extended from it (I plan to experiment with running some peephole optimisations while the registers are still virtual, hence the need for a register tracking class that supports them).
Currently I only have the refactored TUsedRegs class and I wanted to see how it affected the overall compile time for a project, since while it will allow TmpUsedRegs to work faster due to its design, it will likely cause the regular UpdateUsedRegs to run very slightly slower due to one or two additional method calls. From a pure refactoring standpoint, it removes the quirk of UpdateUsedRegs and UpdateUsedRegsAndOptimize accessing a private field of TUsedRegs that it would otherwise not have access to (a quirk of Pascal). I'l submit a patch for evaluation shortly - so far, it's tested successfully on i386-win32, x86_64-win64 and arm-linux. My laptop is in the repair shop currently, so I'm back to using exclusively Raspberry Pi-based machines. Gareth aka. Kit On Tue 01/06/21 05:18 , "J. Gareth Moreton via fpc-devel" fpc-devel@lists.freepascal.org sent: > Hi everyone, > > > > I've found a potential area where the speed of the compiler itself could > > be improved (while researching something unrelated!). I have a quick > > little question though. What's the preferred way to test the compiler > > speed and time how long it takes to build something in general? In > the > past I attempted to build the Lazarus source, but this tended to be > > rather clunky. > > > > Gareth aka. Kit > > > > > > -- > > This email has been checked for viruses by Avast antivirus software. > > https://www.avast.com/antivirus > > > _______________________________________________ > > fpc-devel maillist - fpc-devel@lists.freepascal.org > https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel > > > > > _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel