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