[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]

Re: ~"Smalltalk is so confusing it's as bad as HYPERTEXT!~"

...efficiency considerations...

As ravi hints, a lot depends on whether a system inherits statically
(ala C++) or dynamically (ala Objective).  A static inheritance
system knows all ``got-froms'' in the instance-at-hand at compile
(or creation) time and can ``pull through'' the hierarchy and have
the inherited methods execute from a direct message to the instance.
So, there is no additional overhead in static systems no matter how
many levels of inheritance are (logically) passed through.  Dynamic
systems have to slosh these messages around at run-time since which
thing I'm inheriting from isn't known at translation time.

The real performance improvements are algorithmic, not diddling

There's a good story of how Dennis Ritchie used to go around telling
people how fast function calls were on the PDP11 C compiler (he
knew this was false) so's they would use good coding practices.  It
was something like 3 years before anyone other than Dennis actually
measured the beasts and found something like 30 usec per call on
an 11/45.