metaclasses and performance

Andrew Wolven <[email protected]> Sat, 21 Feb 2026 11:14:07 -0600
Newsgroups gmane.lisp.steel-bank.general
Message-ID <CANhGVvSr6hJTFN1jE7_YWRaBg4Zx2Bx+8=03MPdXr6CaHAKyJg@mail.gmail.com>
--===============0839446886601883031==
Content-Type: multipart/alternative; boundary="000000000000081d9b064b58abaa"

--000000000000081d9b064b58abaa
Content-Type: text/plain; charset="UTF-8"

Hi, could one of the developers possibly answer a question for me?

Q:  In SBCL, what operations are likely to be slower, even if only
slightly, when using a metaclass instead of standard-class?

I have an application for classes which is particularly
performance sensitive that I want to keep optimized, and would like to use
a metaclass to add certain metadata to the mix.  I suppose I could use a
class allocated slot, which actually brings me to another question (that I
could probably just try!) but I'll ask anyway:

Q: If I have class allocated slots on a class and they have initforms, but
instead of running the make-instance machinery, I use allocate-instance to
create them instead of something that will run shared-initialize, will the
class allocated slots be filled?

Thanks!

-AKW

--000000000000081d9b064b58abaa
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi, could one of the developers possibly answer a question=
 for me?<div><br></div><div>Q:=C2=A0 In SBCL, what operations are likely to=
 be slower, even if only slightly, when using a metaclass instead of standa=
rd-class?</div><div><br></div><div>I have an application for classes which =
is particularly performance=C2=A0sensitive that I want to keep optimized, a=
nd would like to use a metaclass to add certain metadata to the mix.=C2=A0 =
I suppose I could use a class allocated slot, which actually brings me to a=
nother question (that I could probably=C2=A0just try!) but I&#39;ll ask any=
way:</div><div><br></div><div>Q: If I have class allocated slots on a class=
 and they have initforms, but instead of running the make-instance machiner=
y, I use allocate-instance to create them instead of something that will ru=
n shared-initialize, will the class allocated slots be filled?</div><div><b=
r></div><div>Thanks!</div><div><br></div><div>-AKW</div></div>

--000000000000081d9b064b58abaa--


--===============0839446886601883031==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--===============0839446886601883031==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Sbcl-help mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sbcl-help

--===============0839446886601883031==--