SlideShare a Scribd company logo
New Development ToolsNew Development Tools
Module 6
PC-Hosted Development ToolsPC-Hosted Development Tools
5 – 2
Tools TNS/R TNS/E
C/C++ compiler
(Guardian, OSS)
c89.exe –Wtarget=tns/r c89.exe –Wtarget=tns/e
pTAL compiler
(Guardian)
ptal.exe eptal.exe
COBOL compiler
(Guardian, OSS)
nmcobol.exe ecobol.exe
Non-PIC linker nld.exe not-supported
PIC linker ld.exe eld
Object File Utility noft.exe enoft.exe
Enterprise Toolkit (ETK) R2.x, R3.0* or later R3.0* or later
Tandem Dev Suite (TDS) Available not-supported
Visual Inspect (GUI
Debugger)
R2.x, R3.0* or later R3.0* or later
* Supports both TNS/R as well as TNS/E platform.
Code CoverageCode Coverage
◦ Available with COBOL, pTAL, and C/C++
compilers on Integrity NonStop servers
◦ Creates instrumented object files containing
extra code
◦ Records which functions and blocks are
executed
◦ Records how many times each is executed
◦ The code coverage report is a set of HTML
files viewable with any standard HTML
browser
6 - New Development Tools 3
Profile Guided Optimization (PGO)Profile Guided Optimization (PGO)
◦ pTAL and C/C++ compilers only
 Incorporate profiling information from program
execution into optimization
 Level 2 optimization only
6 - New Development Tools 4
ApplicabilityApplicability
◦ Can be used with:
 OSS processes
 Guardian processes
 Active and passive process pairs
 Mixed language processes
 Processes with embedded NonStop SQL/MP or
NonStop SQL/MX
6 - New Development Tools 5
UseUse
◦ No source code changes are needed to
instrument an application.
◦ Changes are in the commands used to
compile and link the application
 Separate compiler directives for Code Coverage
and for Profile Guided Optimization
◦ You may instrument only a subset of your
application
 specify the compiler options for only that subset of
your source files.
6 - New Development Tools 6
Code Coverage Process FlowCode Coverage Process Flow
6 - New Development Tools 7
Workstation
Source Compiler Execution
profmrg DPI**
Instrumented
Object
Raw
data
Raw
data
Execution
codecov
SPI*
HTML
*Static Profiling Information **Dynamic Profiling Information
copy
copy
Installing the Code Cover UtilityInstalling the Code Cover Utility
◦ Program codecov runs on a Windows
workstation
◦ codecov:
 Copy $SYSTEM.ZCODECOV.T0746SET to
workstation
 Change the name to setup.exe
 Run setup.exe
 Creates Program FilesHewlett-
PackardCodeCoveragecodecov.exe
◦ Add
Program FilesHewlett-PackardCodeCoverage to PATH
6 - New Development Tools 8
Building an ApplicationBuilding an Application
for Code Coveragefor Code Coverage
◦ Compiler option:
 Guardian: CODECOV
 OSS: –Wcodecov
 Windows:
 c89, ecobol: –Wcodecov
 eptal: –codecov
◦ Creates or updates the Static Profiling
Information (SPI) file:
 Guardian: PGOSPI, code 180
 OSS/Windows: pgopti.spi
◦ If link editing manually:
 Use –l pgo to reference the pgodll library
6 - New Development Tools 9
Running the ApplicationRunning the Application
◦ Execute as normal
◦ Process creates a new raw data file for each
execution:
 Guardian: ZZPFxxxx, code 180, in current default
subvolume
 OSS: ZZPFxxxx.dyn in current working directory
◦ Creates ZZPELOG if any errors during
execution
6 - New Development Tools 10
Code Coverage Sample 1 (1 of 8)Code Coverage Sample 1 (1 of 8)
 101> ccomp/in mainc/mainco;codecov,optimize 1
 102> ccomp/in callc/callco;codecov,optimize 1
 103> eld -o calcator mainco callco $system.system.ccplmain -l crtl -l
