← Back to team overview

kicad-developers team mailing list archive

Re: Optimization

 

for beginners, it is really hard to make fast sse code. You have to
copy/convert data to the sse unit, and usually that is slower than the gain
from vectorize code. In fact, what I always see is a big drop in perfomance
when people start to use intrinsics "because they are faster".

Only if you write a complete code using sse intrinsics, with everything in
sse registers, with the memory data layout designed to sse, then you will
notice a huge gain. That is the case with videocodecs, or raytracing.

For an app like kicad, it makes no sense at all to open that gate.


ᐧ



*Javier Loureiro Varela*


On Fri, Apr 29, 2016 at 10:48 AM, Lorenzo Marcantonio <
l.marcantonio@xxxxxxxxxxxxx> wrote:

> On Thu, Apr 28, 2016 at 08:51:58PM +0200, Simon Richter wrote:
> > separate sin() and cos() invocations by a single call to sincos(),
> > almost cutting computation time in half by computing both at the same
> > time using vector instructions.
>
> I guess that's gcc auto-intrinsic conversion at work. sincos is a single
> opcode since the 387 if I remember correctly (and it's faster if the
> argument is already normalized). I don't know if it's exploiting some
> peculiarity in the polynomial expansion or simply the microcode does
> that in parallel...
>
> Some time ago I did some light testing and the precision is enough for
> our fixed point application. Of course integer vector algebra is
> preferrable to engaging the FPU (when possible...). OTOH it would be
> (maybe) technically possible to parallelize the processor station's work
> doing simultaneously integer and FP computation. Don't know if gcc can
> do that (since SSE uses the same registers and switching between it and
> the FPU is somewhat expensive IIRC). I doubt that this kind of
> extreme optimization belongs to kicad anyway!
>
> --
> Lorenzo Marcantonio
> CZ Srl - Parma
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>
>

References