Check-in [9a763fe596]
Not logged in
Overview

SHA1 Hash:9a763fe59632c27e7ff0e88e5a593763e4e5f354
Date: 2007-12-06 04:05:36
User: aku
Comment: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.
Timelines: ancestors | descendants | both | trunk
Other Links: files | ZIP archive | manifest

Tags And Properties
Changes
[hide diffs]

Modified tools/cvs2fossil/lib/c2f_pass.tcl from [2edf9bde57] to [98d1ccdb7b].

@@ -112,12 +112,15 @@
 	    log write 0 pass "Setup $p"
 	    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"
 	    Call $p discard
@@ -131,28 +134,27 @@
     typemethod current {} { return $mycurrentpass }
 
     # # ## ### ##### ######## #############
     ## 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}} {
 	upvar 1 $ov ok