jmfbahciv <
See....@aol.com> writes:
> Has the definition of "dense code" changed over the years?
there is code-size to better fit in caches.
Optimizing code-size with the GNU gcc compiler for STM32 and other ARM
Cortex-M targets
http://blog.atollic.com/optimizing-code-size-with-the-gnu-gcc-compiler-for-stm32-and-other-arm-cortex-m-targets
Reducing Code Size on ARM/Thumb processors
http://www.simplemachines.it/doc/ARM_COMBO_ap01.html
Difference between size of binaries - x86_64 vs ARM
http://unix.stackexchange.com/questions/254418/difference-between-size-of-binaries-x86-64-vs-arm
this used to be an issue in days gone by with code fitting in
real memory sizes, code organization that work well in virtual
paged environment, and/or fit in virtual address space size.
at the science center in the early 70s, there was work on application
that analyzed programs and did semi-automated reorganization to better
improve throughput in virtual paged environment (it was used by a lot of
internal development groups as part of moving from os/360 to VS1 & VS2).
This was released to customers in the later half of 70s as VS/Repack.
http://www.garlic.com/~lynn/submisc.html#545tech
Internally there was large fortran program developed for chip design.
It started out being hosted on MVS ... in the days when it had 16mbyte
virtual address space for every application. However since OS/360 APIs
were primarily pointer-pass paradigm, a 8mbyte image of the MVS kernel
occupied every 16mbyte virtual address space. Then because subsystems
were moved to their own virtual address space, it created a huge problem
in the pointer-passing API between applications and subsystems. Solution
was "common segment", a one mbyte segment that (also) occupied every
virtual address space (leaving only 7mbyte for application use) that was
used to allocate space for API parameter calls ... so a pointer could be
passed from application and subsystem. However, common requirement size
turned out to be proportional to number of subsystems, number of
concurrent applications and size of system ... by 3033 time, common area
requirement (that allocated in virtual address space) was frequently
5-6mbytes (leaving 2mbytes for application use) ... and threatening to
increase to 8mbytes (leaving nothing for application use). The critical
chip design program required specially created dedicated MVS that only
had a single 1mbyte common area ... but the chip-design program was
still constantly bumping its head against the 7mbyte size
limitation. The proposal was to move it to vm370/cms environment where
it would have nearly the full 16mbytes (less about 128kbyes).
dense has also been used to refer to tight, something being implemented
optimally in the fastest, fewest instructions possible (although things
like unrolling loops trades off size for efficiency).
6.2 Speed-space tradeoffs
http://lampwww.epfl.ch/~fsalvi/docs/gcc/www.network-theory.co.uk/docs/gccintro/gccintro_40.html
3.10 Options That Control Optimization
https://gcc.gnu.org/onlinedocs/gcc-3.4.4/gcc/Optimize-Options.html
-O2
Optimize even more. GCC performs nearly all supported optimizations
that do not involve a space-speed tradeoff. The compiler does not
perform loop unrolling or function inlining when you specify -O2.
past posts mentioning vs/repack
http://www.garlic.com/~lynn/94.html#7 IBM 7090 (360s, 370s, apl, etc)
http://www.garlic.com/~lynn/99.html#68 The Melissa Virus or War on Microsoft?
http://www.garlic.com/~lynn/2000g.html#30 Could CDR-coding be on the way back?
http://www.garlic.com/~lynn/2001b.html#83 Z/90, S/390, 370/ESA (slightly off topic)
http://www.garlic.com/~lynn/2001c.html#31 database (or b-tree) page sizes
http://www.garlic.com/~lynn/2001c.html#33 database (or b-tree) page sizes
http://www.garlic.com/~lynn/2001i.html#20 Very CISC Instuctions (Was: why the machine word size ...)
http://www.garlic.com/~lynn/2002c.html#28 OS Workloads : Interactive etc
http://www.garlic.com/~lynn/2002c.html#45 cp/67 addenda (cross-post warning)
http://www.garlic.com/~lynn/2002c.html#46 cp/67 addenda (cross-post warning)
http://www.garlic.com/~lynn/2002c.html#49 Swapper was Re: History of Login Names
http://www.garlic.com/~lynn/2002e.html#50 IBM going after Strobe?
http://www.garlic.com/~lynn/2002f.html#50 Blade architectures
http://www.garlic.com/~lynn/2003f.html#15 Alpha performance, why?
http://www.garlic.com/~lynn/2003f.html#21 "Super-Cheap" Supercomputing
http://www.garlic.com/~lynn/2003f.html#53 Alpha performance, why?
http://www.garlic.com/~lynn/2003g.html#15 Disk capacity and backup solutions
http://www.garlic.com/~lynn/2003h.html#8 IBM says AMD dead in 5yrs ... -- Microsoft Monopoly vs. IBM
http://www.garlic.com/~lynn/2003j.html#32 Language semantics wrt exploits
http://www.garlic.com/~lynn/2004.html#14 Holee shit! 30 years ago!
http://www.garlic.com/~lynn/2004c.html#21 PSW Sampling
http://www.garlic.com/~lynn/2004m.html#22 Lock-free algorithms
http://www.garlic.com/~lynn/2004n.html#55 Integer types for 128-bit addressing
http://www.garlic.com/~lynn/2004o.html#7 Integer types for 128-bit addressing
http://www.garlic.com/~lynn/2004q.html#73 Athlon cache question
http://www.garlic.com/~lynn/2004q.html#76 Athlon cache question
http://www.garlic.com/~lynn/2005.html#4 Athlon cache question
http://www.garlic.com/~lynn/2005d.html#41 Thou shalt have no other gods before the ANSI C standard
http://www.garlic.com/~lynn/2005d.html#48 Secure design
http://www.garlic.com/~lynn/2005h.html#15 Exceptions at basic block boundaries
http://www.garlic.com/~lynn/2005j.html#62 More on garbage collection
http://www.garlic.com/~lynn/2005k.html#17 More on garbage collection
http://www.garlic.com/~lynn/2005m.html#28 IBM's mini computers--lack thereof
http://www.garlic.com/~lynn/2005n.html#18 Code density and performance?
http://www.garlic.com/~lynn/2005o.html#5 Code density and performance?
http://www.garlic.com/~lynn/2006b.html#15 {SPAM?} Re: Expanded Storage
http://www.garlic.com/~lynn/2006b.html#23 Seeking Info on XDS Sigma 7 APL
http://www.garlic.com/~lynn/2006e.html#20 About TLB in lower-level caches
http://www.garlic.com/~lynn/2006e.html#46 using 3390 mod-9s
http://www.garlic.com/~lynn/2006i.html#37 virtual memory
http://www.garlic.com/~lynn/2006j.html#18 virtual memory
http://www.garlic.com/~lynn/2006j.html#22 virtual memory
http://www.garlic.com/~lynn/2006j.html#24 virtual memory
http://www.garlic.com/~lynn/2006l.html#11 virtual memory
http://www.garlic.com/~lynn/2006o.html#23 Strobe equivalents
http://www.garlic.com/~lynn/2006o.html#26 Cache-Size vs Performance
http://www.garlic.com/~lynn/2006r.html#12 Trying to design low level hard disk manipulation program
http://www.garlic.com/~lynn/2006x.html#1 IBM sues maker of Intel-based Mainframe clones
http://www.garlic.com/~lynn/2006x.html#16 The Future of CPUs: What's After Multi-Core?
http://www.garlic.com/~lynn/2007g.html#31 Wylbur and Paging
http://www.garlic.com/~lynn/2007m.html#55 Capacity and Relational Database
http://www.garlic.com/~lynn/2007o.html#53 Virtual Storage implementation
http://www.garlic.com/~lynn/2007o.html#57 ACP/TPF
http://www.garlic.com/~lynn/2007s.html#41 Age of IBM VM
http://www.garlic.com/~lynn/2008c.html#24 Job ad for z/OS systems programmer trainee
http://www.garlic.com/~lynn/2008c.html#78 CPU time differences for the same job
http://www.garlic.com/~lynn/2008d.html#35 Interesting Mainframe Article: 5 Myths Exposed
http://www.garlic.com/~lynn/2008e.html#16 Kernels
http://www.garlic.com/~lynn/2008f.html#36 Object-relational impedence
http://www.garlic.com/~lynn/2008l.html#81 Intel: an expensive many-core future is ahead of us
http://www.garlic.com/~lynn/2008m.html#69 Speculation ONLY
http://www.garlic.com/~lynn/2008q.html#65 APL
http://www.garlic.com/~lynn/2010j.html#48 Knuth Got It Wrong
http://www.garlic.com/~lynn/2010j.html#81 Percentage of code executed that is user written was Re: Delete all members of a PDS that is allocated
http://www.garlic.com/~lynn/2010k.html#8 Idiotic programming style edicts
http://www.garlic.com/~lynn/2010k.html#9 Idiotic programming style edicts
http://www.garlic.com/~lynn/2010m.html#5 Memory v. Storage: What's in a Name?
http://www.garlic.com/~lynn/2011e.html#8 Multiple Virtual Memory
http://www.garlic.com/~lynn/2012d.html#73 Execution Velocity
http://www.garlic.com/~lynn/2012j.html#20 Operating System, what is it?
http://www.garlic.com/~lynn/2012j.html#82 printer history Languages influenced by PL/1
http://www.garlic.com/~lynn/2012o.html#19 Assembler vs. COBOL--processing time, space needed
http://www.garlic.com/~lynn/2012o.html#20 Assembler vs. COBOL--processing time, space needed
http://www.garlic.com/~lynn/2013k.html#62 Suggestions Appreciated for a Program Counter History Log
http://www.garlic.com/~lynn/2014b.html#81 CPU time
http://www.garlic.com/~lynn/2014c.html#71 assembler
http://www.garlic.com/~lynn/2015c.html#66 Messing Up the System/360
http://www.garlic.com/~lynn/2015c.html#69 A New Performance Model ?
http://www.garlic.com/~lynn/2015f.html#79 Limit number of frames of real storage per job
http://www.garlic.com/~lynn/2016f.html#92 ABO Automatic Binary Optimizer
--
virtualization experience starting Jan1968, online at home since Mar1970