cre -l pgo
 104> run calcator
 YOU HAVE JUST STARTED THE PROCESS.
 ENTER FIRST NUMBER [or 0 to stop]: 12
 ENTER THE SECOND NUMBER: 34
 THE NUMBERS ENTERED WERE: 12 & 34
 THE TOTAL IS: 46
 ENTER FIRST NUMBER [or 0 to stop]: 0
 105> fileinfo
 $FC1.TGCPU
 CODE EOF LAST MODIFIED OWNER RWEP PExt SExt
 PGOSPI 180 405 07AUG2008 13:50 34,26 OOOO 14 42
 PGOSPL 180 0 07AUG2008 13:50 34,26 OOOO 14 42
 ZZPF2B81 180 840 07AUG2008 13:55 34,26 OOOO 14 42
6 - New Development Tools 11
Any optimization level
Added DDL
Created files
Execute all the code
Code Coverage Sample 1 (2 of 8)Code Coverage Sample 1 (2 of 8)
 106> profmrg
 profmrg - T0747H01
 Copyright 2006 Hewlett-Packard Company.
 ruby.$system.system.profmrg: looking at dynamic file: RUBY.
$FC1.TGCPU.ZZPF2B81
 107> fileinfo pgodpi
 $FC1.TGCPU
 CODE EOF LAST MODIFIED OWNER RWEP PExt SExt
 PGODPI 80 1340 07AUG2008 14:01 34,26 OOOO 14 42
6 - New Development Tools 12
Dynamic Profiling file
Code Coverage Sample 1 (3 of 8)Code Coverage Sample 1 (3 of 8)
 On the Workstation:
 C:CodeProfilingUtilities>dir pgo*
 08/07/2008 04:54 PM 1,340 pgodpi
 08/07/2008 04:54 PM 405 pgospi
 2 File(s) 1,745 bytes
 0 Dir(s) 43,714,383,872 bytes free
 C:CodeProfilingUtilities>codecov -spi pgospi -dpi pgodpi -host
204.160.41.45 -login edu.terryg -maddr terry.gunter@hp.com -prj
SampleRun
 codecov - T0746H01
 Copyright 2006 Hewlett-Packard Company.
 Password for edu.terryg on 204.160.41.45:
 33% .. 67% .. 100%
 C:CodeProfilingUtilities>dir c*
 08/07/2008 05:04 PM <DIR> CodeCoverage
 08/07/2008 05:12 PM 355 CODE_COVERAGE.HTML
6 - New Development Tools 13
Files copied from NonStop
Code Coverage Sample 1 (4 of 8)Code Coverage Sample 1 (4 of 8)
6 - New Development Tools 14
Code Coverage Sample 1 (5 of 8)Code Coverage Sample 1 (5 of 8)
6 - New Development Tools 15
Code Coverage Sample 1 (6 of 8)Code Coverage Sample 1 (6 of 8)
6 - New Development Tools 16
Code Coverage Sample 1 (7 of 8)Code Coverage Sample 1 (7 of 8)
6 - New Development Tools 17
Code Coverage Sample 1 (8 of 8)Code Coverage Sample 1 (8 of 8)
6 - New Development Tools 18
Code Coverage Sample 2 (1 of 5)Code Coverage Sample 2 (1 of 5)
 135> run calcator
 135..
 YOU HAVE JUST STARTED THE PROCESS.
 ENTER FIRST NUMBER [or 0 to stop]: 0
 136>
6 - New Development Tools 19
Execute part of the code
Code Coverage Sample 2 (2 of 5)Code Coverage Sample 2 (2 of 5)
6 - New Development Tools 20
Code Coverage Sample 2 (3 of 5)Code Coverage Sample 2 (3 of 5)
6 - New Development Tools 21
Block not executed
Code Coverage Sample 2 (4 of 5)Code Coverage Sample 2 (4 of 5)
6 - New Development Tools 22
Function not executed
Code Coverage Sample 2 (5 of 5)Code Coverage Sample 2 (5 of 5)
6 - New Development Tools 23
Counts option
Profile Guided Optimization Process FlowProfile Guided Optimization Process Flow
6 - New Development Tools 24
Source Compiler Execution
profmrg DPI*
Instrumented
Object
Raw
data
Raw
data
Execution
*Dynamic Profiling Information
Compiler Optimized
Object
profgen option
profuse option
Building an Application for PGOBuilding an Application for PGO
◦ Available only for epTAL, C/C++
◦ Compiler option:
 Guardian: PROFGEN
 OSS: –Wprofgen
 Windows:
 c89, ecobol: –Wprofgen
 eptal: –profgen
 Must use level 2 optimization
