Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

Re^3: Speeding up named capture buffer access

by vitoco (Friar)
on Dec 01, 2009 at 15:41 UTC ( #810406=note: print w/replies, xml ) Need Help??

in reply to Re^2: Speeding up named capture buffer access
in thread Speeding up named capture buffer access

I don't see anything wrong with:

%tmp = %+;

Did you try/get the number of calls of this?

BTW, I first thought about the following as in update/append mode for hashes:

@tmp{ keys %+ } = values %+;

but I could predict that the number of calls should increase.

Replies are listed 'Best First'.
Re^4: Speeding up named capture buffer access
by SBECK (Hermit) on Dec 01, 2009 at 16:33 UTC

    There's not anything 'wrong' with it (i.e. it works), but now, in addition to 3 calls to FETCH for every key, there are also calls to FIRSTKEY and NEXTKEY, so the number of calls increases, and it's marginally slower.

    Basically, if there are 3 named buffers (and in the real-life module, there's usually a lot more than that), there have to be 3 calls to FETCH, but by doing the work at the level of my module, it is constantly doing a FETCH and returning to my module, then calling FETCH again, over and over.

    I want to have a Tie::Hash method which will return the entire hash. Then there will be only a single call to a Tie::Hash::NamedCapture routine (which will then call all of the FETCH'es internally, but since this is all c code, it should be a lot faster).

    Unfortunately, I'm fairly certain it doesn't exist at this point, so I'm just experimenting with ways to speed up what I've got.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://810406]
NodeReaper gets the Vote Fairy drunk

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (5)
As of 2018-03-20 22:13 GMT
Find Nodes?
    Voting Booth?
    When I think of a mole I think of:

    Results (260 votes). Check out past polls.