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 下跑这个代码会报错。

  • 相关阅读:
    Swing编程基础 之二
    数据库有几种
    世界上所有的电脑操作系统
    Linux基础命令-有关于目录的命令
    Oracle Flashback 闪回
    Linux CentOS6.5下安装Oracle ASM
    如何将U盘内文件拷入VMware Linux CentOS6.5虚拟机
    iptables 开启端口
    在Oracle SQLplus下建用户 建表
    Linux CentOS中使用SQL*Plus启动和关闭数据库
  • 原文地址:https://www.cnblogs.com/RChen/p/2294117.html
Copyright © 2011-2022 走看看