I too suspect that eventually Intel and like will find a solution to the write 
bandwidth problem but until then.... Kirk
On Jun 17, 2011, at 4:45 PM, Kevin Wright wrote:

> While we're travelling down this line of thought... let me throw Jonathan 
> Edwards' "Coherent Reaction" approach into the mix.
> http://dspace.mit.edu/bitstream/handle/1721.1/45563/MIT-CSAIL-TR-2009-024.pdf?sequence=1
> 
> (yes, the same guy who wrote "switching to plan J")
> 
> As Kirk points out, CPU write bandwidth can be a problem for performance, and 
> immutability puts extra pressure on this.  Hardware can help, and I believe 
> we *will* get this support as future core counts continue to grow.  After 
> all, the pressure here is coming from LINQ in .NET, F#, fortress, clojure, 
> etc. in addition to Scala, so it's going to be of value to the HPC crowd, as 
> well as IBM, Oracle, Microsoft and other groups who are highly persuasive 
> when it comes to requesting hardware features.
> 
> So sure, there are valid reasons for sacrificing immutability; but the 
> problem is that we're talking about performance, and therefore optimisation.  
> 
> As we all know, premature optimisation is the root of all evil, and I don't 
> think you can get much more premature than giving up on the concept after 
> reading a mailing list  long before you've written even a single line of code.
> 
> 
> 
> On 17 June 2011 15:16, Josh Berry <tae...@gmail.com> wrote:
> On Fri, Jun 17, 2011 at 10:05 AM, Kirk <kirk.pepperd...@gmail.com> wrote:
> > If you don't want something to change the internal state, don't export it.
> >
> 
> Hmm... sounds like you are talking more about complex datastructures.
> I'm typically more concerned with immutability in value types.  And, I
> ultimately wouldn't even care if the actual representation of the
> String I'm using is mutated behind me.  Interned for example.  What I
> care about is the value that I get when I use it stays the same.  This
> is similar to the GC argument.  I don't care if my object stays put in
> memory after I construct it.  Only that I always get back to the same
> object when I reference it.
> 
> Now, I know there are "persistent" datastructures.  My understanding
> is the majority of those actually use mutations behind the scenes.
> (At least the complex ones.  I confess I have not read all of
> Functional Datastructures.  Much less understood it.)
> 
> --
> You received this message because you are subscribed to the Google Groups 
> "The Java Posse" group.
> To post to this group, send email to javaposse@googlegroups.com.
> To unsubscribe from this group, send email to 
> javaposse+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/javaposse?hl=en.
> 
> 
> 
> 
> -- 
> Kevin Wright
> 
> gtalk / msn : kev.lee.wri...@gmail.com
> mail: kevin.wri...@scalatechnology.com
> vibe / skype: kev.lee.wright
> quora: http://www.quora.com/Kevin-Wright
> twitter: @thecoda
> 
> "My point today is that, if we wish to count lines of code, we should not 
> regard them as "lines produced" but as "lines spent": the current 
> conventional wisdom is so foolish as to book that count on the wrong side of 
> the ledger" ~ Dijkstra
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "The Java Posse" group.
> To post to this group, send email to javaposse@googlegroups.com.
> To unsubscribe from this group, send email to 
> javaposse+unsubscr...@googlegroups.com.
> 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 javaposse@googlegroups.com.
To unsubscribe from this group, send email to 
javaposse+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en.

Reply via email to