关于如何使用堆栈采样进行分析:

时间:2016-12-21 05:22:12

标签: scheme profiling

假设MIT-Scheme 9.2和这些程序:

[#<Nokogiri::XML::Element:0x2b28a8ec0c38 name="h3" attributes=[#<Nokogiri::XML::Attr:0x2b28a8ec0bc0 name="style" value="text-align:center;">] children=[#<Nokogiri::XML::Text:0x2b28a8ec0774 "GPA REQUIREMENT">]>]

编写程序(第51页,用户手册中的第6章):

(define (max x y) (if (<= x y) y x))
(define (maxall l) (reduce max 0 l))

它有效:

1 ]=> maxall
;Value 3: #[compiled-procedure 3 ("foo" #x4) #x3 #x1b9ee4]

但使用 with-stack-sampling 进行分析失败:

1 ]=> (maxall '(1 3 2))
;Value: 3

口译员说错误的论点数量,但我不这么认为 因为p中描述了 with-stack-sampling 的用法。 User's manual中的51个:

  

with-stack-sampling 间隔程序
  将过程应用于零参数。 ...,

我是怎么做错的?如何将该函数应用于描述它的参数?

0 个答案:

没有答案