为什么在clojurescript中使用nth会使我的代码大小增加74026%
Why does using nth in clojurescript increase my codesize by 74026%
我一直在比较clojurescript中各种调用输出的生成javascript,感觉就像踩在地雷上。有些生成可读性极高的javascript(即使是在缩小的高级模式下),有些则决定这一方法调用将需要clojure中似乎所有可能的方法才能运行。
第n对第aget就是一个很好的例子。这两个代码段都输出数字5,但其中一个需要77字节,另一个需要57千字节。增加了74026%
57千字节-第n个
(ns fooModule)
(let [log js/console.log
x (array 5)]
(log (nth x 0)))
77字节-年龄
(ns fooModule)
(let [log js/console.log
x (array 5)]
(log (aget x 0)))
aget生成的代码可读性很强。(手工输入格式)
;(function(){
var a=console.log,
b=[5];
a.a ? a.a(b[0]) : a.call( null, b[0] );
})();
在要点中生成的第n个代码https://gist.github.com/trashhalo/7781298''
clojudescript 0.0-2014
在这种情况下,这是由于死代码消除与ClojureCrip的序列交互。您的示例恰好使用了一个东西,它使用序列nth
,而不使用其他东西。因此,在第一个例子中,seq库被删除,而在第二个例子中则没有 不要推广这种增长率,ClojureScript的总量只有那么多,所以一旦你使用了任何包含它的代码,你就会象征性地踩下所有的地雷。
相关文章:
- 从桌面读取python文件时高亮显示代码
- 如何将函数包装在函数中以避免代码重复
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 货币代码为欧元-金额的格式不应包含小数
- Regex代码只允许一个空格
- 如何将屏幕分辨率乘以 80%,然后在代码中使用
- 从var向代码隐藏函数传递值
- 如何动态插入jquery代码
- 如何在php变量中嵌入JQuery代码
- 代码不会验证
- 如何从rails中的代码中删除新行( )
- Angularjs代码未在匿名函数中运行
- 如何做到这一点,使代码在不传递条件后执行函数
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- 面向对象的Javascript代码在IE7中不起作用
- 将 jQuery 代码添加到 Index.aspx 页面
- 为什么忽略了eval()代码中的语法错误
- 元素在我的代码中不会.fadeTo.Don'I don’我不知道;s错误的JavaScript、JQuery、H
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- 为什么在clojurescript中使用nth会使我的代码大小增加74026%