One thing I have been considering is to promote fields and global variables to local registers to reduce memory accesses.  However, it would make multi-threaded code a bit trickier to write and demand the use of the "volatile" intrinsic on things like the conditions of while loops.

Before I start anything though, I need to put together a schedule or a to-do list to work out what to play with first.  A lot of the time, I go by my whims and think "I fancy playing with the Free Pascal Compiler today" or I see something and think 'I could improve that' - unfortunately it's led me to mix fixes and changes into the same patch, which has been problematic before, so I'm trying to be more disciplined about it.

Gareth aka. Kit

On 27/06/2019 11:07, Benito van der Zander wrote:
Hi Gareth,

there are more optimizations to look at

An user could write custom string enumerators to replace such assignments in loops and try to manually solve that issue.


But then

https://bugs.freepascal.org/view.php?id=34915

the enumerators are stored in memory rather than registers, so it is always slower than a normal loop


Or since you like case; a case of strings should use a hashmap or something rather than doing one by one comparisons

Cheers,
Benito

Am 27.06.19 um 09:27 schrieb J. Gareth Moreton:
https://bugs.freepascal.org/view.php?id=35775

I'm both honoured and amused!  Thank you.

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
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to