summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2020-11-22 11:01:17 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2020-11-22 11:01:17 +0900
commit0f51105ece36739f2d4329089e0cff7a925ea2ff (patch)
treeafb24ab6ae339a9e9e2d86e56ff94f6462e67024
parent821aa35c8bdccebaa373e68f929b681001e6a772 (diff)
make-snapshot: measure archiving times
-rwxr-xr-xtool/make-snapshot16
1 files changed, 13 insertions, 3 deletions
diff --git a/tool/make-snapshot b/tool/make-snapshot
index ca40747..735d0f0 100755
--- a/tool/make-snapshot
+++ b/tool/make-snapshot
@@ -242,6 +242,16 @@ class MAKE < Struct.new(:prog, :args)
end
end
+def measure
+ clock = Process::CLOCK_MONOTONIC
+ t0 = Process.clock_gettime(clock)
+ STDOUT.flush
+ result = yield
+ printf(" %6.3f", Process.clock_gettime(clock) - t0)
+ STDOUT.flush
+ result
+end
+
def package(vcs, rev, destdir, tmp = nil)
pwd = Dir.pwd
patchlevel = false
@@ -544,7 +554,7 @@ touch-unicode-files:
else
tarball = ext == ".tar" ? file : "#{$archname||v}.tar"
print "creating tarball... #{tarball}"
- if tar_create(tarball, v)
+ if measure {tar_create(tarball, v)}
puts $colorize.pass(" done")
File.utime(modified, modified, tarball) if modified
next if tarball == file
@@ -555,7 +565,7 @@ touch-unicode-files:
end
end
print "creating #{mesg} tarball... #{file}"
- done = system(*cmd, tarball, out: file)
+ done = measure {system(*cmd, tarball, out: file)}
else
print "creating #{mesg} archive... #{file}"
if Hash === cmd.last
@@ -564,7 +574,7 @@ touch-unicode-files:
else
(cmd = cmd.dup) << file << v
end
- done = system(*cmd)
+ done = measure {system(*cmd)}
end
if done
puts $colorize.pass(" done")