Profiling Applications in Luis I. Gomez 4.18. BR Profiler BR Profiler Feature –Components –Profiler types –Profiling an application –Interpreting your.

Slides:



Advertisements
Similar presentations
Mercury Quality Center 9.0 Training Material
Advertisements

DOS & Windows O/s Prof. Sujata Rao Less 5.
Sunday Business Systems Asset Tracking Database Control Calibrated Equipment Manage Preventive Maintenance Maintenance Tracking.
A batch file is a file that contains a number of DOS commands, each of which could be run individually from the command prompt. By putting them into a.
2009 Spring Conference Luis I. Gomez. Integrating Tools for BR Dev  SourceSafe  Live vs. development system  ExamDiff Pro  MyEdit  Code templates.
Lecture 4 Basic Scripting. Administrative  Files on the website will be posted in pdf for compatibility  Website is now mirrored at:
Adding a Crystal Report to M3 This presentation will assist you in adding a custom Crystal report into Millennium 3.
Essence of programming  Branching  Repetitions.
Crystal Reports In Depth Session XII. Crystal Reports - In Depth Reports outside of halFILE Selecting an ODBC Datasource Selecting a second table and.
Why python? Automate processes Batch programming Faster Open source Easy recognition of errors Good for data management What is python? Scripting programming.
Programming Types of Testing.
Programming Logic and Design Fourth Edition, Introductory
Feature requests for Case Manager By Spar Nord Bank A/S IBM Insight 2014 Spar Nord Bank A/S1.
Library Staff Training
Guide to Oracle10G1 Introduction To Forms Builder Chapter 5.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
Customizing Word Microsoft Office Word 2007 Illustrated Complete.
1 Chapter 4 The Fundamentals of VBA, Macros, and Command Bars.
Feb 2015 QCWiz Capability QE&A Automation COE.
Chapter 8: I/O Streams and Data Files. In this chapter, you will learn about: – I/O file stream objects and functions – Reading and writing character-based.
Guide to Linux Installation and Administration, 2e1 Chapter 6 Using the Shell and Text Files.
Chapter 11 ASP.NET JavaScript, Third Edition. 2 Objectives Learn about client/server architecture Study server-side scripting Create ASP.NET applications.
Introduction to SAS Math 3200 Jan Jimin Ding.
Web FOCUS Integration with Microsoft Office SharePoint By: Kelvin Ruiz NASA – Kennedy Space Center.
Creating a Console Application with Visual Studio
Batch Import/Export/Restore/Archive
Dataface API Essentials Steve Hannah Web Lite Solutions Corp.
Context\Context.wb Library Functions.  Data Driven Programming.  Enhance Existing programs.  Quickly Develop new Programs.  Powerful Set of Library.
Linux Operations and Administration
Computer Systems Week 10: File Organisation Alma Whitfield.
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.
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
Structured COBOL Programming, Stern & Stern, 9th edition
1 PHP and MySQL. 2 Topics  Querying Data with PHP  User-Driven Querying  Writing Data with PHP and MySQL PHP and MySQL.
Higher Grade Computing Studies 2. Languages and Environments Higher Computing Software Development S. McCrossan 1 Classification of Languages 1. Procedural.
Codeigniter is an open source web application. It occupies a very small amount of space in the memory and is most useful for developers who aim to develop.
WEKA - Explorer (sumber: WEKA Explorer user Guide for Version 3-5-5)
Shell Scripting Introduction. Agenda What is Shell Scripting? Why use Shell Scripting? Writing and Running a Shell Script Basic Commands -ECHO - REM.
Microsoft Access Lesson 1 Lexington Technology Center February 11, 2003 Bob Herring On the Web at
Automating Database Processing Chapter 6. Chapter Introduction Design and implement user-friendly menu – Called navigation form Macros – Automate repetitive.
Items 14.2 Seminar 5 March Seminar Items 2 Session Agenda Item record - structural changes Call No. Filing Item sorting routines Item Form.
Session 1 SESSION 1 Working with Dreamweaver 8.0.
Introduction of Geoprocessing Topic 7a 4/10/2007.
Command Prompt Chapter 10 Introduction to Batch Files Richard Goldman February 7, 2000.
Just as there are many human languages, there are many computer programming languages that can be used to develop software. Some are named after people,
Agenda Regular Expressions (Appendix A in Text) –Definition / Purpose –Commands that Use Regular Expressions –Using Regular Expressions –Using the Replacement.
Chapter 5-1. Chapter 5-2 Chapter 5: Database Forms and Reports Introduction Forms Reports.
Chapter 5-1. Chapter 5-2 Chapter 5: Database Forms and Reports Introduction Forms Reports.
Create Lists in Millennium Jenny Schmidt SWITCH Library Consortium.
Items 12.3 to 14.2 Seminar Seminar Items 2 Session Agenda Item Record - structural changes Item Form Call No. Filing Item Sorting routines Item.
I Power Higher Computing Software Development Development Languages and Environments.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
] COREY PEARSON [ ASUG INSTALLATION MEMBER MEMBER SINCE: 2008 CHAVONE JACOBS [ ASUG INSTALLATION MEMBER MEMBER SINCE: 2003 ALLAN FISHER [ ASUG INSTALLATION.
Micro Focus Net Express IDE. Doug Evans GDT 2007 International User Conference: Evolving the Legacy July 29 – August 1  Lake Las Vegas, Nevada Net Express.
AAP Support Training Anritsu CAT Support – North America
1 Week # 4 Introduction to PDM PDM is a workbench environment that lets programmers and system operators navigate the three levels of the AS/400’s object-based.
Introduction of Geoprocessing Lecture 9 3/24/2008.
Chapter – 8 Software Tools.
ORAFACT Text Processing. ORAFACT Searching Inside Files grep - searches for patterns within files grep [options] [[-e] pattern] filename [...] -n shows.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
1 Chapter 6: Creating Oracle Data Block Forms. 2 Forms  Application with a graphical user interface that looks like a paper form  Used to insert, update,
Reference Documents4.6fi_12.1 Chapter 12 Reference Documents During the normal course of business, repetitive periodic accounting transactions must be.
Solvency II Tripartite template V2 and V3 Presentation of the conversion tools proposed by FundsXML France.
Topic 2: Hardware and Software
14 Compilers, Interpreters and Debuggers
Creating Custom Reports, Macros, and Switchboards
Bulk Loading Documents* into Windchill
Introduction to Customizing Reports in SAP
TriFoil System Overview From Global Directions, Inc.
Tutorial 12 Managing and Securing a Database
Presentation transcript:

Profiling Applications in Luis I. Gomez 4.18

BR Profiler BR Profiler Feature –Components –Profiler types –Profiling an application –Interpreting your results Customizing your Results –Profiler.wb –GUI editor (MyEdit or Notepad++) –Profiler.mdb

BR Profiler BR Profiler Feature –Components –Profiler types –Profiling an application –Interpreting your results

BR 4.18 Profiler – Components BR.EXE –Version required PROFILER.DOC –Documentation PROFILER.EXE –Utility to extract results.

BR 4.18 Profiler – Types SAMPLED –DEBUG SAMPLED C:\WORK\SAMPLED.TXT –Itemized profile of each and every execution clause –Can be very large TIMED –DEBUG TIMED C:\WORK\SAMPLED.TXT –Summary of Clauses, Functions & Go Subs –Much smaller

BR 4.18 Profiler – Types STOP –DEBUG STOP –Stops profiling

Profiling an Application. Load BR Prepare for profiling –Start BR –Load desired application Start Profiler –You may start before the application runs –CTRL-A at a desired location –Imbed the profiler inside your application

Profiling an Application. Clauses –List Clause A clause is parsed by a ` (Not Necessarily a line)

Interpreting your results. PROFILER.EXE –PROFILER.EXE filename >RESULTS.TXT –PROFILER.EXE filename RAW >RAW.TXT –PROFILER.EXE filename PRETTY >PRETTY.TXT PROFILER.BAT –Simple Batch File to automate this complex step

Interpreting your results. DEFAULT –Simple Report with Totals RAW –Extracts all of the information for review PRETTY –Improved output over the default. Viewing Results –Results are Tab Delimited for easy viewing

Customizing your results. Profiler.wb –CLS application (Available for general use) –Required BR –Enter the “C:\WORK\PROFILE.TXT” file

Customizing your results. Output Results (Tab Delimited Reports) –Filename-Modules.txt –Filename-Results.txt –Filename-Stats.txt –Filename-Type.txt Source Code Results –Filename-[Full Path Name].brs

Customizing – Modules.txt Filename-Modules.txt –Each module is assigned a # –0 – (Unsaved) Proc or similar –1 – Usually the “Primary program” –2 – ?? Libraries or “Other programs” Other files refer to modules by # Nice summary –Program names –Library names

Customizing – Results.txt Filename-Results.txt –Itemized results Fields –Module - Module # –Line- Program line # –Clause- Program line clause # –Spent- Time spent on clause –Accrued- Total time (Timeline) –Function- Function name (Timed) –Gosub- Gosub name (Timed)

Customizing – Stats.txt Filename-Stats.txt –Totals based on profiler data –Combines source code to determine Clause type (Print, Input, etc) SAMPLED –Provides statistics based on # & time spent TIMED –Provides Statistics based on # of executions

Customizing – Type.txt Filename-Type.txt –Totals based on profiler data –Combines source code to determine Clause type (Print, Input, etc) –Statistics based on clause type Identify the “cost” of BR commands. Ignore things like “User Input”

BR 4.18 Profiler – GUI Editor Filename-[Full Path Name].BRS –Complete source code extracted –List clause Fields –Line # –Clause –Total # times executed –Time spent (If Sampled) –Detailed clause Edit using MyEdit or Notepad++

BR 4.18 Profiler – Profiler.mdb Simple MS-Access database Automatically links to –C:\WORK\PROFILE-MODULES.TXT –C:\WORK\PROFILE-RESULTS.TXT –C:\WORK\PROFILE-STATS.TXT –C:\WORK\PROFILE-TYPE.TXT

BR 4.18 Profiler – Profiler.mdb How to use –Create your profile reports –Copy the results to above file names –Execute query This is a sample –you can be more creative!

Sample Application PRO-SLOW.WB –Sample application parses & displays the words used in STATUS ALL. –Takes roughly 30 seconds to execute Most executed –Lines 4040,4050, 3020,3040,3100 Longest execution time –Line 3070,4040,4050,4020,321

Sample Application - Problems Poor Placement –FNSORT_WORDS This routine is executed many times! Ultimately, it is only needed at the very end. Moved to line 395

Sample Application - Problems Complex Line –3040 – SREP & UPRC$ One of the most executed lines Relatively slow Very complex & hard to read! Move UPRC$ & break out SREP

Sample Application - Problems Longest Execution Time –321 PRINT # Print is very slow in GUI Mode No need to display 1062 Times! –3070 PRINT # & SUM Print is very slow in GUI Mode No Need to Display 7048 Times Could be consolidated with 321 Create New Counter instead of using SUM.

Sample Application - Solution PRO-FAST.WB –Application with Solutions applied –Time reduced from 30 seconds to 1 Line 3040 –WORD$=SREP$(SREP$(SREP$(TRIM$(LINE$(1:NMARKER-1)),'"',""),",",""),"_","") –Is it Worth Faster Execution for a complex line? –Sometimes it’s actually faster to split it up. (Not this time)

Sample Application - Solution How Far to Go? –Once we have 30 times improvement do we care? –330 – “Stretchy Array” Is somewhat slow.

Profiler – Summary Dramatically improve performance Identify Problem Areas Learn about the BR Internals Extend capabilities with your own code