]> git.donarmstrong.com Git - lilypond.git/commitdiff
sort property-access by symbol too.
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Fri, 5 Jan 2007 13:15:35 +0000 (14:15 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Fri, 5 Jan 2007 13:15:35 +0000 (14:15 +0100)
input/regression/profile-property-access.ly

index 21e5476b552c534a01576a361e65c6f4e43342a1..39a41510d447a1a9507e3b19319830554a7cf243 100644 (file)
@@ -1,3 +1,5 @@
+% -*- Scheme -*-
+
 \header {
   texidoc = "This file profiles property accesses; the log file shows the top properties examined."
 }
@@ -7,16 +9,22 @@
 
 \version "2.10.8"
 
-%\include "../../input/typography-demo.ly"
-\book { \score { {c4 } } }
+\include "../../input/typography-demo.ly"
+%\book { \score { {c4 } } }
 
-#(define (prop-stats>?  x y) (> (cdr x) (cdr y)))
+#(define (prop-stats>?  x y)
+  (cond
+   ((> (cdr x) (cdr y)) #t)
+   ((= (cdr x) (cdr y))
+    (symbol<? (car x) (car y)))
+   (else #f)))
 
 #(define (display-stats what)
   (let*
    ((count 50)
     (rnd 10)
-    (alist (hash-table->alist (ly:property-lookup-stats what)))
+    (round-to (lambda (x) (* rnd (inexact->exact (round (/ x rnd))))))
+    (alist (map (lambda (entry) (cons (car entry) (round-to (cdr entry)))) (hash-table->alist (ly:property-lookup-stats what))))
     (total (apply + (map cdr alist)))
    )
 
@@ -25,7 +33,7 @@
   (ly:progress "\n\n~A properties, top ~a rounded to ~a\n\n~a"
    what count rnd
    (string-join
-    (map (lambda (x) (format "~30a: ~6@a" (car x) (* rnd (inexact->exact (round (/ (cdr x) rnd))))))
+    (map (lambda (x) (format "~30a: ~6@a" (car x) (cdr x)))
      (ly:truncate-list! 
     (sort alist prop-stats>?) count))
     "\n"))))