Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(81)

Side by Side Diff: third_party/sqlite/sqlite-src-3080704/tool/vdbe_profile.tcl

Issue 883353008: [sql] Import reference version of SQLite 3.8.7.4. (Closed) Base URL: http://chromium.googlesource.com/chromium/src.git@master
Patch Set: Hold back encoding change which is messing up patch. Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 #!/bin/tclsh
2 #
3 # Run this script in the same directory as the "vdbe_profile.out" file.
4 # This script summarizes the results contained in that file.
5 #
6 if {![file readable vdbe_profile.out]} {
7 error "run this script in the same directory as the vdbe_profile.out file"
8 }
9 set in [open vdbe_profile.out r]
10 set stmt {}
11 set allstmt {}
12 while {![eof $in]} {
13 set line [gets $in]
14 if {$line==""} continue
15 if {[regexp {^---- } $line]} {
16 set stmt [lindex $line 1]
17 if {[info exists cnt($stmt)]} {
18 incr cnt($stmt)
19 set firsttime 0
20 } else {
21 set cnt($stmt) 1
22 set sql($stmt) {}
23 set firsttime 1
24 lappend allstmt $stmt
25 }
26 continue;
27 }
28 if {[regexp {^-- } $line]} {
29 if {$firsttime} {
30 append sql($stmt) [string range $line 3 end]\n
31 }
32 continue
33 }
34 if {![regexp {^ *\d+ *\d+ *\d+ *\d+ ([A-Z].*)} $line all detail]} continue
35 set c [lindex $line 0]
36 set t [lindex $line 1]
37 set addr [lindex $line 3]
38 set op [lindex $line 4]
39 if {[info exists opcnt($op)]} {
40 incr opcnt($op) $c
41 incr opcycle($op) $t
42 } else {
43 set opcnt($op) $c
44 set opcycle($op) $t
45 }
46 if {[info exists stat($stmt,$addr)]} {
47 foreach {cx tx detail} $stat($stmt,$addr) break
48 incr cx $c
49 incr tx $t
50 set stat($stmt,$addr) [list $cx $tx $detail]
51 } else {
52 set stat($stmt,$addr) [list $c $t $detail]
53 }
54 }
55 close $in
56
57 foreach stmt $allstmt {
58 puts "********************************************************************"
59 puts [string trim $sql($stmt)]
60 puts "Execution count: $cnt($stmt)"
61 for {set i 0} {[info exists stat($stmt,$i)]} {incr i} {
62 foreach {cx tx detail} $stat($stmt,$i) break
63 if {$cx==0} {
64 set ax 0
65 } else {
66 set ax [expr {$tx/$cx}]
67 }
68 puts [format {%8d %12d %12d %4d %s} $cx $tx $ax $i $detail]
69 }
70 }
71 puts "********************************************************************"
72 puts "OPCODES:"
73 foreach op [lsort [array names opcnt]] {
74 set cx $opcnt($op)
75 set tx $opcycle($op)
76 if {$cx==0} {
77 set ax 0
78 } else {
79 set ax [expr {$tx/$cx}]
80 }
81 puts [format {%8d %12d %12d %s} $cx $tx $ax $op]
82 }
OLDNEW
« no previous file with comments | « third_party/sqlite/sqlite-src-3080704/tool/vdbe-compress.tcl ('k') | third_party/sqlite/sqlite-src-3080704/tool/warnings.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698