打造Lisp内部函数激活的最小文件,最少数据流加载Fas
本帖最后由 不死猫 于 2022-8-23 20:22 编辑老猫最近在研究最小激活内部函数的方法,发现了不需要在Fas中传递变量和函数就能获取内部函数的方法。
原理:通过Fas返回值直接获取内部函数,实现最小字节生成。
使用范例:
(setq al-fas-load (getInternalFunc "al-fas-load"))
(setq make-string-input-stream (getInternalFunc "make-string-input-stream"))
=============
另外用最少字节做了一个在内存加载fas文件流函数,可以免生成fas文件,这个方法也可以用于在线文件的直接加载(不用下载加载再删除)。
注:下面这里面的函数用了刚才范例生成的两个函数
使用范例:
(setq type-of (getInternelFuncStream "type-of"))
=============
如果要一次性同时激活多个函数,可以做成一个表返回,然后从表中提取对应的内部函数。
这样可以减少带宽和服务器访问次数,速度更快。
还是以文件流为例
使用范例:
(setq re (getInternalFuncStream-s (list "printf" "shell")))
(foreach x re (print (eval x)))
虽然看不懂 还支持一下大神们的研究 各路神仙都玩得炉火纯青了。 激活一个type-of只需要35个字节
这个早发现了,目前最大的难点是第一个内部函数的获取,是生成fas文件如何得到第一个内部函数,只要得到franf,什么都有了 本帖最后由 不死猫 于 2022-8-24 21:38 编辑
雨的节奏 发表于 2022-8-23 20:25
这个早发现了,目前最大的难点是第一个内部函数的获取,是生成fas文件如何得到第一个内部函数,只要得到fra ...
用我的方法重点看生成文件的字节数。
tranf的第一个fas文件现在只需要57个字节就可以了,高飞鸟更新了可以去验证下{:1_1:}
页:
[1]