mirror of
				https://github.com/cookiengineer/audacity
				synced 2025-11-03 15:43:50 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			28 lines
		
	
	
		
			787 B
		
	
	
	
		
			Common Lisp
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			787 B
		
	
	
	
		
			Common Lisp
		
	
	
	
	
	
 | 
						|
; profile.lsp -- support for profiling
 | 
						|
 | 
						|
;## show-profile -- print profile data
 | 
						|
(defun show-profile ()
 | 
						|
  (let ((profile-flag (profile nil)) (total 0))
 | 
						|
    (dolist (name *PROFILE*)
 | 
						|
            (setq total (+ total (get name '*PROFILE*))))
 | 
						|
    (dolist (name *PROFILE*)
 | 
						|
            (format t "~A (~A%): ~A~%"
 | 
						|
                    (get name '*PROFILE*)
 | 
						|
                    (truncate
 | 
						|
                     (+ 0.5 (/ (float (* 100 (get name '*PROFILE*)))
 | 
						|
                               total)))
 | 
						|
                    name))
 | 
						|
    (format t "Total: ~A~%" total)
 | 
						|
    (profile profile-flag)))
 | 
						|
 | 
						|
 | 
						|
;## start-profile -- clear old profile data and start profiling
 | 
						|
(defun start-profile ()
 | 
						|
  (profile nil)
 | 
						|
  (dolist (name *PROFILE*)
 | 
						|
          (remprop name '*PROFILE*))
 | 
						|
  (setq *PROFILE* nil)
 | 
						|
  (profile t))
 | 
						|
 |