簡體   English   中英

慢速調用clojure代理

[英]Slow calls to clojure proxy

我在clojure中有一個應用程序,大量使用名為Vaadin的Java框架。 Vaadin使用clojure的Java“代理”功能使用了幾個回調。 但是,每次在clojure函數中調用代理時,都會有很長的延遲(有時是100毫秒)。 有什么方法可以加快速度嗎?

我的理解是新的reify宏比proxy更快。 如果您只需要實現單個接口,則可以使用它。

例如,如果需要實現java.awt.event.ActionListener ,可以使用如下代碼:

(import 'java.awt.event.ActionListener 'javax.swing.JButton)
(let [a-button (JButton. "Click Me")]
  (.addActionListener a-button
    (reify ActionListener
      (actionPerformed [this ev] (comment do something interesting)))))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM