zip ” This file contains the batch and Powershell scripts run under Windows 7 to compile, run, and time the C and C++ test programs used in the comparative study
Previous PDF | Next PDF |
[PDF] Efficient Processing of Two-Dimensional Arrays with C or C++
zip ” This file contains the batch and Powershell scripts run under Windows 7 to compile, run, and time the C and C++ test programs used in the comparative study
[PDF] Create An Array C
powershell ss64 com, c how to create a dynamic array of integers stack, how python 3, multi dimensional arrays 3d arrays in c programming, sort c array
[PDF] Windows PowerShell 10 Essentials - eBookFrenzycom
Accessing Elements in a Windows PowerShell Multidimensional Array 57 9 6 Adding new Elements to a Windows PowerShell Array
[PDF] Matlab for loop through array
20:49:06 UTC multidimensional array in MATLAB Before Java 5 tutorial, we'll see PowerShell Which variable contains a certain meaning 'Walk' etc char
[PDF] Windows PowerShell Research from the Point in - CEUR-WSorg
Script Host scripting environment, and Microsoft PowerShell Each tool has tions in multidimensional arrays that are the basis of OLAP systems [10] OLAP is a
[PDF] Windows PowerShell in Action - doc-developpement-durableorg
Array indexing and slicing 167 ✦ Using the range operator with arrays 170 ✦ Working with multidimensional arrays 171 5 5 Property and method operators
[PDF] COMPUTING FOR SCIENCE AND ENGINEERING Revised through
been cmd exe; beginning with Windows 7, it is PowerShell 2 0, which provides Multidimensional arrays are not structured in the same way as nested lists
[PDF] multidimensional arrays vba
[PDF] multifamily energy efficiency rebate program
[PDF] multigraph
[PDF] multilayer switch configuration
[PDF] multilevel feedback queue implementation
[PDF] multilevel feedback queue scheduling tutorialspoint
[PDF] multilevel feedback queue scheduling code in java
[PDF] multilevel feedback queue scheduling program in c++
[PDF] multilevel inverter block diagram
[PDF] multilevel inverter ppt
[PDF] multilevel inverter project report
[PDF] multilevel inverter switching pattern
[PDF] multilevel inverter thesis
[PDF] multilevel inverters syllabus
U.S. Department of the Interior
U.S. Geological Survey
Techniques and Methods 7-E1Efficient Processing of Two-Dimensional Arrays with C or C++Chapter 1 of
Section E, Evaluating and Improving Computational Performance Book 7, Automated Data Processing and ComputationsEfficient Processing of Two-Dimensional
Arrays with C or C++
By David I. Donato
Chapter 1 of
Section E, Evaluating and Improving Computational Performance Book 7, Automated Data Processing and ComputationsTechniques and Methods 7-E1
U.S. Department of the Interior
U.S. Geological Survey
U.S. Department of the Interior
RYAN K. ZINKE, Secretary
U.S. Geological Survey
William H. Werkheiser, Acting Director
U.S. Geological Survey, Reston, Virginia: 2017
For more information on the USGS - the Federal source for science about the Earth, its natural and living resources, natural hazards, and the environment - visit https://www.usgs.gov or call 1-888-ASK-USGS. For an overview of USGS information products, including maps, imagery, and publications, visit https://store.usgs.gov. Any use of trade, firm, or product names is for descriptive purposes onl y and does not imply endorsement by theU.S. Government.
Although this information product, for the most part, is in the public d omain, it also may contain copyrighted materials as noted in the text. Permission to reproduce copyrighted items must be secured from the copyright owner.Suggested citation:
Donato, D.I., 2017, Efficient processing of two-dimensional arrays withC or C++: U.S. Geological Survey Techniques
and Methods Report 7-e1, 58 p., https://doi.org/10.3133/tm7E1.ISSN 2328-7055 (online)
iiiAcknowledgments
The assistance of Dr. Qunying Huang and the Center of Intelligent Spatial Computing at George Mason University in the design of the comparative study described in this report is gratefully acknowledged. vContents
Acknowledgments ........................................................................ Abstract ........................................................................ ...........1 .....1Understanding C and C++ Syntax for Two-Dimensional Arrays ............................................................2
Similarities and Differences Between C and C++ ........................................................................
...2Standard and Alternative Array Notation in C and C++ .................................................................2
How C and C++ Compilers Process Arrays ........................................................................
..............3Design of a Comparative Factorial Study of Runtimes ........................................................................
....4Standard and Alternative Coding Techniques ........................................................................
.........4 The Suite of Test Programs ........................................................................ Differences Among Compilers ........................................................................ ....................................5Other Factors Affecting Computational Speed ........................................................................
........5Hardware Considerations for Software Performance ...................................................................6
The Comparative Study as Factorial Experiment ........................................................................
....6Analysis of the Results of the Comparative Study ........................................................................
...........8How Comparisons Are Analyzed ........................................................................
................................8 Variations in Runtimes ........................................................................Factors with the Greatest Effects on Runtimes ........................................................................
.....11Effects of Coding Techniques on Runtimes ........................................................................
............11Effects of Language Choice on Runtimes ........................................................................
...............11Effects of Processor Architecture on Runtimes ........................................................................
....11Effects of Operating System and Compiler on Runtimes .............................................................12
Effects of Memory Model on Runtimes ........................................................................
...................12Effects of Sizes of Array Elements and Indexes on Runtimes .....................................................12
Effects of Specification of register Storage Class on Runtimes .........................................12
Combination of Factor Levels Leading to the Shortest Runtimes ...............................................12
Practical Advice for Software Developers ........................................................................
......................13Conclusions and Recommendations ........................................................................
................................13 References Cited........................................................................Appendix 1.
Scatter Diagrams ........................................................................Appendix 2.
Boxplots ........................................................................Appendix 3.
Source Code for C Test Programs ........................................................................
...........58Appendix 4.
Source Code for C++ Test Programs ........................................................................
.......58Appendix 5.
Scripts and Code for Conducting Timing Tests on Linux ..............................................58
Appendix 6.
Scripts and Code for Conducting Timing Tests on Windows ......................................58 viFigures
1-1. Scatter diagram of unoptimized runtimes versus optimized runtimes for
Host A32-bit LinuxC Language ........................................................................
.................171-2. Scatter diagram of randomized runtimes versus unrandomized runtimes for
Host A32-bit LinuxC Language ........................................................................
.................171-3. Scatter diagram of unoptimized runtimes versus optimized runtimes for
Host A32-bit LinuxC++ Language ........................................................................
............181-4. Scatter diagram of randomized runtimes versus unrandomized runtimes for
Host A32-bit LinuxC++ Language ........................................................................
............181-5. Scatter diagram of unoptimized runtimes versus optimized runtimes for
Host A32-bit WindowsC Language. ........................................................................
........191-6. Scatter diagram of randomized runtimes versus unrandomized runtimes for
Host A32-bit WindowsC Language ........................................................................
.........191-7. Scatter diagram of unoptimized runtimes versus optimized runtimes for
Host A64-bit WindowsC Language ........................................................................
.........201-8. Scatter diagram of randomized runtimes versus unrandomized runtimes for
Host A64-bit WindowsC Language ........................................................................
.........201-9. Scatter diagram of unoptimized runtimes versus optimized runtimes for
Host A32-bit WindowsC++ Language ........................................................................
.....211-10. Scatter diagram of randomized runtimes versus unrandomized runtimes for
Host A32-bit WindowsC++ Language ........................................................................
.....211-11. Scatter diagram of unoptimized runtimes versus optimized runtimes for
Host A64-bit WindowsC++ Language ........................................................................
.....221-12. Scatter diagram of randomized runtimes versus unrandomized runtimes for
Host A64-bit WindowsC++ Language ........................................................................
.....221-13. Scatter diagram of unoptimized runtimes versus optimized runtimes for
Host A64-bit LinuxC Language ........................................................................
.................231-14. Scatter diagram of randomized runtimes versus unrandomized runtimes for
Host A64-bit LinuxC Language ........................................................................
.................231-15. Scatter diagram of unoptimized runtimes versus optimized runtimes for
Host A64-bit LinuxC++ Language ........................................................................
............241-16. Scatter diagram of randomized runtimes versus unrandomized runtimes for
Host A64-bit LinuxC++ Language ........................................................................
............241-17. Scatter diagram of unoptimized runtimes versus optimized runtimes for
Host B32-bit LinuxC Language ........................................................................
.................251-18. Scatter diagram of randomized runtimes versus unrandomized runtimes for
Host B32-bit LinuxC Language ........................................................................
.................251-19. Scatter diagram of unoptimized runtimes versus optimized runtimes for
Host B64-bit LinuxC Language ........................................................................
.................261-20. Scatter diagram of randomized runtimes versus unrandomized runtimes for
Host B64-bit LinuxC Language ........................................................................
.................261-21. Scatter diagram of unoptimized runtimes versus optimized runtimes for
Host B32-bit LinuxC++ Language ........................................................................
............271-22. Scatter diagram of randomized runtimes versus unrandomized runtimes for
Host B32-bit LinuxC++ Language ........................................................................
............271-23. Scatter diagram of unoptimized runtimes versus optimized runtimes for
Host B64-bit LinuxC++ Language ........................................................................
............28 vii1-24. Scatter diagram of randomized runtimes versus unrandomized runtimes for
Host B64-bit LinuxC++ Language ........................................................................
............281-25. Scatter diagram of unoptimized runtimes versus optimized runtimes for
Host C32-bit LinuxC Language ........................................................................
.................291-26. Scatter diagram of randomized runtimes versus unrandomized runtimes for
Host C32-bit LinuxC Language
.................291-27. Scatter diagram of unoptimized runtimes versus optimized runtimes for
Host C32-bit LinuxC++ Language ........................................................................
............301-28. Scatter diagram of randomized runtimes versus unrandomized runtimes
for Host C32-bit LinuxC++ Language ........................................................................
......301-29. Scatter diagram of unoptimized runtimes versus optimized runtimes for
Host C32-bit WindowsC Language ........................................................................
.........311-30. Scatter diagram of randomized runtimes versus unrandomized runtimes for
Host C32-bit WindowsC Language ........................................................................
.........311-31. Scatter diagram of unoptimized runtimes versus optimized runtimes for
Host C64-bit WindowsC Language ........................................................................
.........321-32. Scatter diagram of randomized runtimes versus unrandomized runtimes
for Host C64-bit WindowsC Language ........................................................................
...321-33. Scatter diagram of unoptimized runtimes versus optimized runtimes for
Host C32-bit WindowsC++ Language ........................................................................
.....331-34. Scatter diagram of randomized runtimes versus unrandomized runtimes for
Host C32-bit WindowsC++ Language ........................................................................
.....331-35. Scatter diagram of unoptimized runtimes versus optimized runtimes for
Host C64-bit WindowsC++ Language ........................................................................
34 1-36. Scatter diagram of randomized runtimes versus unrandomized runtimes for
Host C64-bit WindowsC++ Language ........................................................................
.....341-37. Scatter diagram of unoptimized runtimes versus optimized runtimes for
Host C64-bit LinuxC Language ........................................................................
.................351-38. Scatter diagram of randomized runtimes versus unrandomized runtimes for
HostC64-bit LinuxC Language ........................................................................
..........................35 1-39. Scatter diagram of unoptimized runtimes versus optimized runtimes for
Host C64-bit LinuxC++ Language ........................................................................
............361-40. Scatter diagram of randomized runtimes versus unrandomized runtimes for
Host C64-bit LinuxC++ Language ........................................................................
............362-1. Boxplot of relative runtimes with coding techniques 1, 2, and 3 on
Host A32-bit LinuxC Language ........................................................................
.................38 2-2. Boxplot of relative runtimes with coding techniques 2 and 3 onHost A32-bit LinuxC++ Language ........................................................................
............392-3. Boxplot of relative runtimes with coding techniques 1, 2, and 3 on
Host A32-bit WindowsC Language ........................................................................
.........402-4. Boxplot of relative runtimes with coding techniques 1, 2, and 3 on
Host A64-bit WindowsC Language ........................................................................
.........41 quotesdbs_dbs17.pdfusesText_23