What every programmer should know about memory

Just stumbled upon What every programmer should know about memory:

  1. Part 1 (Introduction)
  2. Part 2 (CPU Caches)
  3. Part 3 (Virtual memory)
  4. Part 4 (NUMA systems)
  5. Part 5 (Cache optimization)
  6. Part 6 (Threaded optimizations)
  7. Part 7 (Memory performance tools)
  8. Part 8 (Future technologies)
  9. Part 9 (Appendices and bibliography)

CATB Vocab

Interesting words encountered in The Cathedral and the Bazaar and related essays.

etiology
n. The study of causes or origins.
n. The branch of medicine that deals with the causes or origins of disease.
n. Assignment of a cause, an origin, or a reason for something.
exiguous
adj. Extremely scanty; meager.
burgeon
intransitive v. To put forth new buds, leaves, or greenery; sprout.
intransitive v. To begin to grow or blossom.
intransitive v. To grow or develop rapidly.
fiat
n. An arbitrary order or decree.
n. Authorization or sanction: government fiat.
fungible
adj. Law Returnable or negotiable in kind or by substitution, as a quantity of grain for an equal amount of the same kind of grain.
adj. Interchangeable.
n. Something that is exchangeable or substitutable. Often used in the plural.
kibitzer
n. A person who offers unsolicited views, advice, or criticism; one who kibitzes.
gestation
n. The period of development in the uterus from conception until birth; pregnancy.
n. The conception and development of a plan or an idea in the mind.
Delphi effect
The Delphi method is a structured communication technique or method, originally developed as a systematic, interactive forecasting method which relies on a panel of experts. The experts answer questionnaires in two or more rounds. After each round, a facilitator provides an anonymous summary of the experts’ forecasts from the previous round as well as the reasons they provided for their judgments. Thus, experts are encouraged to revise their earlier answers in light of the replies of other members of their panel. It is believed that during this process the range of the answers will decrease and the group will converge towards the “correct” answer. Finally, the process is stopped after a predefined stop criterion (e.g. number of rounds, achievement of consensus, stability of results) and the mean or median scores of the final rounds determine the results.
founder
v. To sink below the surface of the water: The ship struck a reef and foundered.
v. To cave in; sink: The platform swayed and then foundered.
v. To fail utterly; collapse: a marriage that soon foundered.
beleaguered
adj. Besieged; surrounded by enemy troops.
adj. Beset by trouble or difficulty.
v. Simple past tense and past participle of beleaguer.
succour
n. Chiefly British Variant of succor.
n. Assistance in time of distress; relief.
n. One that affords assistance or relief.
v. To give assistance to in time of want, difficulty, or distress. See Synonyms at help.
neotenous
adj. Exhibiting retention of juvenile characteristics in the adult.
adj. Babyfaced.
epilog
n. Alternative spelling of epilogue.
n. A short poem or speech spoken directly to the audience following the conclusion of a play.
n. The performer who delivers such a short poem or speech.
n. A short addition or concluding section at the end of a literary work, often dealing with the future of its characters. Also called afterword.
aphorist
n. A person who writes or recites aphorisms.
aphorism
n. A tersely phrased statement of a truth or opinion; an adage. See Synonyms at saying.
n. A brief statement of a principle.
regime
n. A form of government: a fascist regime.
n. A government in power; administration: suffered under the new regime.
n. A prevailing social system or pattern.
constellation
n. Astronomy An arbitrary formation of stars perceived as a figure or design, especially one of 88 recognized groups named after characters from classical mythology and various common animals and objects.
n. Astronomy An area of the celestial sphere occupied by one of the 88 recognized constellations.
n. The configuration of planets at the time of one’s birth, regarded by astrologers as determining one’s character or fate.
Gaussian distribution
In probability theory, the normal (or Gaussian) distribution is a very common continuous probability distribution. Normal distributions are important in statistics and are often used in the natural and social sciences to represent real-valued random variables whose distributions are not known.
Poisson distribution
In probability theory and statistics, the Poisson distribution, named after French mathematician Siméon Denis Poisson, is a discrete probability distribution that expresses the probability of a given number of events occurring in a fixed interval of time and/or space if these events occur with a known average rate and independently of the time since the last event. The Poisson distribution can also be used for the number of events in other specified intervals such as distance, area or volume.
legion
n. The major unit of the Roman army consisting of 3,000 to 6,000 infantry troops and 100 to 200 cavalry troops.
n. A large military unit trained for combat; an army.
n. A large number; a multitude. See Synonyms at multitude.
milieu
n. An environment or a setting.
extol
v. To praise highly; exalt. See Synonyms at praise.

C++ Virtual Destructors and Base Classes

I’ve been wondering what happens when a derived class defines a virtual destructor. What about its base destructors? Are they called? If so, when? I finally read the right paragraph in The C++ Programming Language (pg 70):

A virtual destructor is essential for an abstract class because an object of a derived class is usually manipulated through a pointer to a base class. Then, the virtual function call mechanism ensures that the proper destructor is called. That destructor then implicitly invokes the destructors of its bases and members.

Still not sure when the bases and members are destructed, presumably after the derived virtual destructor…