Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re (tilly) 1: Speeding-up OO accessor methods

by tilly (Archbishop)
on Sep 19, 2000 at 01:17 UTC ( #33031=note: print w/replies, xml ) Need Help??

in reply to Speeding-up OO accessor methods

You improve it by using a hash and if one day you want it to be something else then you will just tie the hash to an OO implementation.

To tie it all you need to do is provide a class with the OO interface Perl is looking for, then call tie on the data structure you wish to tie.

Note that the correct documentation is in perldoc perltie - and this is one area where Perl has improved significantly over releases so looking at your local documentation Really Matters On This One.

  • Comment on Re (tilly) 1: Speeding-up OO accessor methods

Replies are listed 'Best First'.
RE: Re (tilly) 1: Speeding-up OO accessor methods
by mirod (Canon) on Sep 19, 2000 at 01:20 UTC

    I admit I haven'd done any benchmarking here, but aren't tie-ed variables slower than a simple hash access? The whole point of this hack is to get some speed.</pp>

      The whole point of this hack as I see it is to write a ton of code so in the long run you could switch the implementation from hash access (fast) to something slower but more flexible.

      Being prepared to move to a tied interface later gives you that flexibility without any loss in speed or extra coding and development effort up front. Downstream that extra time will likely matter more anyways.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://33031]
[haukex]: I figured that POD tests make sense, but only as author tests
[choroba]: I mean, the slides are, but not the makefile with scripts to create them
[Corion]: haukex: I've only now arrived at that revelation ;)
[Corion]: choroba: I use spod5, which also has that support, and also implements its own kinda-make stuff
[haukex]: But that module I just linked to assumes that most verbatim blocks are runnable code, I have other modules where that's not the case, so there I just copy-and-paste the synopsis into the author tests...
[haukex]: not the most efficient, but then again, I don't have that many modules on CPAN :-)
[Corion]: haukex: Yes, but if it's only supposed to run on my machine, I can be far more liberal with how I extract the code etc.
[Corion]: haukex: Yes - I see the benefit of using Dist::Zilla for people with 150+ modules on CPAN, but I don't see it for myself, and I'm always put off from contributing to such modules because they require a lot of toolchain setup that I don't want to ...
[Corion]: ... spend time on if I only want to provide a short patch
[haukex]: Corion: Yes exactly, in the author tests I don't worry about portability as much, I also don't list the author tests' dependencies in Makefile.PL

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (13)
As of 2017-02-27 12:34 GMT
Find Nodes?
    Voting Booth?
    Before electricity was invented, what was the Electric Eel called?

    Results (385 votes). Check out past polls.