上野です。
Cryptix SASL (
http://www.cryptix.org/products/sasl/) を XEmacs から利用
したいと思い、試しに簡単な Java binding を書いてみました。
http://www.unixuser.org/~ueno/junk/java-xemacs-0.1.tar.gz
;; 不具合が沢山ありますが、とりあえずは動作しているようです。
以下にセッションの例を挙げます。
(let ((java-class-path "."))
(java-initialize))
(defvar test-strings '("abc" "abcdef" "abcdefghi"
"abcdefghiopq"))
(setq wrapper
(let ((class (java-find-class "MessageDigestWrapper")))
(java-call-static-method class "getInstance" "SHA")))
(benchmark 20
(dolist (string test-strings)
(java-call-virtual-method wrapper "encode" string)))
=> 0.1660571098327637
(benchmark 20
(dolist (string test-strings)
(sha1-encode string)))
=> 1.720113039016724
;; VM を起動する時間を度外視すれば、実用には耐えることが判明したのは
;; 収穫ではあるのですが、elisp がこんなに遅かったというのも驚き。:-P
--
Daiki Ueno