There can be a significant perfomance penalty for using
AUTOLOAD on OOP get/set functions however. It really
depends on the objects purpose. We had some get/set routines
autoloaded for database objects. So a autoloaded get/set function would get
called for each record of each row that got returned, and it
sucked majorly. By removing the autoloading and just accessing the data
structure directly we increased the peformance by over 20 times (over a minute to about 3 seconds).
But AUTOLOADING is great for objects where the get/setting is
not a significant process. And I love it for those lazy
days of hacking out proof-of-concept stuff in the OOP world.