我正在考虑使用大量的 gensym 来区分我正在构建的系统中的对象(例如 erlang 中的引用)。
创建大量 gensym 后是否会遇到系统限制?
作为引用,我正在使用 SBCL。
最佳答案
不同的实现使用不同的内存量。仅测试 gensym 使用的字节数,它取决于您传递给它的参数以及它与前几轮的独特性。..
如果您有一个始终将固定数量的字符串传递给 gensym 的宏,则每个宏将使用 0,5-1,5kB。对于每次连续使用相同的参数,其长度减少到 65-150 字节左右。
我让它制作了一段时间的 65 字节 gensym,并将其停止在 40 亿以上,但我不知道这是否符合条件,因为“大”是不明确的。
关于lisp - 创建大量的gensym是否合理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45109779/