Re: Follow-up to earlier question
Douglas Katzman via Sbcl-help <[email protected]> Fri, 27 Mar 2026 12:37:39 -0400
| Newsgroups | gmane.lisp.steel-bank.general |
|---|---|
| Message-ID | <CAOrNasxvAfsUe7FmWpf0yqYrpekJMwz0pZnp2pusk6X9GV7Ucw@mail.gmail.com> |
--0000000000004f512c064e041f31 Content-Type: multipart/alternative; boundary="0000000000004f5129064e041f2f" --0000000000004f5129064e041f2f Content-Type: text/plain; charset="UTF-8" Algorithmic improvements in the pretty-printer could potentially decrease its use of special vars. However, user-defined print-object methods could be to blame. The size to which you increased the binding stack (10x over the default) should have allowed *640 thousand* bindings. I am curious to know which vars are on the stack so I concocted a patch to ldb-monitor which can tell you. Try rebuilding with the patch (which requires the latest unreleased SBCL), entering ldb-monitor, executing the added 'bindings' command, and then you will see output resembling the following: ldb> *bindings* slot 4: * ffffffffffffffff slot 5: ** ffffffffffffffff slot 6: *** ffffffffffffffff ... slot 146: *ERROR-OUTPUT* ffffffffffffffff slot 148: *READ-SUPPRESS* 5200000fff97 slot 149: *SUPPRESS-FRAME-PRINT* ffffffffffffffff > --0000000000004f5129064e041f2f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div dir=3D"ltr"><div>Algorithmic improvements in the pret= ty-printer could potentially decrease its use of special vars. However, use= r-defined print-object methods could be to blame.=C2=A0 The size to which= =C2=A0you increased=C2=A0the binding stack (10x over the default) should ha= ve allowed <i>640 thousand</i> bindings. I am curious to know which vars ar= e on the stack so I concocted a patch to ldb-monitor which can tell you.=C2= =A0 Try rebuilding=C2=A0with the patch (which requires the latest unrelease= d SBCL), entering ldb-monitor, executing the added 'bindings' comma= nd, and then you will see output resembling the following:</div><div><font = face=3D"monospace">ldb> <b>bindings</b></font></div><div><font face=3D"m= onospace">slot =C2=A0 =C2=A0 =C2=A04: * =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0ffffff= ffffffffff<br>slot =C2=A0 =C2=A0 =C2=A05: ** =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 fffff= fffffffffff<br>slot =C2=A0 =C2=A0 =C2=A06: *** =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0ffffff= ffffffffff</font></div><div><font face=3D"monospace">...</font></div><font = face=3D"monospace">slot =C2=A0 =C2=A0146: *ERROR-OUTPUT* =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ffffffffffffffff<br>slot =C2=A0 =C2= =A0148: *READ-SUPPRESS* =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A05200000fff97<br>slot =C2=A0 =C2=A0149: *SUPPRESS-FRAME-PRINT* =C2=A0 = =C2=A0 =C2=A0 =C2=A0 ffffffffffffffff</font><div><div class=3D"gmail_quote"= ><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border= -left:1px solid rgb(204,204,204);padding-left:1ex"><div><div style=3D"font-= family:sans-serif"> <div style=3D"white-space:normal"> </div> </div> </div> </blockquote></div></div></div> </div> --0000000000004f5129064e041f2f-- --0000000000004f512c064e041f31 Content-Type: application/x-patch; name="bindingscmd.patch" Content-Disposition: attachment; filename="bindingscmd.patch" Content-Transfer-Encoding: base64 Content-ID: <f_mn94jngi0> X-Attachment-Id: f_mn94jngi0 ZGlmZiAtLWdpdCBhL3NyYy9ydW50aW1lL21vbml0b3IuYyBiL3NyYy9ydW50aW1lL21vbml0b3Iu YwppbmRleCBkZWNiMTUwNTUuLjJiZGVlMjgzNCAxMDA2NDQKLS0tIGEvc3JjL3J1bnRpbWUvbW9u aXRvci5jCisrKyBiL3NyYy9ydW50aW1lL21vbml0b3IuYwpAQCAtMjgwLDcgKzI4MCw3IEBAIHN0 YXRpYyBjbWQgY2FsbF9jbWQsIGR1bXBfY21kLCBwcmludF9jbWQsIHF1aXRfY21kLCBoZWxwX2Nt ZDsKIHN0YXRpYyBjbWQgZmx1c2hfY21kLCByZWdzX2NtZCwgZXhpdF9jbWQsIHByaW50X2NvZGUs IHNldF9jb250ZXh0X2NtZDsKIHN0YXRpYyBjbWQgcHJpbnRfY29udGV4dF9jbWQsIHB0ZV9jbWQs IHNlYXJjaF9jbWQsIGhhc2h0YWJsZV9jbWQ7CiBzdGF0aWMgY21kIGJhY2t0cmFjZV9jbWQsIHRo cmVhZGJ0X2NtZCwgY2F0Y2hlcnNfY21kOwotc3RhdGljIGNtZCB0aHJlYWRzX2NtZCwgZmluZHBh dGhfY21kLCBsYXlvdXRzX2NtZDsKK3N0YXRpYyBjbWQgdGhyZWFkc19jbWQsIGZpbmRwYXRoX2Nt ZCwgbGF5b3V0c19jbWQsIGJpbmRpbmdzX2NtZDsKICNpZmRlZiBBVE9NSUNfTE9HR0lORwogc3Rh dGljIGNtZCBldmVudHNfY21kOwogI2VuZGlmCkBAIC00NjYsNiArNDY2LDcgQEAgc3RhdGljIHN0 cnVjdCBjbWQgewogICAgIHsiaGVscCIsICJEaXNwbGF5IHRoaXMgaGVscCBpbmZvcm1hdGlvbi4i LCBoZWxwX2NtZH0sCiAgICAgeyI/IiwgIihhbiBhbGlhcyBmb3IgaGVscCkiLCBoZWxwX2NtZH0s CiAgICAgeyJiYWNrdHJhY2UiLCAiQmFja3RyYWNlIHVwIHRvIE4gZnJhbWVzLiIsIGJhY2t0cmFj ZV9jbWR9LAorICAgIHsiYmluZGluZ3MiLCAiU2hvdyBiaW5kaW5nIHN0YWNrIG9mIHRoaXMgdGhy ZWFkIiwgYmluZGluZ3NfY21kfSwKICAgICB7ImJ0dGhyZWFkIiwgIkJhY2t0cmFjZSBzcGVjaWZp ZWQgdGhyZWFkIiwgdGhyZWFkYnRfY21kfSwKICAgICB7ImNhbGwiLCAiQ2FsbCBGVU5DVElPTiB3 aXRoIEFSRzEsIEFSRzIsIC4uLiIsIGNhbGxfY21kfSwKICAgICB7ImNhdGNoZXJzIiwgIlByaW50 IGEgbGlzdCBvZiBhbGwgdGhlIGFjdGl2ZSBjYXRjaGVycy4iLCBjYXRjaGVyc19jbWR9LApAQCAt MTA5Nyw2ICsxMDk4LDI1IEBAIHN0YXRpYyBpbnQgbGF5b3V0c19jbWQoY2hhciBfX2F0dHJpYnV0 ZV9fKCh1bnVzZWQpKSAqKnB0ciwgaW9jaGFubmVsX3QgaW8pCiAgICAgcmV0dXJuIDA7CiB9CiAK K3N0YXRpYyBpbnQgYmluZGluZ3NfY21kKGNoYXIgX19hdHRyaWJ1dGVfXygodW51c2VkKSkgKipw dHIsIGlvY2hhbm5lbF90IGlvKQoreworICAgIHN0cnVjdCB0aHJlYWQqIHRoID0gZ2V0X3NiX3Zt X3RocmVhZCgpOworICAgIHN0cnVjdCBiaW5kaW5nKiBzdGFydCA9ICh2b2lkKil0aC0+YmluZGlu Z19zdGFja19zdGFydDsKKyAgICBzdHJ1Y3QgYmluZGluZyogZW5kID0gKHZvaWQqKWdldF9iaW5k aW5nX3N0YWNrX3BvaW50ZXIodGgpOworICAgIGZvciAoc3RydWN0IGJpbmRpbmcqIGIgPSBzdGFy dCA7IGIgPCBlbmQgOyArK2IgKSB7CisgICAgICAgIGludCB0bHNvZmZzZXQgPSBiLT5zeW1ib2w7 CisgICAgICAgIGlmICh0bHNvZmZzZXQgPCA5MDAgLyoga2x1ZGdlLCBnb29kIGVub3VnaCBmb3Ig bm93ICovKSBjb250aW51ZTsKKyAgICAgICAgbGlzcG9iaiB0YWdnZWRzeW1ib2wgPSB0bHNpbmRl eF90b19zeW1ib2xfbWFwWyh0bHNvZmZzZXQtOCk+PigxK1dPUkRfU0hJRlQpXTsKKyAgICAgICAg aWYgKGxvd3RhZ19vZih0YWdnZWRzeW1ib2wpPT1PVEhFUl9QT0lOVEVSX0xPV1RBRykgeworICAg ICAgICAgICAgc3RydWN0IHN5bWJvbCogc3ltID0gU1lNQk9MKHRhZ2dlZHN5bWJvbCk7CisgICAg ICAgICAgICBpZiAobG93dGFnX29mKHN5bS0+bmFtZSk9PU9USEVSX1BPSU5URVJfTE9XVEFHICYm IHNpbXBsZV9iYXNlX3N0cmluZ19wKHN5bS0+bmFtZSkpCisgICAgICAgICAgICAgICAgZnByaW50 Zihpby0+b3V0LCAic2xvdCAlNmQ6ICUtMzBzICVseFxuIiwKKyAgICAgICAgICAgICAgICAgICAg ICAgIChpbnQpKGIgLSBzdGFydCksIChjaGFyKilWRUNUT1Ioc3ltLT5uYW1lKS0+ZGF0YSwgYi0+ dmFsdWUpOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiAwOworfQorCiBzdGF0aWMgaW50 IG1vbml0b3JfbG9vcChjaGFyICooKikoY2hhciosIGludCwgRklMRSopLCBzdHJ1Y3QgaW9jaGFu bmVsKTsKIGV4dGVybiBGSUxFICpnY19hY3Rpdml0eWxvZ19maWxlOwogdm9pZAo= --0000000000004f512c064e041f31 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --0000000000004f512c064e041f31 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 --0000000000004f512c064e041f31--