2012-04-21 2 views
0

Scheme (R6RS) 코드의 성능을 어떻게 평가할 수 있습니까?Scheme의 성능 평가

(time (oper args)) 또는 (time oper args)과 같은 절차가 필요합니다.

붉은 색 토론 here 그러나 그것은 나를 위해 작동하지 않는 것 같습니다. 모듈/라이브러리를 가져와야합니까?

감사합니다.

+0

당신이 더 도움이 답변을 얻을 것이다 당신의 우리가 짐작하는 것보다 – 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))'을 실행하려고하면 '정의하기 전에 식별자에 대한 참조 : 시간'오류가 발생합니다. 처음에는 모듈 (import (rnrs) (rnrs mutable-pairs (6)))을 가져 왔습니다. 좀 더 도서관이 필요합니까? – Aslan986

+0

라켓 문서에 따르면, 그것은'racket/base'에서 제공됩니다. 자동으로 가져와야한다는 의미지만, #lang racket을 사용해야 할 수도 있습니다. – Inaimathi

+0

그래, 내가 라켓으로 할 수있는 건 알지만, R6RS에서해야 해. – Aslan986

1

다른 언어를 사용할 수 있습니까? 이것은 당신이 옵션 DrRacket에서 "소스에서 선언 된 언어를 사용"선택한 가정, 나를 위해 작동합니다 : 당신은 당신이 사용하고 있던 제도의 정확한 유형을 언급 한 경우

#lang racket 
(time (+ 1 1)) 

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

고맙습니다. 그건 나에게도 효과가 있지만 "표준"계획 r6rs을 공부하고있어 언어를 바꿀 수는 없다. – Aslan986

+1

왜 downvote인가? R6RS 만 사용할 수 있다는 질문에 OP가 지정되지 않았습니다. –