Software Engineering Prof. Dr. Bertrand Meyer March 2007 – June 2007 Chair of Software Engineering Lecture #20: Profiling NetBeans Profiler 6.0.

Slides:



Advertisements
Similar presentations
Analysis of Algorithms: time & space Dr. Jeyakesavan Veerasamy The University of Texas at Dallas, USA.
Advertisements

Unix Systems Performance Tuning Project of COSC 513 Name: Qinghui Mu Instructor: Prof. Anvari.
Chapter 9. Performance Management Enterprise wide endeavor Research and ascertain all performance problems – not just DBMS Five factors influence DB performance.
Intel® performance analyze tools Nikita Panov Idrisov Renat.
Lecture 1: Overview of Computers & Programming
Memory Management Chapter 7.
T. E. Potok - University of Tennessee Software Engineering Dr. Thomas E. Potok Adjunct Professor UT Research Staff Member ORNL.
OpenSauce - Vidoc Caveat Emptor!. “OpenSauce”, Wut iz dis? Collection of Open Source solutions Solutions which extend games/software for benefiting End.
JProbe. 1. JProbe Use JProbe Profile –identify method and line level performance bottlenecks Use JProbe Memory Debugger –investigating memory leaks and.
CORK: DYNAMIC MEMORY LEAK DETECTION FOR GARBAGE- COLLECTED LANGUAGES A TRADEOFF BETWEEN EFFICIENCY AND ACCURATE, USEFUL RESULTS.
MPI and C-Language Seminars Seminar Plan  Week 1 – Introduction, Data Types, Control Flow, Pointers  Week 2 – Arrays, Structures, Enums, I/O,
1 Lecture 6 Performance Measurement and Improvement.
Memory Management and Paging CSCI 3753 Operating Systems Spring 2005 Prof. Rick Han.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Memory Management 2010.
Data Partitioning for Reconfigurable Architectures with Distributed Block RAM Wenrui Gong Gang Wang Ryan Kastner Department of Electrical and Computer.
Storage Assignment during High-level Synthesis for Configurable Architectures Wenrui Gong Gang Wang Ryan Kastner Department of Electrical and Computer.
Memory Management Chapter 5.
27-Jun-15 Profiling code, Timing Methods. Optimization Optimization is the process of making a program as fast (or as small) as possible Here’s what the.
30-Jun-15 Profiling. Optimization Optimization is the process of making a program as fast (or as small) as possible Here’s what the experts say about.
Oracle 10g Database Administrator: Implementation and Administration Chapter 14 Proactive Maintenance.
Page 1 © 2001 Hewlett-Packard Company Tools for Measuring System and Application Performance Introduction GlancePlus Introduction Glance Motif Glance Character.
Sitefinity Performance and Architecture
Optimizing RAM-latency Dominated Applications
Analyzing the Energy Efficiency of a Database Server Hanskamal Patel SE 521.
Week 1 Game Design & Development for Mobile Devices.
Module 15: Monitoring. Overview Formulate requirements and identify resources to monitor in a database environment Types of monitoring that can be carried.
Chocolate Bar! luqili. Milestone 3 Speed 11% of final mark 7%: path quality and speed –Some cleverness required for full marks –Implement some A* techniques.
Chapter 1 Algorithm Analysis
Prospector : A Toolchain To Help Parallel Programming Minjang Kim, Hyesoon Kim, HPArch Lab, and Chi-Keung Luk Intel This work will be also supported by.
Introduction Optimizing Application Performance with Pinpoint Accuracy What every IT Executive, Administrator & Developer Needs to Know.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
Parallel Programming Models Jihad El-Sana These slides are based on the book: Introduction to Parallel Computing, Blaise Barney, Lawrence Livermore National.
Final Year Project Interim Presentation Software Visualisation and Comparison Tool Presented By : Shane Lillis, , 4th Year Computer Engineering.
Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint.
Grant Pannell. Intrusion Detection Systems  Attempt to detect unauthorized activity  CIA – Confidentiality, Integrity, Availability  Commonly network-based.
Searching. RHS – SOC 2 Searching A magic trick: –Let a person secretly choose a random number between 1 and 1000 –Announce that you can guess the number.
Profile and optimize your Java code Gabriel Laden CS 146 – Dr. Sin-Min Lee Spring 2004.
Computer Architecture and Operating Systems CS 3230: Operating System Section Lecture OS-8 Memory Management (2) Department of Computer Science and Software.
CSE 303 Concepts and Tools for Software Development Richard C. Davis UW CSE – 12/6/2006 Lecture 24 – Profilers.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
CS 3500 L Performance l Code Complete 2 – Chapters 25/26 and Chapter 7 of K&P l Compare today to 44 years ago – The Burroughs B1700 – circa 1974.
By Teacher Asma Aleisa Year 1433 H.   Goals of memory management  To provide a convenient abstraction for programming.  To allocate scarce memory.
Optimizing CMS Data Formats for Analysis Peerut Boonchokchuay August 11 th,
1 Memory Management Chapter 7. 2 Memory Management Subdividing memory to accommodate multiple processes Memory needs to be allocated to ensure a reasonable.
Introduction to ECE 454 Computer Systems Programming Topics: Lecture topics and assignments Profiling rudiments Lab schedule and rationale Cristiana Amza.
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
Presenting and Analysing your Data CSCI 6620 Spring 2014 Thesis Projects: Chapter 10 CSCI 6620 Spring 2014 Thesis Projects: Chapter 10.
CS5103 Software Engineering Lecture 02 More on Software Process Models.
Basic Memory Management 1. Readings r Silbershatz et al: chapters
Operating Systems: Wrap-Up Questions answered in this lecture: What is an Operating System? Why are operating systems so interesting? What techniques can.
Testing Maturity Model (TMM). Introduction For the past decade, the software industry has put substantial effort in improving the quality of its products.
Virtual Application Profiler (VAPP) Problem – Increasing hardware complexity – Programmers need to understand interactions between architecture and their.
The Process From bare bones to finished product. The Steps Programming Debugging Performance Tuning Optimization.
Improve query performance with the new SQL Server 2016 query store!! Michelle Gutzait Principal Consultant at
Software Engineering Prof. Dr. Bertrand Meyer March 2007 – June 2007 Chair of Software Engineering Tools Fest: MS Project.
CMPT 275 TEAM DIRECTORIES. One Sentence Summary The Study Buddy is: a tool to help users study to improve their grades by simulating a multiple choice.
CSE 340 Computer Architecture Summer 2016 Understanding Performance.
Eliminating External Fragmentation in a Non-Moving Garbage Collector for Java Author: Fridtjof Siebert, CASES 2000 Michael Sallas Object-Oriented Languages.
Algorithm Complexity is concerned about how fast or slow particular algorithm performs.
MSP’05 1 Gated Memory Control for Memory Monitoring, Leak Detection and Garbage Collection Chen Ding, Chengliang Zhang Xipeng Shen, Mitsunori Ogihara University.
Integrated Profiling Tools Presenter Name
Understanding the New PTC System Monitor (PSM/Dynatrace) Application’s Capabilities and Advanced Usage Stephen Vaillancourt PTC Technical Support –Technical.
Software Architecture in Practice
Adaptive Code Unloading for Resource-Constrained JVMs
Closure Representations in Higher-Order Programming Languages
Dynamic Program Analysis
Interpreting Java Program Runtimes
CSE 373: Data Structures and Algorithms
CS5123 Software Validation and Quality Assurance
Presentation transcript:

