【问题标题】:How can I time functions in a ClojureScript Browser REPL?如何在 ClojureScript 浏览器 REPL 中为函数计时?
【发布时间】:2016-01-21 22:36:16
【问题描述】:

我对 Clojure 有一点经验,但我是 ClojureScript 的新手。我一直在研究一些由其他人编写的代码。它使用 sublimetext 中的浏览器 repl,通过端口和 brepl-connected.html 文件连接到浏览器。我尝试在 repl 中使用 (time (function arg)) 来计算函数的长度,但无论如何输出都是 0 毫秒。为什么会这样?

我尝试过类似(.time js/console label) 的方法,但这总是会向控制台返回一些难以理解的对象。

我希望能够对函数进行计时,并且通常能够使用打印语句和其他工具来调试和改进我的代码。最好的方法是什么?我应该返回 repl 还是浏览器?

在此先感谢,我环顾四周,但找不到解释这一点的好文章或帖子。

【问题讨论】:

  • 所以最近我启动了我的 brepl,尝试了标准的 clojure 时间函数,它起作用了......我不知道为什么。它现在几乎一直都在工作,虽然它偶尔会再次开始吐出 0,我必须重新启动 repl。

标签: javascript clojure clojurescript read-eval-print-loop


【解决方案1】:

这篇博文解释了如何使用宏来做到这一点:

http://blog.jenkster.com/2015/09/timing-code-in-clojurescript.html

您是否将电话封装在 .time.timeEnd 中?

【讨论】:

  • 另外请务必阅读本文的评论。 cljs中有simple-benchmark宏。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-15
  • 2017-01-25
  • 1970-01-01
  • 2018-06-07
  • 1970-01-01
相关资源
最近更新 更多