errr, profilers don't find write bandwidth bottlenecks in large applications. There is a *lot* more to profiling then just blindly throwing an execution profiler at an application.
If a function can be substituted with a constant return it wasn't much of a function was it.. and again, having an object take responsibility for it's internal state takes care of a lot of problems. Just look at actors. Regards, Kirk On Jun 21, 2011, at 10:27 AM, Kevin Wright wrote: > > > On 21 June 2011 03:40, Steve Lindsay <[email protected]> wrote: > On Jun 21, 3:01 am, Kirk <[email protected]> wrote: > > > > Again, I'm not against immutability, it just seems that we've all picked up > > on that sound bite and have forgotten all of the other colors that make the > > world interesting. > > > > Hasn't most of the immutability push (outside of this thread at least) > been about safety, maintainability, ability to reason about complexity > etc., rather than performance? > > > Oh absolutely. It's very refreshing being able to see some value declared at > the top of a class and being certain that it's exactly the same thing further > down the file. This becomes even more useful if you want to be certain that > some other thread also hasn't fiddled with it. > > It's also much easier dealing with pure functions, guaranteed to always do > the same thing for the same input and not have side effects. Referential > integrity means that you can substitute a function call with its > precalculated result; this particular optimisation is almost as old as > programming itself, with one classic example being a lookup table of > trigometric functions. > > So dropping immutability is a very useful optimisation, but it certainly > isn't the only one in our toolbox, and there are other optimisations that > immutability makes possible. As always, we're better off starting with clean > and provably correct code, then letting a profiler be our guide as to where > speedups can be found. > > -- > You received this message because you are subscribed to the Google Groups > "The Java Posse" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/javaposse?hl=en. -- You received this message because you are subscribed to the Google Groups "The Java Posse" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
