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

Side by Side Diff: tools/gc-nvp-trace-processor.py

Issue 3135026: Merge flush code phase into marking phase. (Closed)
Patch Set: returned checked casts Created 10 years, 4 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
« no previous file with comments | « test/cctest/test-heap.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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])
OLDNEW
« no previous file with comments | « test/cctest/test-heap.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698