CS510 Software Engineering
Program Profiling
- Asst. Prof. Mathias Payer
Department of Computer Science Purdue University TA: Scott A. Carr Slides inspired by Xiangyu Zhang http://nebelwelt.net/teaching/15-CS510-SE
CS510 Software Engineering Program Profiling Asst. Prof. Mathias - - PowerPoint PPT Presentation
CS510 Software Engineering Program Profiling Asst. Prof. Mathias Payer Department of Computer Science Purdue University TA: Scott A. Carr Slides inspired by Xiangyu Zhang http://nebelwelt.net/teaching/15-CS510-SE Spring 2015 Definition of
Department of Computer Science Purdue University TA: Scott A. Carr Slides inspired by Xiangyu Zhang http://nebelwelt.net/teaching/15-CS510-SE
Definition of profiling
1
2
3
4
5
Mathias Payer (Purdue University) CS510 Software Engineering 2015 2 / 28
Definition of profiling
Mathias Payer (Purdue University) CS510 Software Engineering 2015 3 / 28
Use-cases for profiling
1
2
3
4
5
Mathias Payer (Purdue University) CS510 Software Engineering 2015 4 / 28
Use-cases for profiling
Mathias Payer (Purdue University) CS510 Software Engineering 2015 5 / 28
GNU gprof Profiler
1
2
3
4
5
Mathias Payer (Purdue University) CS510 Software Engineering 2015 6 / 28
GNU gprof Profiler
Mathias Payer (Purdue University) CS510 Software Engineering 2015 7 / 28
GNU gprof Profiler
Mathias Payer (Purdue University) CS510 Software Engineering 2015 8 / 28
GNU gprof Profiler
Mathias Payer (Purdue University) CS510 Software Engineering 2015 9 / 28
GNU gprof Profiler
Mathias Payer (Purdue University) CS510 Software Engineering 2015 10 / 28
GNU gprof Profiler
Mathias Payer (Purdue University) CS510 Software Engineering 2015 11 / 28
Path Profiling
1
2
3
4
5
Mathias Payer (Purdue University) CS510 Software Engineering 2015 12 / 28
Path Profiling
Mathias Payer (Purdue University) CS510 Software Engineering 2015 13 / 28
Path Profiling
count[r]++ r += 4 r += 2 r += 1
Mathias Payer (Purdue University) CS510 Software Engineering 2015 14 / 28
Path Profiling
6
4
2
2
1
1
child i num(i)
Mathias Payer (Purdue University) CS510 Software Engineering 2015 15 / 28
Path Profiling
6
4
2
2
1
1 r += 4 r += 2 r += 1
n1
n2
n3 n1 (n1+n2)
Mathias Payer (Purdue University) CS510 Software Engineering 2015 16 / 28
Path Profiling
Mathias Payer (Purdue University) CS510 Software Engineering 2015 17 / 28
Path Profiling
1
2
3
4
5
Mathias Payer (Purdue University) CS510 Software Engineering 2015 18 / 28
Path Profiling
2
1
1
1
6
4
2
2
1
1
Mathias Payer (Purdue University) CS510 Software Engineering 2015 19 / 28
Path Profiling
6
4
2
2
1
1 r+ = 4 r+ = 2 r+ = 1
6
4
2
2
1
1 r+ = 4 r+ = 2 r+ = 1
Mathias Payer (Purdue University) CS510 Software Engineering 2015 20 / 28
Path Profiling
r+ = 1 count[r] + + r = 4 r+ = 2
Mathias Payer (Purdue University) CS510 Software Engineering 2015 21 / 28
Path Profiling
Mathias Payer (Purdue University) CS510 Software Engineering 2015 22 / 28
Profiling Applications
1
2
3
4
5
Mathias Payer (Purdue University) CS510 Software Engineering 2015 23 / 28
Profiling Applications
1Reading assignment: Darko Marinov and Robert O’Callahan, Object Equality
Mathias Payer (Purdue University) CS510 Software Engineering 2015 24 / 28
Profiling Applications
Mathias Payer (Purdue University) CS510 Software Engineering 2015 25 / 28
Profiling Applications
Mathias Payer (Purdue University) CS510 Software Engineering 2015 26 / 28
Profiling Applications
2https://www-01.ibm.com/software/webservers/appserv/ws_
Mathias Payer (Purdue University) CS510 Software Engineering 2015 27 / 28
Profiling Applications
Mathias Payer (Purdue University) CS510 Software Engineering 2015 28 / 28