Diff
Not logged in

Differences From:

File tools/cvs2fossil/lib/c2f_pass.tcl part of check-in [e288af3995] - Fluff: Renamed state methods use/reading/writing to usedb/use/extend for clarity. Updated all callers. Extended state module with code to dump the SQL statements it receives to a file for analysis. Extended the 'use' declarations of several passes. by aku on 2007-12-02 23:47:45. [view]

To:

File tools/cvs2fossil/lib/c2f_pass.tcl part of check-in [9a763fe596] - Reworked time keeping in the pass manager, the microseconds kept by by the 'time' command flow over after roughly 72 minutes (2^32 microseconds). We now use 'clock seconds' to explicitly keep time. This should flow over only after abuut 136 years. The loss of resolution is ok, the converter does not need it. Seconds are good enough. by aku on 2007-12-06 04:05:36. [view]

@@ -113,10 +113,13 @@
 	    Call $p setup
 	}
 	foreach p $run {
 	    log write 0 pass "Begin $p"
-	    Time $p [lindex [time {Call $p run} 1] 0]
-	    log write 0 pass "Done  $p"
+	    set secbegin [clock seconds]
+	    Call $p run
+	    set secstop  [clock seconds]
+	    log write 0 pass "Done  $p"
+	    Time $p [expr {$secstop - $secbegin}]
 	    trouble abort?
 	}
 	foreach p $defered {
 	    log write 0 pass "Defer $p"
@@ -132,26 +135,25 @@
 
     # # ## ### ##### ######## #############
     ## Internal methods
 
-    proc Time {pass useconds} {
+    proc Time {pass seconds} {
 	::variable mytime
-	lappend    mytime $pass $useconds
-	ShowTime          $pass $useconds
+	lappend    mytime $pass $seconds
+	ShowTime          $pass $seconds
 	return
     }
 
     proc ShowTimes {} {
 	::variable mytime
-	foreach {pass useconds} $mytime {
-	    ShowTime $pass $useconds
+	foreach {pass seconds} $mytime {
+	    ShowTime $pass $seconds
 	}
 	return
     }
 
-    proc ShowTime {pass useconds} {
-	set sec [format %8.2f [expr {double($useconds)/1e6}]]
-	log write 0 pass "$sec sec/$pass"
+    proc ShowTime {pass seconds} {
+	log write 0 pass "[format %8d $seconds] sec/$pass"
 	return
     }
 
     proc Ok? {code label ov {emptyok 1}} {