Software Engineering Prof. Dr. Bertrand Meyer March 2007 – June 2007 Chair of Software Engineering Lecture #20: Profiling NetBeans Profiler 6.0

Software Engineering, lecture #20: Profiling 2 Profiling Problem  Large programs  Many objects  Multiple threads  Very hard to understand  Performance problems hard to identify Goal Understand CPU and Memory usage

Software Engineering, lecture #20: Profiling /20 Rule  80% of run-time is spent in 20% of the code  Focus on the 20%, since optimization of the 80% will not provide overall benefit  Programs are too complex, do not spend time optimizing the thousands of code paths that are not relevant  Use a tool! You do not know the relevant 20%!

Software Engineering, lecture #20: Profiling 4 4 NetBeans Profiler  Gives accurate results of program analysis  Data-mining techniques to deal with the large data sets  Free NetBeans module

Software Engineering, lecture #20: Profiling 5 5 Demo  Simple GUI application  Algorithm that sorts an array  Works with inputs of length 50  Gets slow with input of length 500 We will try to find out why!

Software Engineering, lecture #20: Profiling 6 Improving Performance Now that you have found the hotspots, how do you optimize your code? Several ways:  Change algorithms  Cache values  Reduce the amount of drawing per frame  Use the predicted idle time of the program

Software Engineering, lecture #20: Profiling 7 7 Conclusion Profile before you Optimize! Get NetBeans at:

Software Engineering, lecture #20: Profiling 8 8 General Procedures Any operation that is perceptibly slow to the user. Focus on the functionality used most often. If large percentage of program spent in small portion of code, look for low-level optimizations If no obvious hotspots, performance may be improved through high-level improvements (i.e. architectural changes )

Software Engineering, lecture #20: Profiling 9 9 Profiler – Options Monitor Application  High-level information about the target JVM, thread activity and memory usage.  Helpful for program and JVM analysis Analyze Performance  Detailed data on program performance  Analyze entire application, part of application, or startup performance  Useful for profiling the different life-cycles of your program

Software Engineering, lecture #20: Profiling Profiler – Options Analyze Code Fragment Performance  Extremely detailed data on a piece of code  Useful for analyzing low-level code and checking different optimizations Analyze Memory Usage  Data on object allocation and garbage collection  Useful for analyzing memory usage Run Custom Profiling  Profiling collects an overwhelming amount of data  Filter the data and what to analyze depending on what you want