Re: Array optimizing problem in C++?
"Lew" wrote
Huh. According to what I've read, on average about 20% of a C++
program is devoted to memory management, in terms of run time.
I do not know where these articles got their information, however.
Chris Thomasson wrote:
20% seems excessive. Well, I guess you could say that some C programs
are 100% memory management... That is of course if the program
implements a memory allocator library...
Actually, the articles put 20% as the low end of the average for common C++
applications, not ones whose primary purpose is memory management, and stated
that it could be up to 35-40%.
<http://www.ddj.com/windows/184415544>
Geodesic Systems claims that programmers spend more than 20% of their time
managing and debugging memory; and in large programs that figure can expand to
as much as 30% to 40%.
<http://www.hpl.hp.com/personal/Hans_Boehm/gc/issues.html>
It is hard to measure this, but commonly proposed estimates are that
30% or 40% of development time devoted to storage management for
programs that manipulate complex linked data structures. (See, for
example, Rovner, ``On Adding Garbage Collection and Runtime Types to
a Strongly-Typed, Statically Checked, Concurrent Language'', PARC CSL-84-7.)
It seems as I research these articles that I was mistaken in calling this a
run-time issue. These resources speak of development time. That actually is
the larger cost for most software. With an area as tricky as memory
management is to get right, that would also be the area with the highest risk
of bugs, especially for an aspect that is not the primary purpose of the program.
Some followup reading:
<http://www.memorymanagement.org/faq.html>
<http://dept-info.labri.fr/~strandh/Teaching/MTP/Common/Strandh-Tutorial/need-for-garbage-collection.html>
<http://en.wikipedia.org/wiki/Garbage_collection_(computer_science)>
--
Lew