Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

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

Benchmarks for various Scheme implementations. Taken with kind permission from the Larceny project, based on the Gabriel and Gambit benchmarks.

NotificationsYou must be signed in to change notification settings

jmr/r7rs-benchmarks

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Benchmarks for various Scheme implementations. Taken with kind permission from the Larceny project, based on the Gabriel and Gambit benchmarks.

See the resultshere

Running the tests

Just run

./bench <scheme> <test>

Schemes that should work:

This should result in a file./results.<scheme>.

All of these Schemes are packaged for ArchLinux. The tests are run with whatever that package produces.

Run

make csv

to produce a fileall.csv with the test results (<scheme>,<test>,<seconds>).

Limiting compile-time and run-time

The environment variableCPU_TIME can be set, to limit the time for compilation and for running (each individually).

CPU_TIME=3600 ./bench chez all

Path to executables

You can set an environment variable to specify the path to each Scheme.

LARCENY=/tmp/larceny/larceny MIT=/tmp/mit/mit-scheme ./bench "mit larceny" "fib ack"

Notes for specific implementations

Chicken

The chicken test code assumes the presence of

  • vector-lib
  • r7rs

Install them by running

chicken-install vector-lib r7rs

Racket

The racket test code assumes the presence ofhttps://github.com/lexi-lambda/racket-r7rs.git.

Install the r7rs package installation-wide.

Run:

sudo raco pkg install --scope installation r7rs

IronScheme

Install the latest version of .NET Runtime (currently 9.0-preview, requires at least IronScheme 1.0.357) fromhttps://dotnet.microsoft.com/en-us/download/dotnet .

The default binary for IronScheme (can be changed by exporting IRONSCHEME in your shell before running bench) is calledironscheme.

If you unpack IronScheme in your home, you can create a shell script like the following:

#!/bin/bashexport DOTNET_CLI_TELEMETRY_OPTOUT=1dotnet ~/IronScheme/IronScheme.ConsoleCore.dll $*

and put that somewhere in your$PATH.

Stalin

Before calling Stalin, the code is run throughalexpander (by default using Chicken’scsi). Then stalin is invoked on the result.

Unsupported Schemes

Owl Lisp

Missing a lot of necessary functions,read for example.

TinyScheme

Problems with redirecting input,read chokes. No timing functions.

Safety

The benchmarking code doesnot use unsafe optimizations. These make code run even faster (but less safe ;) Specific options that could be used are:

Chez
--optimize-level 3
Gerbil / Gambit
(declare (not safe))

About

Benchmarks for various Scheme implementations. Taken with kind permission from the Larceny project, based on the Gabriel and Gambit benchmarks.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Scheme62.5%
  • HTML30.8%
  • TeX3.2%
  • JavaScript1.9%
  • Shell1.6%

[8]ページ先頭

©2009-2025 Movatter.jp