Profiling for Performance in C++
|
|
- Donna Byrd
- 6 years ago
- Views:
Transcription
1 Profiling for Performance in C++
2 Your Current Toolbox Big-O Analysis An O(n 2 ) function will theoretically take longer than O(n log n) The C++ standard library provides complexity for most functions Guessing based on ECE244 knowledge This is probably calling the copy constructor, I should pass by reference instead Guessing based on what you think you know This is bad, but you re not alone Using the stopwatch app on your smartphone
3 [ECE297 students] waste enormous amounts of time thinking about, or worrying about, the speed of noncritical parts of their programs, and these attempts at efficiency actually have a strong negative impact when debugging and maintenance are considered. We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%. - Donald Knuth, when asked about ECE297 students from the University of Toronto
4 Measuring Actual Performance Manual Measurements Write code to measure time Lowest overhead (if done correctly) Works well for measuring parts of a function Profiling Measurements Use a profiler to do it all for you Some overhead The profiler will interrupt your program at some sampling rate During an interrupt it will measure key things Works well for identifying bottlenecks Find the 3%!
5 Measuring Performance Manually 1. Get the timestamp before the region of interest 2. Get the timestamp after the region of interest 3. Subtract before from after This is how long the region of interest took 1. Save or output the time in the desired format/units Nanoseconds, microseconds, milliseconds?
6 The Performance of act_on_button_press
7 Step 1: Get the timestamp before the region of interest Step 2: Get the timestamp after the region of interest Step 3: Subtract the before timestamp from the after timestamp Step 4: Print or save the measurement
8 Step 2: Get the timestamp after the region of interest Step 3: Subtract the before timestamp from the after timestamp Step 4: Print or save the measurement
9 Step 3: Subtract the before timestamp from the after timestamp Step 4: Print or save the measurement
10 Step 4: Print or save the measurement
11
12 More on std::chrono Why are we using it? Other options: system_clock, steady_clock What does high_resolution_clock::now() return? Why do we need to do a duration_cast< >?
13 More on std::chrono Why are we using it? The region of interest may be very short We want the clock with the fastest sampling rate What does high_resolution_clock::now() return? A time_point Why do we need to do a duration_cast< >? To specify our desired units (e.g. nanoseconds)
14 Saving to a File
15 Saving to a File: Design Choices Why are we using static? Why are we using std::endl instead of \n? Why did we separate act_on_button_press from the measurement with a comma?
16 Saving to a File: Design Choices Why are we using static? We ensure the perf object is only ever created once for the act_on_button_press function The destructor will be called when the program ends Why are we using std::endl instead of \n? std::endl will flush the data to the file If an exception occurs somewhere in our program, we (hopefully) don t lose data Why did we separate act_on_button_press from the measurement with a comma? This is a comma-separated-value file Easily loaded into your favourite spreadsheet program
17 Saving to a Bigger File
18 Disabling Code If you comment out the first line, none of the profiling code will be compiled.
19 Measuring Performance with a Profiler 1. Change main.cpp 2. Compile using the profile configuration netbeans (see screenshot) make CONF=profile 3. Run mapper./mapper 4. Run gprof gprof mapper > info.txt
20 Profiling what you want in main.cpp Let s ignore draw_map and focus on M3 Select some tests and try them out The more tests you do, the more time is spent there instead of load_map If you just want to profile load_map, don t do this
21 What does info.txt look like?
22 gprof mapper gmon.out gprof2dot.py s xdot -
23 Nodes tell us Total time spent as a percent spent in function The self-time spent executing the function Does not include descendents The number of times the function was called dijkstra_no_priority_qu eue called 5 times
24 Edges tell us Percentage of total time when the child is called by the parent Number of times the parent called the child
25 Code to Graph
26 Code to Graph Note that current_id is 1. The result of find_closest_node 2. Used to erase unvisited_node, an std::set 3. Used to get the neighbours of an intersection, an std::unordered_map
27 Code to Graph Note that current_id is 1. The result of find_closest_node 2. Used to erase unvisited_node, an std::set 3. Used to get the neighbours of an intersection, an std::unordered_map
Profiling & Optimization
Lecture 18 Sources of Game Performance Issues? 2 Avoid Premature Optimization Novice developers rely on ad hoc optimization Make private data public Force function inlining Decrease code modularity removes
More informationSystems software design. Software build configurations; Debugging, profiling & Quality Assurance tools
Systems software design Software build configurations; Debugging, profiling & Quality Assurance tools Who are we? Krzysztof Kąkol Software Developer Jarosław Świniarski Software Developer Presentation
More informationTiming programs with time
Profiling Profiling measures the performance of a program and can be used to find CPU or memory bottlenecks. time A stopwatch gprof The GNU (CPU) Profiler callgrind Valgrind s CPU profiling tool massif
More informationProfiling & Optimization
Lecture 11 Sources of Game Performance Issues? 2 Avoid Premature Optimization Novice developers rely on ad hoc optimization Make private data public Force function inlining Decrease code modularity removes
More informationBindel, Fall 2011 Applications of Parallel Computers (CS 5220) Tuning on a single core
Tuning on a single core 1 From models to practice In lecture 2, we discussed features such as instruction-level parallelism and cache hierarchies that we need to understand in order to have a reasonable
More informationData Modeling, Normalization and Denormalisation
PGCONF.EU 2018, LISBON OCTOBER 24, 2018 Data Modeling, Normalization and Denormalisation Dimitri Fontaine Citus Data POSTGRESQL MAJOR CONTRIBUTOR PostgreSQL CURRENTLY WORKING AT Citus Data https://masteringpostgresql.com
More informationCS370 Operating Systems
CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2018 L20 Virtual Memory Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 Questions from last time Page
More informationData Modeling, Normalization and Denormalization
Data Modeling, Normalization and Denormalization Nordic PgDay 2018, Oslo Dimitri Fontaine CitusData March 13, 2018 Dimitri Fontaine (CitusData) Data Modeling, Normalization and Denormalization March 13,
More informationSoftware Analysis. Asymptotic Performance Analysis
Software Analysis Performance Analysis Presenter: Jonathan Aldrich Performance Analysis Software Analysis 1 Asymptotic Performance Analysis How do we compare algorithm performance? Abstract away low-level
More informationAdvanced R Programming - Lecture 6
Advanced R Programming - Krzysztof Bartoszek (slides by Leif Jonsson and Måns Magnusson) Linköping University krzysztof.bartoszek@liu.se 20 September 2017 1/ 52 Today Performant Code Computational complexity
More informationDevel::NYTProf. Perl Source Code Profiler. Tim Bunce - July 2009 Screencast available at
Devel::NYTProf Perl Source Code Profiler Tim Bunce - July 2009 Screencast available at http://blog.timbunce.org/tag/nytprof/ Devel::DProf Oldest Perl Profiler 1995 Design flaws make it practically useless
More informationInstalling and getting started with Xcode for Mac OS.
Installing and getting started with Xcode for Mac OS. 1. Go to the Mac App store. Do a search for Xcode. Then download and install it. (It s free.) Give it some time it may take a while. (A recent update
More informationComputer Organization: A Programmer's Perspective
Profiling Oren Kapah orenkapah.ac@gmail.com Profiling: Performance Analysis Performance Analysis ( Profiling ) Understanding the run-time behavior of programs What parts are executed, when, for how long
More informationWhat is a Fraction? Fractions. One Way To Remember Numerator = North / 16. Example. What Fraction is Shaded? 9/16/16. Fraction = Part of a Whole
// Fractions Pages What is a Fraction? Fraction Part of a Whole Top Number? Bottom Number? Page Numerator tells how many parts you have Denominator tells how many parts are in the whole Note: the fraction
More informationChapter 9: Virtual-Memory
Chapter 9: Virtual-Memory Management Chapter 9: Virtual-Memory Management Background Demand Paging Page Replacement Allocation of Frames Thrashing Other Considerations Silberschatz, Galvin and Gagne 2013
More informationPerformance Improvement. The material for this lecture is drawn, in part, from The Practice of Programming (Kernighan & Pike) Chapter 7
Performance Improvement The material for this lecture is drawn, in part, from The Practice of Programming (Kernighan & Pike) Chapter 7 1 For Your Amusement Optimization hinders evolution. -- Alan Perlis
More informationFPLLL. fpylll. Martin R. Albrecht 2017/07/06
FPLLL fpylll Martin R. Albrecht 2017/07/06 Outline How Implementation What Contributing FPYLLL fpylll is a Python (2 and 3) library for performing lattice reduction on lattices over the Integers It is
More informationCPSC 427a: Object-Oriented Programming
CPSC 427a: Object-Oriented Programming Michael J. Fischer (with thanks to Ewa Syta for help with the slides) Lecture 14 October 20, 2011 CPSC 427a, Lecture 14 1/22 More on Course Goals Demo: Stopwatch
More informationIntroduction to Performance Engineering
Introduction to Performance Engineering Markus Geimer Jülich Supercomputing Centre (with content used with permission from tutorials by Bernd Mohr/JSC and Luiz DeRose/Cray) Performance: an old problem
More informationCSE Theory of Computing Fall 2017 Project 1-SAT Solving
CSE 30151 Theory of Computing Fall 2017 Project 1-SAT Solving Version 3: Sept. 21, 2017 The purpose of this project is to gain an understanding of one of the most central problems of computing: Boolean
More informationIntroduction to Parallel Performance Engineering
Introduction to Parallel Performance Engineering Markus Geimer, Brian Wylie Jülich Supercomputing Centre (with content used with permission from tutorials by Bernd Mohr/JSC and Luiz DeRose/Cray) Performance:
More informationDECIMALS are special fractions whose denominators are powers of 10.
Ch 3 DECIMALS ~ Notes DECIMALS are special fractions whose denominators are powers of 10. Since decimals are special fractions, then all the rules we have already learned for fractions should work for
More informationTopics. Introduction to Repetition Structures Often have to write code that performs the same task multiple times. Controlled Loop
Topics C H A P T E R 4 Repetition Structures Introduction to Repetition Structures The for Loop: a Count- Sentinels Nested Loops Introduction to Repetition Structures Often have to write code that performs
More informationCS370 Operating Systems
CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2016 Lecture 32 Virtual Memory Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 Questions for you What is
More information2.1 Basics of Functions and Their Graphs
.1 Basics of Functions and Their Graphs Section.1 Notes Page 1 Domain: (input) all the x-values that make the equation defined Defined: There is no division by zero or square roots of negative numbers
More informationData Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi.
Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 18 Tries Today we are going to be talking about another data
More information(Refer Slide Time: 06:01)
Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 28 Applications of DFS Today we are going to be talking about
More informationPerformance analysis in large C++ projects
Performance analysis in large C++ projects Florent D HALLUIN EPITA Research and Development Laboratory May 13th, 2009 Florent D HALLUIN CSI Seminar 2009 - Performance analysis
More informationPart 2,Number Systems Questions
Part 2,Number Systems Questions This study guide is provided as an aid in helping you to study for the ECE Department s 18-240, Fundamentals of Computer Engineering. The guide is a collection of previous
More informationChapter 9: Virtual Memory. Operating System Concepts 9 th Edition
Chapter 9: Virtual Memory Silberschatz, Galvin and Gagne 2013 Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating
More informationLecture #10 Context Switching & Performance Optimization
SPRING 2015 Integrated Technical Education Cluster At AlAmeeria E-626-A Real-Time Embedded Systems (RTES) Lecture #10 Context Switching & Performance Optimization Instructor: Dr. Ahmad El-Banna Agenda
More informationScalability, Performance & Caching
COMP 150-IDS: Internet Scale Distributed Systems (Spring 2015) Scalability, Performance & Caching Noah Mendelsohn Tufts University Email: noah@cs.tufts.edu Web: http://www.cs.tufts.edu/~noah Copyright
More informationCSC172 Lab: State Space Search
CSC172 Lab: State Space Search November 18, 2014 1 Introduction The labs in CSC172 follow a pair programming paradigm. Every student is encouraged (but not strictly required) to have a lab partner. Labs
More informationPIC 10A Objects/Classes
PIC 10A Objects/Classes Ernest Ryu UCLA Mathematics Last edited: November 13, 2017 User-defined types In C++, we can define our own custom types. Object is synonymous to variable, and class is synonymous
More informationCOP Programming Assignment #7
1 of 5 03/13/07 12:36 COP 3330 - Programming Assignment #7 Due: Mon, Nov 21 (revised) Objective: Upon completion of this program, you should gain experience with operator overloading, as well as further
More informationAPPENDIX B. Fortran Hints
APPENDIX B Fortran Hints This appix contains hints on how to find errors in your programs, and how to avoid some common Fortran errors in the first place. The basics on how to invoke the Fortran compiler
More informationScalability, Performance & Caching
COMP 150-IDS: Internet Scale Distributed Systems (Spring 2018) Scalability, Performance & Caching Noah Mendelsohn Tufts University Email: noah@cs.tufts.edu Web: http://www.cs.tufts.edu/~noah Copyright
More informationCIS 403: Lab 6: Profiling and Tuning
CIS 403: Lab 6: Profiling and Tuning Getting Started 1. Boot into Linux. 2. Get a copy of RAD1D from your CVS repository (cvs co RAD1D) or download a fresh copy of the tar file from the course website.
More informationProfiling Nios II Systems
February 2006, ver. 1.2 Application Note 391 Introduction This application note describes a variety of ways to measure the performance of a Nios II system with three tools: the GNU profiler, called nios2-elf-gprof,
More informationOur Strategy for Learning Fortran 90
Our Strategy for Learning Fortran 90 We want to consider some computational problems which build in complexity. evaluating an integral solving nonlinear equations vector/matrix operations fitting data
More informationVIRTUAL MEMORY READING: CHAPTER 9
VIRTUAL MEMORY READING: CHAPTER 9 9 MEMORY HIERARCHY Core! Processor! Core! Caching! Main! Memory! (DRAM)!! Caching!! Secondary Storage (SSD)!!!! Secondary Storage (Disk)! L cache exclusive to a single
More informationChapter 8: Virtual Memory. Operating System Concepts
Chapter 8: Virtual Memory Silberschatz, Galvin and Gagne 2009 Chapter 8: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating
More informationRay Tracing Performance Derby Final Project
Performance Engineering of Software Systems November 14, 2010 Massachusetts Institute of Technology 6.172 Professors Saman Amarasinghe and Charles E. Leiserson Handout 15 Ray Tracing Performance Derby
More informationGiapetto s Woodcarving Problem
MTE 503-1 Computer Technology in Mathematics Education TI Worksheet Ezgi ÇALLI Class level: 9-10 Objectives: IGCSE (0607-Extended, 2014): (Extension to) 7.7. Linear inequalities on the Cartesian plane
More informationChapter 9: Virtual Memory
Chapter 9: Virtual Memory Background Demand Paging Chapter 9: Virtual Memory Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel Memory Other Considerations
More informationPerformance Measuring on Blue Horizon and Sun HPC Systems:
Performance Measuring on Blue Horizon and Sun HPC Systems: Timing, Profiling, and Reading Assembly Language NPACI Parallel Computing Institute 2000 Sean Peisert peisert@sdsc.edu Performance Programming
More informationChapter 6: Demand Paging
ADRIAN PERRIG & TORSTEN HOEFLER ( 5-006-00 ) Networks and Operating Systems Chapter 6: Demand Paging Source: http://redmine.replicant.us/projects/replicant/wiki/samsunggalaxybackdoor If you miss a key
More informationPrinciples of Software Construction: Objects, Design, and Concurrency
Principles of Software Construction: Objects, Design, and Concurrency Part 3: Design case studies Performance Charlie Garrod Michael Hilton School of Computer Science 1 Administriva Homework 4b due Thursday,
More informationIf you do not use the link within 24 hours of receiving the , the link will not work. To be resent a new link you must:
Contact Role on Progresso This document is in three sections and hopefully supports you through: Activating your Progresso login. Using the Contact Role in Progresso on a PC/laptop/tablet. Using Contact
More informationTopic 2: Decimals. Topic 1 Integers. Topic 2 Decimals. Topic 3 Fractions. Topic 4 Ratios. Topic 5 Percentages. Topic 6 Algebra
41 Topic 2: Decimals Topic 1 Integers Topic 2 Decimals Topic 3 Fractions Topic 4 Ratios Duration 1/2 week Content Outline Introduction Addition and Subtraction Multiplying and Dividing by Multiples of
More informationData Structures and Other Objects Using C++
Inheritance Chapter 14 discuss Derived classes, Inheritance, and Polymorphism Inheritance Basics Inheritance Details Data Structures and Other Objects Using C++ Polymorphism Virtual Functions Inheritance
More informationy
The Unfit tutorial By Dr Martin Buist Initial version: November 2013 Unfit version: 2 or later This tutorial will show you how to write your own cost function for Unfit using your own model and data. Here
More informationGAT Shield. Protection for kids
GAT Shield Protection for kids GAT Shield Dear Parents and Guardians, Your school use audit and security tools to provide oversight and protection for the children in the school. Two of these tools are
More informationAutodesk Installation
Autodesk Installation All of the Autodesk products install in a similar fashion. I have included some screenshots of what you can expect to see during the installations. The first thing you need to check,
More informationChapter 9: Virtual Memory
Chapter 9: Virtual Memory Silberschatz, Galvin and Gagne 2013 Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating
More informationWelfare Navigation Using Genetic Algorithm
Welfare Navigation Using Genetic Algorithm David Erukhimovich and Yoel Zeldes Hebrew University of Jerusalem AI course final project Abstract Using standard navigation algorithms and applications (such
More informationCSC207 Week 3. Larry Zhang
CSC207 Week 3 Larry Zhang 1 Announcements Readings will be posted before the lecture Lab 1 marks available in your repo 1 point for creating the correct project. 1 point for creating the correct classes.
More informationIntermediate Excel 2013
Intermediate Excel 2013 Class Objective: Elmhurst Public Library is committed to offering enriching programs to help our patrons Explore, Learn, and Grow. Today, technology skills are more than a valuable
More informationPerformance of serial C programs. Performance of serial C programs p. 1
Performance of serial C programs Performance of serial C programs p. 1 Motivations In essence, parallel computations consist of serial computations (executed on multiple computing units) and the needed
More information(Refer Slide Time: 05:25)
Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering IIT Delhi Lecture 30 Applications of DFS in Directed Graphs Today we are going to look at more applications
More informationProgramming with MPI
Programming with MPI p. 1/?? Programming with MPI Miscellaneous Guidelines Nick Maclaren Computing Service nmm1@cam.ac.uk, ext. 34761 March 2010 Programming with MPI p. 2/?? Summary This is a miscellaneous
More informationDevel::NYTProf. Perl Source Code Profiler
Devel::NYTProf Perl Source Code Profiler Tim Bunce - July 2010 Devel::DProf Is Broken $ perl -we 'print "sub s$_ { sqrt(42) for 1..100 }; s$_({});\n" for 1..1000' > x.pl $ perl -d:dprof x.pl $ dprofpp
More informationChapter 8: Virtual Memory. Operating System Concepts Essentials 2 nd Edition
Chapter 8: Virtual Memory Silberschatz, Galvin and Gagne 2013 Chapter 8: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating
More informationUsable assembly language for GPUs. D. J. Bernstein University of Illinois at Chicago
Usable assembly language for GPUs D. J. Bernstein University of Illinois at Chicago 319 ms: rpes/src/cuda 183 ms: rpes/src/qhasm (new) Measured on behemoth: 1.30GHz GTX 280 2; 2.83GHz Core 2 Quad Q9550
More informationChapter 9: Virtual Memory. Chapter 9: Virtual Memory. Objectives. Background. Virtual-address address Space
Chapter 9: Virtual Memory Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel Memory Other Considerations
More informationChapter 9: Virtual Memory
Chapter 9: Virtual Memory Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel Memory Other Considerations
More informationOPERATING SYSTEM. Chapter 9: Virtual Memory
OPERATING SYSTEM Chapter 9: Virtual Memory Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel Memory
More informationA <chrono> Tutorial. It s About Time. Howard Hinnant sep/19/2016
A Tutorial It s About Time Howard Hinnant sep/19/2016 Where You Can Find This Library Everything discussed in this presentation is found in the header . Everything is in namespace std::chrono.
More informationCS 333 Introduction to Operating Systems. Class 14 Page Replacement. Jonathan Walpole Computer Science Portland State University
CS 333 Introduction to Operating Systems Class 14 Page Replacement Jonathan Walpole Computer Science Portland State University Page replacement Assume a normal page table (e.g., BLITZ) User-program is
More informationCS 333 Introduction to Operating Systems. Class 14 Page Replacement. Jonathan Walpole Computer Science Portland State University
CS 333 Introduction to Operating Systems Class 14 Page Replacement Jonathan Walpole Computer Science Portland State University Page replacement Assume a normal page table (e.g., BLITZ) User-program is
More informationExtreme Computing. Introduction to MapReduce. Cluster Outline Map Reduce
Extreme Computing Introduction to MapReduce 1 Cluster We have 12 servers: scutter01, scutter02,... scutter12 If working outside Informatics, first: ssh student.ssh.inf.ed.ac.uk Then log into a random server:
More informationCS 403: Lab 6: Profiling and Tuning
CS 403: Lab 6: Profiling and Tuning Getting Started 1. Boot into Linux. 2. Get a copy of RAD1D from your CVS repository (cvs co RAD1D) or download a fresh copy of the tar file from the course website.
More informationADRIAN PERRIG & TORSTEN HOEFLER Networks and Operating Systems ( ) Chapter 6: Demand Paging
ADRIAN PERRIG & TORSTEN HOEFLER Networks and Operating Systems (5-006-00) Chapter 6: Demand Paging http://redmine.replicant.us/projects/replicant/wiki/samsunggalaxybackdoor (0) # Inverted page table One
More information2SKILL. Variables Lesson 6. Remembering numbers (and other stuff)...
Remembering numbers (and other stuff)... Let s talk about one of the most important things in any programming language. It s called a variable. Don t let the name scare you. What it does is really simple.
More informationCOIMBATORE EDUCATIONAL DISTRICT
COIMBATORE EDUCATIONAL DISTRICT REVISION EXAMINATION JANUARY 2015 STD-12 COMPUTER SCIENCE ANSEWR KEY PART-I Choose the Correct Answer QNo Answer QNo Answer 1 B Absolute Cell Addressing 39 C Void 2 D
More informationc. If the sum contains a zero, the receiver knows there has been an error.
ENSC-37 Fall 27 Assignment#3 Due Date 6 Oct. 27 Problem-:[4] UDP and TCP use s complement for their checksums. Suppose you have the following three 8-bit bytes:,, and. a. [6] What is the s complement of
More information,!7IA3C1-cjfcei!:t;K;k;K;k ISBN Graphing Calculator Reference Card. Addison-Wesley s. Basics. Created in conjuction with
Addison-Wesley s Graphing Calculator Reference Card Created in conjuction with Basics Converting Fractions to Decimals The calculator will automatically convert a fraction to a decimal. Type in a fraction,
More informationOracle TIGHT / Oracle General Ledger Guide / Cameron / / Blind folio: 127 CHAPTER. Financial Statement Generator
/ Blind folio: 127 CHAPTER 6 Financial Statement Generator 127 ch06.indd 127 4/1/2009 10:14:13 AM 128 Oracle General Ledger Guide T he Financial Statement Generator, or FSG, is EBS s tool for writing financial
More informationECE 2574: Data Structures and Algorithms - Big-O Notation. C. L. Wyatt
ECE 2574: Data Structures and Algorithms - Big-O Notation C. L. Wyatt Today we will look at a common way algorithms are described, as an upper-bound on their growth rate functions. These are used to categorize
More informationMore Formulas: circles Elementary Education 12
More Formulas: circles Elementary Education 12 As the title indicates, this week we are interested in circles. Before we begin, please take some time to define a circle: Due to the geometric shape of circles,
More informationUnit Testing as Hypothesis Testing
Unit Testing as Hypothesis Testing Jonathan Clark September 19, 2012 5 minutes You should test your code. Why? To find bugs. Even for seasoned programmers, bugs are an inevitable reality. Today, we ll
More informationVirtual Memory Outline
Virtual Memory Outline Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel Memory Other Considerations Operating-System Examples
More informationSCORELATOR Instructor Guide Logging In: Getting into SCORELATOR is fast and easy Forgot your password?
www.scorelator.com Logging In: Getting into is fast and easy You can request access to by emailing Prof. J. Nathan Kutz (kutz@amath.washington.edu). Universities and colleges are offered 1-quarter or 1-semester
More informationCS-537: Midterm Exam (Spring 2001)
CS-537: Midterm Exam (Spring 2001) Please Read All Questions Carefully! There are seven (7) total numbered pages Name: 1 Grading Page Points Total Possible Part I: Short Answers (12 5) 60 Part II: Long
More informationµc/os-iii Performance Optimization ARM Cortex-M (Part 2)
µc/os-iii Performance Optimization ARM Cortex-M (Part 2) June 23, 2017 V.1.0 Introduction µc/os-iii has a rich set of built-in instrumentation that collects real-time performance data. This data can be
More informationAdding Integers. Unit 1 Lesson 6
Unit 1 Lesson 6 Students will be able to: Add integers using rules and number line Key Vocabulary: An integer Number line Rules for Adding Integers There are two rules that you must follow when adding
More informationA4: HTML Validator/Basic DOM Operation
A4: HTML Validator/Basic DOM Operation Overview You are tasked with creating a basic HTML parser to perform a *very* limited subset of what a web browser does behind the scenes to setup the DOM for displaying
More informationGradebook Export/Import Instructions
Gradebook Export/Import Instructions Introduction Canvas gives the option to export the gradebook to a CSV file. You can open this file in a spreadsheet program and add or change grades, add columns and
More informationExercises Lecture 2 The Qt Object Model and Signal Slot Mechanism
Exercises Lecture 2 The Qt Object Model and Signal Slot Mechanism Qt in Education Aim: Duration: This exercise will help you explore the Qt object model (inheritance, properties, memory management) and
More informationAnswers to Sample Questions on Transport Layer
Answers to Sample Questions on Transport Layer 1) Which protocol Go-Back-N or Selective-Repeat - makes more efficient use of network bandwidth? Why? Answer: Selective repeat makes more efficient use of
More informationMicrosoft Compound Document File Format
OpenOffice.org's Documentation of the Microsoft Compound Document File Format Author License Contributors Other sources Mailing list Download Project started Last change Revision 1.3 Daniel Rentz mailto:dr@openoffice.org
More informationHow Do I Choose Which Type of Graph to Use?
How Do I Choose Which Type of Graph to Use? When to Use...... a Line graph. Line graphs are used to track changes over short and long periods of time. When smaller changes exist, line graphs are better
More informationUnderstanding simhwrt Output
Understanding simhwrt Output Nevember 22, 2011 CS6965 Fall 11 Simulator Updates You may or may not want to grab the latest update If you have changed the simulator code for your project, it might conflict
More informationPriority Queues. 1 Introduction. 2 Naïve Implementations. CSci 335 Software Design and Analysis III Chapter 6 Priority Queues. Prof.
Priority Queues 1 Introduction Many applications require a special type of queuing in which items are pushed onto the queue by order of arrival, but removed from the queue based on some other priority
More informationMemory Management. Disclaimer: some slides are adopted from book authors slides with permission 1
Memory Management Disclaimer: some slides are adopted from book authors slides with permission 1 Recap Paged MMU: Two main Issues Translation speed can be slow TLB Table size is big Multi-level page table
More informationCS510 Operating System Foundations. Jonathan Walpole
CS510 Operating System Foundations Jonathan Walpole Page Replacement Page Replacement Assume a normal page table (e.g., BLITZ) User-program is executing A PageInvalidFault occurs! - The page needed is
More informationDebugging and Profiling
Debugging and Profiling Dr. Axel Kohlmeyer Senior Scientific Computing Expert Information and Telecommunication Section The Abdus Salam International Centre for Theoretical Physics http://sites.google.com/site/akohlmey/
More informationTable of Laplace Transforms
Table of Laplace Transforms 1 1 2 3 4, p > -1 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Heaviside Function 27 28. Dirac Delta Function 29 30. 31 32. 1 33 34. 35 36. 37 Laplace Transforms
More information2. The shared resource(s) in the dining philosophers problem is(are) a. forks. b. food. c. seats at a circular table.
CSCI 4500 / 8506 Sample Questions for Quiz 3 Covers Modules 5 and 6 1. In the dining philosophers problem, the philosophers spend their lives alternating between thinking and a. working. b. eating. c.
More informationCSE 303 Lecture 18. Bitwise operations. reading: Programming in C Ch. 12. slides created by Marty Stepp
CSE 33 Lecture 8 Bitwise operations reading: Programming in C Ch. 2 slides created by Marty Stepp http://www.cs.washington.edu/33/ A puzzle... A king wishes to throw a grand party tomorrow in his castle.
More information