◦ If link editing manually:
 Use –l pgo to reference the pgodll library
6 - New Development Tools 25
Using PGOUsing PGO
◦ Compiler option:
 Guardian: PROFUSE
 OSS: –Wprofuse
 Windows:
 c89, ecobol: –Wprofuse
 eptal: –profuse
 profuse option may specify the name of the DPI file if not
default name or location
6 - New Development Tools 26
PGO Sample Run (1 of 2)PGO Sample Run (1 of 2)
 62> ccomp/in mainc/mainco;profgen,optimize 2
 63> ccomp/in callc/callco;profgen,optimize 2
 64> eld -o calcatr1 mainco callco $system.system.ccplmain
-l crtl -l cre -l pgo
 65> fileinfo calc*
 $FC1.TGCPU
 CODE EOF LAST MODIFIED OWNER RWEP PExt SExt
 CALCATR1 800 21416 07AUG2008 13:10 34,26 OOOO 28 518
 66> run calcatr1
 PID: 1,1063 RUBY.$FC1.TGCPU.CALCATR1
 STOPPED: 1,1063
 CPU time: 0:00:00.003
 67> fileinfo zz*
 $FC1.TGCPU
 CODE EOF LAST MODIFIED OWNER RWEP PExt SExt
 ZZPFN0L6 180 720 07AUG2008 13:13 34,26 OOOO 14 42
6 - New Development Tools 27
PGO Sample Run (2 of 2)PGO Sample Run (2 of 2)
 68> profmrg
 profmrg - T0747H01
 ruby.$system.system.profmrg: looking at dynamic file: RUBY.
$FC1.TGCPU.ZZPFN0L6
 69> fileinfo p*
 CODE EOF LAST MODIFIED OWNER RWEP PExt SExt
 PGODPI 180 1220 07AUG2008 13:16 34,26 OOOO 14 42
 70> ccomp/in mainc/mainco;profuse,optimize 2
 71> ccomp/in callc/calcco;profuse,optimize 2
 72> eld -o calcatr2 mainco callco $system.system.ccplmain
-l crtl -l cre
 73> run calcatr2
 PID: 1,1049 RUBY.$FC1.TGCPU.CALCATR2
 STOPPED: 1,1049 CPU time: 0:00:00.002
 74> fileinfo calc*
 CODE EOF LAST MODIFIED OWNER RWEP PExt SExt
 CALCATR1 800 21416 07AUG2008 13:10 34,26 OOOO 28 518
 CALCATR2 800 20896 07AUG2008 13:20 34,26 OOOO 28 518
6 - New Development Tools 28
Questions ?Questions ?
29
6 - New Development Tools 30

More Related Content

PDF
BPF / XDP 8월 세미나 KossLab
PDF
Defcon 2011 network forensics 解题记录
PDF
Global Interpreter Lock: Episode I - Break the Seal
PPTX
PPTX
How to lock a Python in a cage? Managing Python environment inside an R project
PDF
Zone IDA Proc
PDF
ゆるふわコンピュータ (IPSJ-ONE2017)
BPF / XDP 8월 세미나 KossLab
Defcon 2011 network forensics 解题记录
Global Interpreter Lock: Episode I - Break the Seal
How to lock a Python in a cage? Managing Python environment inside an R project
Zone IDA Proc
ゆるふわコンピュータ (IPSJ-ONE2017)

What's hot (20)

