Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re^3: Creating accessors on the fly, or not...

by stvn (Monsignor)
on Jun 13, 2009 at 18:07 UTC ( [id://771272]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Creating accessors on the fly, or not...
in thread Creating accessors on the fly, or not...

Can you point me to a good explanation of why make_immutable is recommended?

So in an effort to contribute to the Iron Man blogging challenge I have posted a response here. I will copy the "short answer" part of my post here, but for a more detailed and in-depth explanation check out the blog post.

So the short answer is that making your class immutable is good because it memoizes several metaclass methods and installs an optimized constructor and destructor for your class and therefore helps reduce a fair amount of the cost (during runtime) of all the abstraction that the MOP provides.

-stvn
  • Comment on Re^3: Creating accessors on the fly, or not...

Replies are listed 'Best First'.
Re^4: Creating accessors on the fly, or not...
by dsheroh (Monsignor) on Jun 14, 2009 at 10:30 UTC
    Thanks for the very thorough answer! It really clarifies why, in Pichi's benchmarks, the immutable version creates objects about 10x faster than the mutable one. (And I'm always happy to provide someone with an excuse for an Iron Man post, seeing as I always seem to be looking for them myself.)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://771272]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (3)
As of 2024-12-07 18:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Which IDE have you been most impressed by?













    Results (50 votes). Check out past polls.