在优化C和LISP时,查看编译器生成的汇编代码可以提供很大帮助。Clojure预计会编译成对JVM字节码同样有用的形式。
我该如何查看它呢?
我该如何查看它呢?
Clojure会在运行时将所有的Clojure代码动态编译成字节码。我不确定如何查看这个动态编译的字节码。但是,你可以使用 Ahead Of Time (AOT) 编译自己的Clojure代码,这样会生成 .class 文件。然后你可以使用 javap
命令来查看字节码。
使用 Clojure/core 中的 compile
函数来编译你的命名空间:
compile function
用法: (compile lib)
将名为 lib 的命名空间编译成一组 class 文件。lib 的源码必须位于适当的类路径相对目录中。输出文件将放置在由 compile-path 指定的目录中,该目录也必须在类路径中。
之后使用 javap
命令:
javap -l -c -s -private MyClass
一些手工解决方案: