Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

Re^4: elsif chain vs. dispatch

by almut (Canon)
on Apr 27, 2009 at 20:59 UTC ( #760433=note: print w/replies, xml ) Need Help??

in reply to Re^3: elsif chain vs. dispatch
in thread elsif chain vs. dispatch

I recall that perls from 5.8.3 or so have code in place to watch out for this sort of degenerate case

I think it's the HV_MAX_LENGTH_BEFORE_SPLIT, currently set to 14.

/* hv.c */ #define HV_MAX_LENGTH_BEFORE_SPLIT 14 ... Perl_hv_common( ... ) { ... while ((counter = HeNEXT(counter))) n_links++; if (n_links > HV_MAX_LENGTH_BEFORE_SPLIT) { /* Use only the old HvKEYS(hv) > HvMAX(hv) condition t +o limit bucket splits on a rehashed hash, as we're not goin +g to split it again, and if someone is lucky (evil) enou +gh to get all the keys in one list they could exhaust our + memory as we repeatedly double the number of buckets on ev +ery entry. Linear search feels a less worse thing to do +. */ hsplit(hv); } ... }

(the comment seems to be a left-over from an ealier implementation, though...)

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://760433]
[stevieb]: Nick... can you include a comma-separated list to the operation, or a wildcard?

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (2)
As of 2017-07-22 19:10 GMT
Find Nodes?
    Voting Booth?
    I came, I saw, I ...

    Results (340 votes). Check out past polls.