in reply to Speeds vs functionality
CPU's may still be getting marginally faster; but typical data files are increasing in size at a much faster rate.
My personal take is that seldom used and one-off requested features should not impact the performance unless those features are being used!
This is easily accomplished by having the minimal/most-used functionality -- the fast(est) version of a primary function or method -- as the default; and then have the added-functionality version override that if and when it is required.
Eg.
sub function_fast { ... } sub function_full { ... function_fast( ... ); ## If possible, else copy-paste common code d +espite the DRY principle... ... } sub function; sub function_init { my %args = @_; validate_args( \%args ); if( added_functionality_required ) { *function = \&function_fast; } else { *function = \*function_full; } }
Poor example code, but hopefully explains my drift.
|
|---|