Re: The myth of fingerprints, er, no, garbage collectors
"Tim Bradshaw (as tfb at cley dot com)" <[email protected]> Sun, 28 Jun 2026 18:16:08 +0100
| Newsgroups | gmane.lisp.lispworks.general |
|---|---|
| Message-ID | <[email protected]> |
--Apple-Mail-74426F94-573E-46DF-AEF5-AEE95B9BEEE2 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 28 Jun 2026, at 17:07, Yuri Davidovsky (as work at disclosure dot ie) <li= [email protected]> wrote: >=20 > where you have a group of 4 X single float fields followed by a group of 4= Y fields. If you wanted to calculate the hypothenuse by sqrt(x=C2=B2 + y=C2= =B2), you could do that for 4 XY pairs in a go on a 4 lane 32 bit each SIMD.= Ah, I can see this now. For a position in space (with cartesian coordinates= ) SOA will lay things out as x1, y1, z1, x2, y2, z2, .... while I think you'= re saying that x1, x2, x3, x4, y1, ... is more useful. That makes sense. I'm wondering now if I could persuade SOA to do that. Clearly I could by ha= ving each logical thing represent n particles, but that's fairly horrid. Having mostly lost the will to live about it I'd quite like to get to a posi= tion where I can either abandon it or ship it in a state which doesn't fill m= e with guilt... If someone does know of some non-hideous C-level SIMD interfaces for macOS (= or, probably easier, linux but they would need to be friendly to SBCL / CFFI= there) I would be interested. (It is strange and sad how the Unix/C environment which was, when I first us= ed it, this lightweight quick-and-dirty thing which was lovely to use has tu= rned into this vast bureaucracy which makes me long for the simplicity of CL= .) --tim= --Apple-Mail-74426F94-573E-46DF-AEF5-AEE95B9BEEE2 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable <html class=3D"apple-mail-supports-explicit-dark-mode"><head><meta http-equi= v=3D"content-type" content=3D"text/html; charset=3Dutf-8"></head><body dir=3D= "auto"><div dir=3D"ltr"></div><div dir=3D"ltr">On 28 Jun 2026, at 17:07, Yur= i Davidovsky (as work at disclosure dot ie) <[email protected]> w= rote:</div><div dir=3D"ltr"><blockquote type=3D"cite"><br></blockquote></div= ><blockquote type=3D"cite"><div dir=3D"ltr"><div>where you have a group of 4= X single float fields followed by a group of 4 Y fields. If you wanted to c= alculate the hypothenuse by <i>sqrt(x=C2=B2 + y=C2=B2)</i>, you could do tha= t for 4 XY pairs in a go on a 4 lane 32 bit each SIMD.</div><div></div></div= ></blockquote><br><div>Ah, I can see this now. For a position in space= (with cartesian coordinates) SOA will lay things out as x1, y1, z1, x2, y2,= z2, .... while I think you're saying that x1, x2, x3, x4, y1, ... is more u= seful. That makes sense.</div><div><br></div><div>I'm wondering now if= I could persuade SOA to do that. Clearly I could by having each logic= al thing represent n particles, but that's fairly horrid.</div><div><br></di= v><div>Having mostly lost the will to live about it I'd quite like to get to= a position where I can either abandon it or ship it in a state which doesn'= t fill me with guilt...</div><div><br></div><div>If someone does know of som= e non-hideous C-level SIMD interfaces for macOS (or, probably easier, l= inux but they would need to be friendly to SBCL / CFFI there) I would be int= erested.</div><div><br></div><div>(It is strange and sad how the Unix/C envi= ronment which was, when I first used it, this lightweight quick-and-dirty th= ing which was lovely to use has turned into this vast bureaucracy which make= s me long for the simplicity of CL.)</div><div><br></div><div>--tim</div></b= ody></html>= --Apple-Mail-74426F94-573E-46DF-AEF5-AEE95B9BEEE2-- _______________________________________________ Lisp Hug - the mailing list for LispWorks users [email protected] http://www.lispworks.com/support/lisp-hug.html