in reply to The Cost of Nested Referencing
I don't agree code with multiple indices is necessary hard
to read, and using an intermediate reference is clearer.
Something like:
is in my opinion far more clear than:$data {$host} {$user} {$process} += $time_used;
The former clearly shows you are collecting data, per host, per user and per process. The latter is just a mess, and you quickly run out of sensible variable names.$host_ref = $data {$host}; $user_host_ref = $host_ref -> {$user}; $proc_user_host_ref = $user_host_ref -> {$process}; $proc_user_host_ref += $time_used;
If you have cases where $var {key1} {key2} {key3} becomes unclear, you either have to redesign your datastructure, or need to find better key or variable names.
That using a reference to an inner structure is a win in your benchmark is clear, as you don't have to redo some calculations. But you cannot do that always - you can only do that if you access the same keys repeatedly. Often, the keys used are variable, and will differ from iteration to iteration.
Abigail
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Re: The Cost of Nested Referencing
by shotgunefx (Parson) on Nov 15, 2002 at 14:30 UTC | |
by Abigail-II (Bishop) on Nov 15, 2002 at 14:46 UTC | |
Re: Re: The Cost of Nested Referencing
by lestrrat (Deacon) on Nov 15, 2002 at 19:21 UTC | |
by Aristotle (Chancellor) on Nov 20, 2002 at 13:54 UTC | |
by lestrrat (Deacon) on Nov 20, 2002 at 18:24 UTC | |
by Aristotle (Chancellor) on Nov 20, 2002 at 18:34 UTC | |
by lestrrat (Deacon) on Nov 20, 2002 at 18:39 UTC | |
| |
by Abigail-II (Bishop) on Nov 19, 2002 at 10:11 UTC |
In Section
Meditations