| OLD | NEW | 
|---|
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python | 
| 2 # | 2 # | 
| 3 # Copyright 2010 the V8 project authors. All rights reserved. | 3 # Copyright 2010 the V8 project authors. All rights reserved. | 
| 4 # Redistribution and use in source and binary forms, with or without | 4 # Redistribution and use in source and binary forms, with or without | 
| 5 # modification, are permitted provided that the following conditions are | 5 # modification, are permitted provided that the following conditions are | 
| 6 # met: | 6 # met: | 
| 7 # | 7 # | 
| 8 #     * Redistributions of source code must retain the above copyright | 8 #     * Redistributions of source code must retain the above copyright | 
| 9 #       notice, this list of conditions and the following disclaimer. | 9 #       notice, this list of conditions and the following disclaimer. | 
| 10 #     * Redistributions in binary form must reproduce the above | 10 #     * Redistributions in binary form must reproduce the above | 
| (...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 281   marksweeps = filter(lambda r: r['gc'] == 'ms', trace) | 281   marksweeps = filter(lambda r: r['gc'] == 'ms', trace) | 
| 282   markcompacts = filter(lambda r: r['gc'] == 'mc', trace) | 282   markcompacts = filter(lambda r: r['gc'] == 'mc', trace) | 
| 283   scavenges = filter(lambda r: r['gc'] == 's', trace) | 283   scavenges = filter(lambda r: r['gc'] == 's', trace) | 
| 284 | 284 | 
| 285   charts = plot_all(plots, trace, filename) | 285   charts = plot_all(plots, trace, filename) | 
| 286 | 286 | 
| 287   def stats(out, prefix, trace, field): | 287   def stats(out, prefix, trace, field): | 
| 288     n = len(trace) | 288     n = len(trace) | 
| 289     total = calc_total(trace, field) | 289     total = calc_total(trace, field) | 
| 290     max = calc_max(trace, field) | 290     max = calc_max(trace, field) | 
| 291     avg = total / n | 291     if n > 0: | 
|  | 292       avg = total / n | 
|  | 293     else: | 
|  | 294       avg = 0 | 
| 292     if n > 1: | 295     if n > 1: | 
| 293       dev = math.sqrt(freduce(lambda t,r: (r - avg) ** 2, field, trace, 0) / | 296       dev = math.sqrt(freduce(lambda t,r: (r - avg) ** 2, field, trace, 0) / | 
| 294                       (n - 1)) | 297                       (n - 1)) | 
| 295     else: | 298     else: | 
| 296       dev = 0 | 299       dev = 0 | 
| 297 | 300 | 
| 298     out.write('<tr><td>%s</td><td>%d</td><td>%d</td>' | 301     out.write('<tr><td>%s</td><td>%d</td><td>%d</td>' | 
| 299               '<td>%d</td><td>%d [dev %f]</td></tr>' % | 302               '<td>%d</td><td>%d [dev %f]</td></tr>' % | 
| 300               (prefix, n, total, max, avg, dev)) | 303               (prefix, n, total, max, avg, dev)) | 
| 301 | 304 | 
| (...skipping 15 matching lines...) Expand all  Loading... | 
| 317       out.write('<img src="%s">' % chart) | 320       out.write('<img src="%s">' % chart) | 
| 318       out.write('</body></html>') | 321       out.write('</body></html>') | 
| 319 | 322 | 
| 320   print "%s generated." % (filename + '.html') | 323   print "%s generated." % (filename + '.html') | 
| 321 | 324 | 
| 322 if len(sys.argv) != 2: | 325 if len(sys.argv) != 2: | 
| 323   print "Usage: %s <GC-trace-filename>" % sys.argv[0] | 326   print "Usage: %s <GC-trace-filename>" % sys.argv[0] | 
| 324   sys.exit(1) | 327   sys.exit(1) | 
| 325 | 328 | 
| 326 process_trace(sys.argv[1]) | 329 process_trace(sys.argv[1]) | 
| OLD | NEW | 
|---|