1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
puts " BUC60068 "
puts "If scales by 1000, time to compute is 10 times greater "
##
## mod pkv from
restore [locate_data_file buc60068a.rle] a
restore [locate_data_file buc60068b.rle] b
restore [locate_data_file buc60068a.rle] c
restore [locate_data_file buc60068b.rle] d
restore [locate_data_file buc60068a.rle] e
restore [locate_data_file buc60068b.rle] f
restore [locate_data_file buc60068a.rle] g
restore [locate_data_file buc60068b.rle] h
## mod pkv from
##
## fuse
dchrono j start
bfuse resab a b
dchrono j stop
tscale c 0 0 0 100
tscale d 0 0 0 100
dchrono k start
bfuse rescd c d
dchrono k stop
tscale e 0 0 0 1000
tscale f 0 0 0 1000
dchrono l start
bfuse resef e f
dchrono l stop
tscale g 0 0 0 10000
tscale h 0 0 0 10000
dchrono m start
bfuse resgh g h
dchrono m stop
regexp {CPU user time: ([0-9|.]+) seconds} [dchrono j show] full Jseconds
regexp {CPU user time: ([0-9|.]+) seconds} [dchrono k show] full Kseconds
regexp {CPU user time: ([0-9|.]+) seconds} [dchrono l show] full Lseconds
regexp {CPU user time: ([0-9|.]+) seconds} [dchrono m show] full Mseconds
#sometimes CPU user time may be 0
set Jtime [expr ($Jseconds * 1.1) + 0.2]
set Ktime $Kseconds
set Ltime $Lseconds
set Mtime $Mseconds
if { $Jtime < $Ktime || $Jtime < $Ltime || $Jtime < $Mtime} {
puts "Error: incorrect performance of bfuse operation:"
puts "SCALE=1 : $Jtime seconds."
puts "SCALE=100 : $Ktime seconds."
puts "SCALE=1000 : $Ltime seconds."
puts "SCALE=10000 : $Mtime seconds."
}
compound resab rescd resef resgh result
set square 2.5e+13
|