Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Using SBCL's interpreter (and gain some speed, maybe) #52

Open
Labels
sbclApplies only to SBCL
@vindarel

Description

@vindarel

By default SBCL implementseval by calling the native code compiler.

SBCL also includes an interpreter for use in special cases where using the compiler is undesirable, for example due to compilation overhead.

https://www.sbcl.org/manual/#Interpreter

In other words, SBCL evaluates code given toeval by wrapping the form to be evaluated in a lambda, compiling that, and funcall-ing the compiled function.

So, to use the interpreter:

(let ((sb-ext:*evaluator-mode*:interpret))    (eval ...))

In the blog post"compilation speed of CL implementations", the author needed to re-build his entire project. He compared the speed of the SBCL's compiler, and the interpreter:

SBCL's compilerSBCL's interpreter
build project70s2.5s

=> it's a drastic speed gain, in his case.

It might be that SBCL's extensive optimizations are slowing down the compiler, and aren't needed in the author's case (which is building a static website).

Metadata

Metadata

Assignees

No one assigned

    Labels

    sbclApplies only to SBCL

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions


      [8]ページ先頭

      ©2009-2025 Movatter.jp