Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re^4: inside-out objects using arrays?

by fishbot_v2 (Chaplain)
on Sep 18, 2005 at 00:56 UTC ( #492950=note: print w/replies, xml ) Need Help??


in reply to Re^3: inside-out objects using arrays?
in thread inside-out objects using arrays?

You could avoid that problem by assigning the index to the first undef slot, rather than straight incrementing:

my $instance_index = List::Util::first { !defined $_ } @name;

You end up, though, with an O(n) constructor. But perhaps the savings in access make up for this.

Replies are listed 'Best First'.
Re^5: inside-out objects using arrays?
by chromatic (Archbishop) on Sep 18, 2005 at 02:20 UTC

    If you really want to save memory, you may want to avoid pinning your inside-out array at the high-water mark. Store a stack of reclaimed indices and push to it in the destructor and shift from it when generating the reference for a new object. Then you can shrink the array if necessary.

    (When you ask "Wait, won't it stay at the high-water mark even if there were 1000 elements and are only two now?", I'll sigh and talk about compacting garbage collectors and double-indirection the other flaws in this scheme. Still, it's a fun idea.)

      Hey, that's neat. I'll have to think about that. Thanks!
Re^5: inside-out objects using arrays?
by ikegami (Pope) on Sep 18, 2005 at 02:52 UTC
    Why not just convert @name to %name. You can keep using the numerical index. That changes the array into a sparse array. The time cost is quite minimal.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://492950]
help
Chatterbox?
[marto]: LanX I'd rather commit sudoku :P
[marto]: trench humour folks, feeling rough.
[marto]: there is never a night when they sleep all the way through, but last night was something else
[marto]: gave in at 3:45 ish and let Charlie watch videos about spitfires, the battle of Britain. He's plane crazy
[1nickt]: marto soothing!
[marto]: Hiromi makes an appearance, let's hope Jools doesn't ruin it by joining in on the old Joanna
[1nickt]: karlgoethebier What is the issue with the semic-colon after the ellipsis? It's documented as proper syntax ...;

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (7)
As of 2017-11-18 18:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    In order to be able to say "I know Perl", you must have:













    Results (277 votes). Check out past polls.

    Notices?