2012-04-21 13 views
0

スキーム(R6RS)コードのパフォーマンスをどのように評価できますか?スキームでのパフォーマンスの評価

(time (oper args))または(time oper args)のような手順が必要です。

私はディスカッションhereを赤くしていますが、それは私にとってはうまくいかないようです。私はいくつかのモジュール/ライブラリをインポートする必要がありますか?

ありがとうございました。

+0

あなたがあなたの中で使用していたスキームの正確などのタイプ述べた場合は、より多くの有用な答えを得るでしょう:これは、オプションDrRacketで「ソースで宣言された言語を使用する」を選択したと仮定して、私の作品私たちに推測させるのではなく、質問します。 – erjiang

+0

あなたは正しいです。謝罪。 – Aslan986

答えて

3

time正常に動作します。

$ mzscheme 
Welcome to Racket v5.2.1. 
> (time (/ 1 2)) 
cpu time: 0 real time: 0 gc time: 0 
1/2 
> 
+0

こんにちは、あなたの答えをありがとう。あなたは '#lang racket'を使用していますか?あるいは標準スキーム言語を使用していますか?もしそうなら、どのリビジョンですか? 'R5RS'または' R6RS'? – Aslan986

2

どのスキームを使用していますか? timeは標準的なスキーム関数のようですので、うまくいけない場合は、サブパートの実装を使用しているか、それを呼び出す際に何か問題が起きている可能性があります。

試したことを説明できますか(適切なコードスニペットを貼り付ける)?

+0

DrRacketでr6rsを使用しています。 '(time(+ 1 2))'を実行しようとすると、 '定義の前に識別子への参照:time'というエラーが出ます。最初はモジュール '(import(rnrs)(rnrs mutable-pairs(6)))'をインポートしています。もう少しライブラリが必要ですか? – Aslan986

+0

ラケットドキュメントによると、それは 'racket/base'で提供されています。これは自動的にインポートされるべきだと思うが、 '#lang racket'を使う必要があるかもしれない。 – Inaimathi

+0

はい、私はラケットでそれを行うことができますが、私はスキームR6RSでそれを行う必要があることを知っています – Aslan986

1

別の言語を使用できますか?

#lang racket 
(time (+ 1 1)) 

> cpu time: 0 real time: 0 gc time: 0 
> 2 
+0

ありがとう、あなたの答えです。それも私のために働くが、私は "標準"スキームr6rsを勉強しているので、私は言語を変更することはできません:) – Aslan986

+1

なぜdownvote? OPは彼がR6RSだけを使うことができるという質問に指定されていませんでした –