[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Question about your profiling patch...
From: |
Rob Browning |
Subject: |
Re: Question about your profiling patch... |
Date: |
05 Apr 2001 13:48:45 -0500 |
User-agent: |
Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7 |
Keisuke Nishida <address@hidden> writes:
> I see. But I still don't know what is wrong with this.
> Could you try with simpler examples? What happens with
> the followings, for example:
OK, I've investigated further and here's a more conclusive example
that something's wrong, and now I'm wondering if it could either be a
namespace issue, or perhaps more likely, there's a case in eval.c
that's not being handled.
In this example, we're profiling report generation, and so in the
top-level reporting function we do this (this is the only time
*profile-all* is touched in the app):
(set! *profile-all* #t)
(set! formlist (gnc:html-document-render doc))
(set! *profile-all* #f)
(dump-profiling-data)
Then over in gnc:html-style-table-fetch, I do this in an
unconditionally executed part of the body:
(if *profile-all*
(begin
(display "inside gnc:html-style-table-fetch\n")
(display " *profile-all* ") (display *profile-all*) (newline)
(display " ")
(display (procedure-properties gnc:html-style-table-fetch))
(newline)))
and after running one trivial report, the resulting output looks like
this (note that 'profile-data is not set, which should be impossible
if I'm reading the intent of your profiling patch correctly):
inside gnc:html-style-table-fetch
*profile-all* #t
((arity 3 0 #f) (name . gnc:html-style-table-fetch))
inside gnc:html-style-table-fetch
*profile-all* #t
((arity 3 0 #f) (name . gnc:html-style-table-fetch))
[... many duplicates omitted ...]
inside gnc:html-style-table-fetch
*profile-all* #t
((arity 3 0 #f) (name . gnc:html-style-table-fetch))
inside gnc:html-style-table-fetch
*profile-all* #t
((arity 3 0 #f) (name . gnc:html-style-table-fetch))
inside gnc:html-style-table-fetch
*profile-all* #t
((arity 3 0 #f) (name . gnc:html-style-table-fetch))
and we get a profile dump like this (note that
gnc:html-style-table-fetch is listed as never called):
Called Procedure Run Real
------ --------- --- ----
1197 hash-fold 73 77
3208 eval 52 49
1389 root-module-closure 51 49
37 apply 34 36
1214 for-each 33 35
4365 eq? 13 16
7757 not 6 14
1 gnc:html-document-render 8 7
1322 = 4 6
1 gnc:html-table-render 5 4
4418 vector-ref 4 3
4643 struct? 3 2
4383 hashq-set! 3 2
7623 cdr 6 5
3452 null? 0 2
1408 symbol-interned? 2 2
3 gnc:html-text-render 2 2
4087 struct-ref 2 2
3363 cons 2 1
1198 symbol? 0 1
242 display 2 2
38 make-struct 0 1
28 gnc:html-style-info-merge 0 1
20 hash-ref 0 1
14 gnc:html-document-markup-start 1 1
7 gnc:html-document-fetch-data-style 1 1
3 gnc:html-document-fetch-markup-style 0 1
1 gnc:html-table-cell-render 1 1
6706 car 1 0
6710 car 1 0
4341 struct-vtable 3 0
1408 variable-bound? 2 0
1408 builtin-variable 0 0
1177 variable? 0 0
200 acons 0 0
148 gnc:html-markup-style-info? 0 0
129 gnc:html-data-style-info? 0 0
106 assoc-set! 0 0
106 vector-set! 0 0
98 assoc-ref 0 0
3145 >= 3 3
64 newline 0 0
57 gnc:html-style-table-compiled? 0 0
5293 + 4 1
51 struct-set! 0 0
42 eqv? 0 0
42 make-vector 0 0
40 list? 0 0
39 apply:nconc2last 0 0
283 string? 0 0
32 procedure-properties 0 0
29 gnc:html-data-style-info-merge 0 0
24 gnc:html-markup-style-info-merge 0 0
1243 string-ref 0 1
22 gnc:make-html-markup-style-info 0 0
18 string-set! 0 0
16 char? 0 0
529 string-length 0 0
538 string-length 0 0
15 cadr 0 0
15 cadr 0 0
15 gnc:html-table-cell? 0 0
13 pair? 0 0
453 length 0 0
11 gnc:html-document-markup-end 1 0
271 number? 0 0
538 - 0 1
545 list 1 1
8 cddr 0 0
8 gnc:make-html-object 0 0
7 min 0 0
7 gnc:default-html-string-renderer 0 0
7 procedure? 0 0
6 negative? 0 0
5 gnc:html-object? 0 0
5 record? 0 0
233 number->string 0 0
928 memq 2 1
3 truncate 0 0
3 inexact->exact 0 0
3 * 0 0
3 / 0 0
330 substring 2 0
334 append 3 1
2 vector? 0 0
512 boolean? 0 0
2 make-string 0 0
2 equal? 0 0
442 char-numeric? 0 0
2 require:require 0 0
2 require:provided? 0 0
2 require:require 0 0
1 reverse 0 0
1 gnc:html-markup/no-end 0 0
1 string=? 0 0
1 caddr 0 0
1 string-append 0 0
1 caddr 0 0
0 gnc:make-html-document 0 0
0 gnc:html-markup-style-info-attributes 0 0
0 gnc:html-style-table-primary 0 0
0 gnc:html-document-set-style-internal! 0 0
0 gnc:html-document-style-sheet 0 0
0 gnc:html-object-renderer 0 0
0 gnc:html-style-sheet-options 0 0
0 gnc:html-style-table-inheritable 0 0
0 gnc:make-html-markup-style-info-internal 0 0
0 record-type-fields 0 0
0 stdio:sprintf 0 0
0 module-obarray-set! 0 0
0 gnc:html-data-style-info-renderer 0 0
0 gnc:html-object-data 0 0
0 module-modified 0 0
0 gnc:html-document-push-style 0 0
0 gnc:option-data 0 0
0 kvt-ref 0 0
0 gnc:option-getter 0 0
0 gnc:html-data-style-info-inheritable? 0 0
0 record-type-descriptor 0 0
0 gnc:html-table-col-style 0 0
0 gnc:html-table-row-style 0 0
0 gnc:lookup-option 0 0
0 gnc:html-document-append-objects! 0 0
0 gnc:html-markup-style-info-inheritable? 0 0
0 gnc:make-html-text-internal 0 0
0 module-add! 0 0
0 gnc:make-html-document-internal 0 0
0 gnc:html-document-render-data 0 0
0 gnc:html-document-style-stack 0 0
0 record-modifier 0 0
0 gnc:html-table? 0 0
0 hash->kv-list 0 0
0 gnc:make-html-text 0 0
0 gnc:html-style-table-set! 0 0
0 gnc:html-table-col-styles 0 0
0 gnc:html-table-row-markup 0 0
0 gnc:html-table-row-styles 0 0
0 gnc:html-table-cell-style 0 0
0 gnc:html-text-style 0 0
0 gnc:html-table-cell-data 0 0
0 gnc:html-table-row-markup-table 0 0
0 gnc:html-table-style 0 0
0 gnc:html-object-render 0 0
0 gnc:html-document-objects 0 0
0 gnc:option-value 0 0
0 gnc:html-style-table-set-compiled! 0 0
0 gnc:make-html-style-table 0 0
0 gnc:html-markup-style-info-font-size 0 0
0 gnc:html-markup-style-info-font-face 0 0
0 gnc:html-document-set-objects! 0 0
0 gnc:color-option->html 0 0
0 module-observers 0 0
0 gnc:html-markup-style-info-closing-font-tag 0 0
0 gnc:html-style-sheet-renderer 0 0
0 gnc:html-document-set-style! 0 0
0 gnc:html-table-col-headers 0 0
0 gnc:html-table-col-headers-style 0 0
0 gnc:color->html 0 0
0 gnc:html-style-table-set-inheritable! 0 0
0 gnc:html-markup-h3 0 0
0 gnc:html-markup-style-info-font-color 0 0
0 gnc:html-document-style 0 0
0 gnc:html-document-title 0 0
0 gnc:html-table-data 0 0
0 gnc:html-style-sheet-style 0 0
0 for-each-in-order 0 0
0 gnc:html-document-pop-style 0 0
0 gnc:html-document-add-object! 0 0
0 module-weak-observers 0 0
0 module-obarray 0 0
0 gnc:html-markup-p 0 0
0 gnc:make-html-style-table-internal 0 0
0 gnc:html-table-cell-tag 0 0
0 list-index 0 0
0 gnc:html-table-cell-colspan 0 0
0 gnc:html-table-cell-rowspan 0 0
0 gnc:html-markup-style-info-tag 0 0
0 kvt-set! 0 0
0 gnc:html-table-caption 0 0
0 gnc:html-data-style-info-data 0 0
0 gnc:html-text? 0 0
0 gnc:html-style-table-uncompile 0 0
0 gnc:html-style-table-compiled 0 0
0 gnc:html-document-set-style-stack! 0 0
0 record-type? 0 0
0 gnc:html-text-body 0 0
0 gnc:html-style-sheet-render 0 0
0 gnc:make-html-object-internal 0 0
0 make-kvtable 0 0
0 gnc:html-style-table-fetch 0 0
0 gnc:html-style-table-compile 0 0
0 kvt-fold 0 0
0 gnc:html-markup-style-info-set-attribute! 0 0
0 stdio:sprintf 0 0
0 stdio:sprintf 0 0
0 generic-write 0 0
total time to run report: 2.343889
--
Rob Browning <address@hidden> PGP=E80E0D04F521A094 532B97F5D64E3930
- Re: Question about your profiling patch..., (continued)
- Re: Question about your profiling patch..., Keisuke Nishida, 2001/04/05
- Re: Question about your profiling patch..., Rob Browning, 2001/04/05
- Re: Question about your profiling patch..., Neil Jerram, 2001/04/06
- Re: Question about your profiling patch..., Neil Jerram, 2001/04/06
- Re: Question about your profiling patch..., Keisuke Nishida, 2001/04/06
- Re: Question about your profiling patch..., Neil Jerram, 2001/04/08
- Re: Question about your profiling patch..., Rob Browning, 2001/04/08
- Re: Question about your profiling patch..., Keisuke Nishida, 2001/04/09
- Re: Question about your profiling patch..., Neil Jerram, 2001/04/07
- Re: Question about your profiling patch..., Rob Browning, 2001/04/07
- Re: Question about your profiling patch...,
Rob Browning <=
- Re: guile-vm 0.3, Keisuke Nishida, 2001/04/04
- Re: guile-vm 0.3, Ariel Rios, 2001/04/03
- Re: guile-vm 0.3, Rob Browning, 2001/04/03
- Re: guile-vm 0.3, Evan Prodromou, 2001/04/04
- Re: guile-vm 0.3, Ariel Rios, 2001/04/05
- Re: guile-vm 0.3, Rob Browning, 2001/04/05
- Re: guile-vm 0.3, Marius Vollmer, 2001/04/05
- Re: guile-vm 0.3, Ariel Rios, 2001/04/05
- Re: guile-vm 0.3, Marius Vollmer, 2001/04/05
- Re: guile-vm 0.3, Miroslav Silovic, 2001/04/06