Originally my patch just added the "vectorcall" calling convention to the functions; the "const" modifier was suggested by a third party and seemed sensible enough.  I weighed up the fact that it wouldn't change how to you call the function in Pascal code and accepted it.  The patch should be easily enough to split though, especially as the vectorcall thing is now just "{$calling vectorcall}" at the top of the file.

Gareth aka. Kit

On 27/10/2019 11:15, Michael Van Canneyt wrote:

On Sun, 27 Oct 2019, J. Gareth Moreton wrote:

I was more referring to the use of correct types, use const when possible etc. Change classes to advanced records where appropriate, that kind of thing.


Which is why I hoped my patches for uComplex were permissible, since it adds 'const' to make the compilation more efficient and sets the calling convention to 'vectorcall' for Win64, something that the compiler won't think to do unless explicitly told so, and maybe a slight incentive to improve the compiler as far as vectorisation is concerned (and complex numbers are a good candidate since for most basic operations, the components are modified in tandem).

Well, I can't comment on this, in such matters I trust Florian knows what he is talking

I guess adding 'vectorcall' and 'const' are micro-optimisations, but I see it more as refactoring and good coding practice in the case of 'const', while 'vectorcall' is more about knowing what kind of data you're dealing with.

I would not argue in the case of const and apply where appropriate, I don't know enough about vectorcall to comment.

Maybe the patch can be split into parts so const can already be applied.

It's not the first time we must advise to keep patches small and focused.

Although I am also often a sinner when it comes to mixing things in a
patch. When you're in the flow of things, that's the last thing on your mind :/

fpc-devel maillist  -  fpc-devel@lists.freepascal.org

This email has been checked for viruses by Avast antivirus software.

fpc-devel maillist  -  fpc-devel@lists.freepascal.org

Reply via email to