Title
Introducing performance engineering by means of tools and practical exercises
Abstract
In the past software developers had to be careful when developing applications as resources were often scarce and the management of such scare resources was a complex issue. Advances in software technologies have allowed for developers today to concentrate less on lower-level issues such as performance and resource management. An example of this can be seen in modern languages that provide garbage collection facilities, freeing developers from having to explicitly manage memory. Other examples can be found in enterprise-level software frameworks where the framework handles complex underlying issues such as security, persistence, and concurrency. Freeing developers from having to worry about what is happening 'under the hood' allows them to concentrate more on developing the functionality of a system. A downside of this is that developers often disregard performance issues completely and give no thought to how their design and implementation impacts on the overall system performance. Evidence of this is provided by recent surveys that show a high percentage of software systems fail to meet their performance goals in time. Developers' disregard for performance-related matters can be attributed to the fact that developers often do not have a good understanding of the basic concepts of performance engineering. This is hardly surprising since many software engineers complete their education without a formal introduction to the most basic performance engineering concepts.In light of the current lack of understanding in this area, "Performance of Computer Systems", a first year postgraduate/final year undergraduate course, was offered at UCD's School of Computer Science and Informatics in Autumn 2005, covering performance engineering and analysis basics. This paper discusses how, in this course, we went about introducing performance engineering to the students through practical exercises. We focus on the performance tools used and document how these tools were used to educate the students on performance through (real-world) practical exercises.
Year
DOI
Venue
2006
10.1145/1188966.1189019
CASCON
Keywords
Field
DocType
introducing performance engineering,performance tool,practical exercise,performance issue,enterprise-level software framework,past software developer,performance engineering,software engineer,performance goal,overall system performance,basic performance engineering concept,code coverage,software testing
Resource management,Code coverage,Performance engineering,Software engineering,Concurrency,Computer science,Software system,Software,Garbage collection,Software framework,Distributed computing
Conference
Citations 
PageRank 
References 
1
0.37
2
Authors
5
Name
Order
Citations
PageRank
Alexander Ufimtsev191.42
Trevor Parsons21218.79
Lucian Patcas3342.51
John Murphy47510.07
Liam Murphy581174.94