PDF
Debugging 2013- Jesper Brouer
PDF
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
PDF
Feldo: Function Event Listing and Dynamic Observing for Detecting and Prevent...
PDF
Functional and scale performance tests using zopkio
PDF
Large scale machine learning projects with r suite
PDF
Kernel Recipes 2018 - 10 years of automated evolution in the Linux kernel - J...
PDF
Performance Wins with eBPF: Getting Started (2021)
PDF
Advanced cfg bypass on adobe flash player 18 defcon russia 23
PDF
Kernel Recipes 2018 - A year of fixing Coverity issues all over the Linux ker...
ODP
Design and implementation_of_shellcodes
PDF
The origin: Init (compact version)
PDF
[ZigBee 嵌入式系統] ZigBee 應用實作 - 使用 TI Z-Stack Firmware
PDF
Managing large scale projects in R with R Suite
PDF
#Include os - From bootloader to REST API with the new C++
PDF
Kernel Recipes 2015: Speed up your kernel development cycle with QEMU
PDF
Kernel Recipes 2019 - BPF at Facebook
PDF
Embedded Recipes 2019 - Introduction to JTAG debugging
PDF
Intel Nervana Graph とは?
PDF
Zn task - defcon russia 20
PDF
Implementation of the ZigBee ZCL Reporting Configuration Features
Debugging 2013- Jesper Brouer
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Feldo: Function Event Listing and Dynamic Observing for Detecting and Prevent...
Functional and scale performance tests using zopkio
Large scale machine learning projects with r suite
Kernel Recipes 2018 - 10 years of automated evolution in the Linux kernel - J...
Performance Wins with eBPF: Getting Started (2021)
Advanced cfg bypass on adobe flash player 18 defcon russia 23
Kernel Recipes 2018 - A year of fixing Coverity issues all over the Linux ker...
Design and implementation_of_shellcodes
The origin: Init (compact version)
[ZigBee 嵌入式系統] ZigBee 應用實作 - 使用 TI Z-Stack Firmware
Managing large scale projects in R with R Suite
#Include os - From bootloader to REST API with the new C++
Kernel Recipes 2015: Speed up your kernel development cycle with QEMU
Kernel Recipes 2019 - BPF at Facebook
Embedded Recipes 2019 - Introduction to JTAG debugging
Intel Nervana Graph とは?
Zn task - defcon russia 20
Implementation of the ZigBee ZCL Reporting Configuration Features
Ad

Similar to Mod06 new development tools (20)

PDF
Debugging Hung Python Processes With GDB
PPTX
C# Production Debugging Made Easy
PDF
Debugging Python with gdb
PDF
Proposalforootconf
PPTX
How to Install Odoo 18 with Pycharm - Odoo 18 Slides
PDF
Princeton Wintersession: Software Quality Assurance Tooling
PPT
Basic Linux kernel
PDF
Android Boot Time Optimization
PDF
Linux Security APIs and the Chromium Sandbox (SwedenCpp Meetup 2017)
PDF
Kernel Debugging & Profiling
PPT
Nagios Conference 2013 - Troy Lea - Leveraging and Understanding Performance ...
PDF
Kernel Debugging & Profiling
PPTX
R sharing 101
PPT
Developing new zynq based instruments
PPT
Virtual platform
PDF
Mesa and Its Debugging, Вадим Шовкопляс
PDF
Programming exercises I2C for STM32mp157
PDF
Automating with NX-OS: Let's Get Started!
PPTX
Code Profiling in Odoo 18 - Odoo 18 Slides
PPT
Cloug Undocumented Secrets Black Magic
Debugging Hung Python Processes With GDB
C# Production Debugging Made Easy
Debugging Python with gdb
Proposalforootconf
How to Install Odoo 18 with Pycharm - Odoo 18 Slides
Princeton Wintersession: Software Quality Assurance Tooling
Basic Linux kernel
Android Boot Time Optimization
Linux Security APIs and the Chromium Sandbox (SwedenCpp Meetup 2017)
Kernel Debugging & Profiling
Nagios Conference 2013 - Troy Lea - Leveraging and Understanding Performance ...
Kernel Debugging & Profiling
R sharing 101
Developing new zynq based instruments
Virtual platform
Mesa and Its Debugging, Вадим Шовкопляс
Programming exercises I2C for STM32mp157
Automating with NX-OS: Let's Get Started!
Code Profiling in Odoo 18 - Odoo 18 Slides
Cloug Undocumented Secrets Black Magic
Ad

More from Peter Haase (9)

PPTX
Digitalisierung - Datenschutz - IT-Sicherheit
PPTX
EU General Data Protection Regulation
PPTX
Sicherheitsprüfung für HP NonStop Systeme
PPT
Mod05 application migration
PPT
Mod04 debuggers
PPT
Mod03 linking and accelerating
PPT
Mod02 compilers
PPT
Mod01 tns e overview
PPT
Mod00 introduction
Digitalisierung - Datenschutz - IT-Sicherheit
EU General Data Protection Regulation
Sicherheitsprüfung für HP NonStop Systeme
Mod05 application migration
Mod04 debuggers
Mod03 linking and accelerating
Mod02 compilers
Mod01 tns e overview
Mod00 introduction

