zoukankan      html  css  js  c++  java
  • 体验 Clozure CL

    Clozure CL 简称 CCL. 网站在 http://ccl.clozure.com/

    是一个高性能的开源 Common Lisp 实现,其特性包括 native 线程的支持等等。还包括一个 IDE,但好像只是 for Mac 的。windows 上估计跑不起来。不过不要紧,我也可以将它 setup 到 Emacs 中。

    CCL 可以通过 svn 直接下载到本机的一个目录。然后打开 .emacs.d\init.el 文件,将原先 clisp 的配置注释掉,加入一行指向 CCL 的 exe 即可:

    ;(setq inferior-lisp-program "clisp")
    (setq inferior-lisp-program "e:/ccl/wx86cl.exe")

    接下来我简单的测试对比了一下 clisp 和 CCL 的性能。各进行1千万次简单的加法运算:

    clisp:

    CL-USER> (time (loop for i from 1 to 10000000 do (+ 100 100)))
    Real time: 16.82791 sec.
    Run time: 16.8125 sec.
    Space: 4580 Bytes
    NIL

    CCL:

    CL-USER> (time (loop for i from 1 to 10000000 do (+ 100 100)))
    (LOOP FOR I FROM 1 TO 10000000 DO (+ 100 100)) took 78 milliseconds (0.078 seconds) to run 
                        with 2 available CPU cores.
    During that period, 78 milliseconds (0.078 seconds) were spent in user mode
                        0 milliseconds (0.000 seconds) were spent in system mode
     32 bytes of memory allocated.
    NIL

    天壤之别!CCL 还利用上了我电脑上的双核 CPU. 比较下来 clisp 的性能可以用垃圾来形容。而且,CCL 是支持多线程的,clisp 不支持。

    虽然 clisp 性能差,不过,目前来说保留它的理由是可以用来运行 Portable Allegro Serve 的代码。而我粗略的试了一下在 CCL 下跑这个代码会报错。

  • 相关阅读:
    写给自己的话
    软件开发之技能梳理
    《创新者的窘境》读书笔记
    我的四年踩坑史以及思考
    认识问题和求解问题的一种思考框架
    《时间的秩序》读书笔记
    从JSON中自动生成对应的对象模型
    考考你:一道题引发的小思考
    哈!如果一生只如花样短暂
    使用正则表达式抽取所需文本
  • 原文地址:https://www.cnblogs.com/RChen/p/2294117.html
Copyright © 2011-2022 走看看