Recently uploaded (20)

PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Getting Started with Data Integration: FME Form 101
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Spectroscopy.pptx food analysis technology
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Machine Learning_overview_presentation.pptx
PDF
Approach and Philosophy of On baking technology
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Mushroom cultivation and it's methods.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Encapsulation theory and applications.pdf
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
August Patch Tuesday
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
A comparative study of natural language inference in Swahili using monolingua...
Univ-Connecticut-ChatGPT-Presentaion.pdf
Network Security Unit 5.pdf for BCA BBA.
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Getting Started with Data Integration: FME Form 101
Reach Out and Touch Someone: Haptics and Empathic Computing
Spectral efficient network and resource selection model in 5G networks
Spectroscopy.pptx food analysis technology
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Machine Learning_overview_presentation.pptx
Approach and Philosophy of On baking technology
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Mushroom cultivation and it's methods.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Unlocking AI with Model Context Protocol (MCP)
Encapsulation theory and applications.pdf
gpt5_lecture_notes_comprehensive_20250812015547.pdf
August Patch Tuesday

Mod06 new development tools

  • 1. New Development ToolsNew Development Tools Module 6
  • 2. PC-Hosted Development ToolsPC-Hosted Development Tools 5 – 2 Tools TNS/R TNS/E C/C++ compiler (Guardian, OSS) c89.exe –Wtarget=tns/r c89.exe –Wtarget=tns/e pTAL compiler (Guardian) ptal.exe eptal.exe COBOL compiler (Guardian, OSS) nmcobol.exe ecobol.exe Non-PIC linker nld.exe not-supported PIC linker ld.exe eld Object File Utility noft.exe enoft.exe Enterprise Toolkit (ETK) R2.x, R3.0* or later R3.0* or later Tandem Dev Suite (TDS) Available not-supported Visual Inspect (GUI Debugger) R2.x, R3.0* or later R3.0* or later * Supports both TNS/R as well as TNS/E platform.
  • 3. Code CoverageCode Coverage ◦ Available with COBOL, pTAL, and C/C++ compilers on Integrity NonStop servers ◦ Creates instrumented object files containing extra code ◦ Records which functions and blocks are executed ◦ Records how many times each is executed ◦ The code coverage report is a set of HTML files viewable with any standard HTML browser 6 - New Development Tools 3
  • 4. Profile Guided Optimization (PGO)Profile Guided Optimization (PGO) ◦ pTAL and C/C++ compilers only  Incorporate profiling information from program execution into optimization  Level 2 optimization only 6 - New Development Tools 4
  • 5. ApplicabilityApplicability ◦ Can be used with:  OSS processes  Guardian processes  Active and passive process pairs  Mixed language processes  Processes with embedded NonStop SQL/MP or NonStop SQL/MX 6 - New Development Tools 5
  • 6. UseUse ◦ No source code changes are needed to instrument an application. ◦ Changes are in the commands used to compile and link the application  Separate compiler directives for Code Coverage and for Profile Guided Optimization ◦ You may instrument only a subset of your application  specify the compiler options for only that subset of your source files. 6 - New Development Tools 6
  • 7. Code Coverage Process FlowCode Coverage Process Flow 6 - New Development Tools 7 Workstation Source Compiler Execution profmrg DPI** Instrumented Object Raw data Raw data Execution codecov SPI* HTML *Static Profiling Information **Dynamic Profiling Information copy copy
  • 8. Installing the Code Cover UtilityInstalling the Code Cover Utility ◦ Program codecov runs on a Windows workstation ◦ codecov:  Copy $SYSTEM.ZCODECOV.T0746SET to workstation  Change the name to setup.exe  Run setup.exe  Creates Program FilesHewlett- PackardCodeCoveragecodecov.exe ◦ Add Program FilesHewlett-PackardCodeCoverage to PATH 6 - New Development Tools 8
  • 9. Building an ApplicationBuilding an Application for Code Coveragefor Code Coverage ◦ Compiler option:  Guardian: CODECOV  OSS: –Wcodecov  Windows:  c89, ecobol: –Wcodecov  eptal: –codecov ◦ Creates or updates the Static Profiling Information (SPI) file:  Guardian: PGOSPI, code 180  OSS/Windows: pgopti.spi ◦ If link editing manually:  Use –l pgo to reference the pgodll library 6 - New Development Tools 9
  • 10. Running the ApplicationRunning the Application ◦ Execute as normal ◦ Process creates a new raw data file for each execution:  Guardian: ZZPFxxxx, code 180, in current default subvolume  OSS: ZZPFxxxx.dyn in current working directory ◦ Creates ZZPELOG if any errors during execution 6 - New Development Tools 10
  • 11. Code Coverage Sample 1 (1 of 8)Code Coverage Sample 1 (1 of 8)  101> ccomp/in mainc/mainco;codecov,optimize 1  102> ccomp/in callc/callco;codecov,optimize 1  103> eld -o calcator mainco callco $system.system.ccplmain -l crtl -l cre -l pgo  104> run calcator  YOU HAVE JUST STARTED THE PROCESS.  ENTER FIRST NUMBER [or 0 to stop]: 12  ENTER THE SECOND NUMBER: 34  THE NUMBERS ENTERED WERE: 12 & 34  THE TOTAL IS: 46  ENTER FIRST NUMBER [or 0 to stop]: 0  105> fileinfo  $FC1.TGCPU  CODE EOF LAST MODIFIED OWNER RWEP PExt SExt  PGOSPI 180 405 07AUG2008 13:50 34,26 OOOO 14 42  PGOSPL 180 0 07AUG2008 13:50 34,26 OOOO 14 42  ZZPF2B81 180 840 07AUG2008 13:55 34,26 OOOO 14 42 6 - New Development Tools 11 Any optimization level Added DDL Created files Execute all the code
  • 12. Code Coverage Sample 1 (2 of 8)Code Coverage Sample 1 (2 of 8)  106> profmrg  profmrg - T0747H01  Copyright 2006 Hewlett-Packard Company.  ruby.$system.system.profmrg: looking at dynamic file: RUBY. $FC1.TGCPU.ZZPF2B81  107> fileinfo pgodpi  $FC1.TGCPU  CODE EOF LAST MODIFIED OWNER RWEP PExt SExt  PGODPI 80 1340 07AUG2008 14:01 34,26 OOOO 14 42 6 - New Development Tools 12 Dynamic Profiling file
  • 13. Code Coverage Sample 1 (3 of 8)Code Coverage Sample 1 (3 of 8)  On the Workstation:  C:CodeProfilingUtilities>dir pgo*  08/07/2008 04:54 PM 1,340 pgodpi  08/07/2008 04:54 PM 405 pgospi  2 File(s) 1,745 bytes  0 Dir(s) 43,714,383,872 bytes free  C:CodeProfilingUtilities>codecov -spi pgospi -dpi pgodpi -host 204.160.41.45 -login edu.terryg -maddr terry.gunter@hp.com -prj SampleRun  codecov - T0746H01  Copyright 2006 Hewlett-Packard Company.  Password for edu.terryg on 204.160.41.45:  33% .. 67% .. 100%  C:CodeProfilingUtilities>dir c*  08/07/2008 05:04 PM <DIR> CodeCoverage  08/07/2008 05:12 PM 355 CODE_COVERAGE.HTML 6 - New Development Tools 13 Files copied from NonStop
  • 14. Code Coverage Sample 1 (4 of 8)Code Coverage Sample 1 (4 of 8) 6 - New Development Tools 14
  • 15. Code Coverage Sample 1 (5 of 8)Code Coverage Sample 1 (5 of 8) 6 - New Development Tools 15
  • 16. Code Coverage Sample 1 (6 of 8)Code Coverage Sample 1 (6 of 8) 6 - New Development Tools 16
  • 17. Code Coverage Sample 1 (7 of 8)Code Coverage Sample 1 (7 of 8) 6 - New Development Tools 17
  • 18. Code Coverage Sample 1 (8 of 8)Code Coverage Sample 1 (8 of 8) 6 - New Development Tools 18
  • 19. Code Coverage Sample 2 (1 of 5)Code Coverage Sample 2 (1 of 5)  135> run calcator  135..  YOU HAVE JUST STARTED THE PROCESS.  ENTER FIRST NUMBER [or 0 to stop]: 0  136> 6 - New Development Tools 19 Execute part of the code
  • 20. Code Coverage Sample 2 (2 of 5)Code Coverage Sample 2 (2 of 5) 6 - New Development Tools 20
  • 21. Code Coverage Sample 2 (3 of 5)Code Coverage Sample 2 (3 of 5) 6 - New Development Tools 21 Block not executed
  • 22. Code Coverage Sample 2 (4 of 5)Code Coverage Sample 2 (4 of 5) 6 - New Development Tools 22 Function not executed
  • 23. Code Coverage Sample 2 (5 of 5)Code Coverage Sample 2 (5 of 5) 6 - New Development Tools 23 Counts option
  • 24. Profile Guided Optimization Process FlowProfile Guided Optimization Process Flow 6 - New Development Tools 24 Source Compiler Execution profmrg DPI* Instrumented Object Raw data Raw data Execution *Dynamic Profiling Information Compiler Optimized Object profgen option profuse option
  • 25. Building an Application for PGOBuilding an Application for PGO ◦ Available only for epTAL, C/C++ ◦ Compiler option:  Guardian: PROFGEN  OSS: –Wprofgen  Windows:  c89, ecobol: –Wprofgen  eptal: –profgen  Must use level 2 optimization ◦ If link editing manually:  Use –l pgo to reference the pgodll library 6 - New Development Tools 25
  • 26. Using PGOUsing PGO ◦ Compiler option:  Guardian: PROFUSE  OSS: –Wprofuse  Windows:  c89, ecobol: –Wprofuse  eptal: –profuse  profuse option may specify the name of the DPI file if not default name or location 6 - New Development Tools 26
  • 27. PGO Sample Run (1 of 2)PGO Sample Run (1 of 2)  62> ccomp/in mainc/mainco;profgen,optimize 2  63> ccomp/in callc/callco;profgen,optimize 2  64> eld -o calcatr1 mainco callco $system.system.ccplmain -l crtl -l cre -l pgo  65> fileinfo calc*  $FC1.TGCPU  CODE EOF LAST MODIFIED OWNER RWEP PExt SExt  CALCATR1 800 21416 07AUG2008 13:10 34,26 OOOO 28 518  66> run calcatr1  PID: 1,1063 RUBY.$FC1.TGCPU.CALCATR1  STOPPED: 1,1063  CPU time: 0:00:00.003  67> fileinfo zz*  $FC1.TGCPU  CODE EOF LAST MODIFIED OWNER RWEP PExt SExt  ZZPFN0L6 180 720 07AUG2008 13:13 34,26 OOOO 14 42 6 - New Development Tools 27
  • 28. PGO Sample Run (2 of 2)PGO Sample Run (2 of 2)  68> profmrg  profmrg - T0747H01  ruby.$system.system.profmrg: looking at dynamic file: RUBY. $FC1.TGCPU.ZZPFN0L6  69> fileinfo p*  CODE EOF LAST MODIFIED OWNER RWEP PExt SExt  PGODPI 180 1220 07AUG2008 13:16 34,26 OOOO 14 42  70> ccomp/in mainc/mainco;profuse,optimize 2  71> ccomp/in callc/calcco;profuse,optimize 2  72> eld -o calcatr2 mainco callco $system.system.ccplmain -l crtl -l cre  73> run calcatr2  PID: 1,1049 RUBY.$FC1.TGCPU.CALCATR2  STOPPED: 1,1049 CPU time: 0:00:00.002  74> fileinfo calc*  CODE EOF LAST MODIFIED OWNER RWEP PExt SExt  CALCATR1 800 21416 07AUG2008 13:10 34,26 OOOO 28 518  CALCATR2 800 20896 07AUG2008 13:20 34,26 OOOO 28 518 6 - New Development Tools 28
  • 30. 6 - New Development Tools 30

Editor's Notes

  • #2: NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • #3: NonStop H-Series and J-Series Operating Systems Application Migration Workstation Tools 5 –
  • #4: NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • #5: NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • #6: NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • #7: NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • #8: NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • #9: NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • #10: NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • #11: NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • #12: NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • #13: NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • #14: NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • #15: NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • #16: NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • #17: NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • #18: NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • #19: NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • #20: NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • #21: NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • #22: NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • #23: NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • #24: NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • #25: NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • #26: NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • #27: NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • #28: NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • #29: NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • #30: NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools
  • #31: NonStop H-Series and J-Series Operating Systems Application Migration Code Profiling Utilities 6 - New Development Tools