News for hackers. Stuff that matters.
Re:Java 7 is now available by nkassis on Thursday July 28, 2011 @11:59AM (#2817422)
So for languages like Clojure,Scala does this offer any new feature for them?
Re:Java 7 is now available by ghotli on Thursday July 28, 2011 @12:07PM (#2817462)
Yes [1]. Invokedynamic (JSR-262). Quote from an older article [2]:

"... enable[s] implementers of compilers for dynamically typed languages, that is, the people who develop compilers for languages such as JRuby and Jython, to generate bytecode that runs extremely fast in the JVM."

[1] http://blogs.oracle.com/jrose/entry/jsr_292_launched_in_java

[2] http://java.sun.com/developer/technicalArticles/DynTypeLang/...

Re:Java 7 is now available by peterb on Thursday July 28, 2011 @01:04PM (#2817757)
Indeed, As Charles Nutter (JRuby) wrote:

"There’s a very real chance that invokedynamic could improve JRuby performance many times, putting us on par with our statically-typed brothers like Java and Scala. And that means you can write Ruby code without fear. Awesome."

http://www.engineyard.com/blog/2011/jruby-1-6-released-now-w...

Re:Java 7 is now available by jamesgeck0 on Thursday July 28, 2011 @03:00PM (#2818377)
So invokedynamic is already wired into JRuby? I can just install the Java 7 runtime and see significant performance improvements?
Re:Java 7 is now available by peterb on Thursday July 28, 2011 @07:20PM (#2819412)
JRuby 1.7 has the major Invokedynamic changes. You can play with trunk for now.
Re:Java 7 is now available by gvkv on Thursday July 28, 2011 @12:41PM (#2817631)
Whoo-hoo! Time for the Perl port.
Re:Java 7 is now available by sigzero on Thursday July 28, 2011 @02:02PM (#2818077)
Good luck with that wish.
Re:Java 7 is now available by bowyakka on Friday July 29, 2011 @12:45AM (#2820256)
I would have to lookup the serious academic paper that says peel is technically unparsable in the same ways as PL/1. I think to date there have been two aborted perk on java efforts

Not sure if perl6 has the same properties mind.

Re:Java 7 is now available by rat on Friday July 29, 2011 @02:29AM (#2820491)
I think perl6 is meant to have mutiple implementations.
Re:Java 7 is now available by bowyakka on Friday July 29, 2011 @11:33PM (#2824781)
I wish I had checked that over I just saw that my phone mangled perl twice
Re:Java 7 is now available by Mitt on Thursday July 28, 2011 @12:07PM (#2817460)
Yes, Clojure will profit from Fork/Join: http://download.oracle.com/javase/tutorial/essential/concurr...

For example see here, pvec: http://clojure.org/other_libraries

Of course, improvements like the GC1, improvements in HotSpot etc, they all will make Clojure apps run even faster.

Re:Java 7 is now available by runevault on Thursday July 28, 2011 @12:35PM (#2817592)
Oh nice, I thought F/J got pushed into 8. Glad to see I was wrong.
Re:Java 7 is now available by bensummers on Thursday July 28, 2011 @12:04PM (#2817448)
For dynamic JVM languages, the new invokedynamic bytecode is a huge performance boost.
Re:Java 7 is now available by Mitt on Thursday July 28, 2011 @12:14PM (#2817485)
Probably not. See what Rich Hickey said about this: http://clojure-log.n01se.net/date/2008-09-03.html#09:13a
Re:Java 7 is now available by runevault on Thursday July 28, 2011 @12:36PM (#2817601)
For clojure no, but jRuby and several similar languages are getting a huge boost.
Re:Java 7 is now available by PyErr_SetString on Thursday July 28, 2011 @12:48PM (#2817667)
Have you seen any actual numbers on this? I've googled around a bit and can't seem to find any.
Re:Java 7 is now available by runevault on Thursday July 28, 2011 @12:55PM (#2817703)
JRuby developer Charles Nutter claims that Java JDK7 gives a performance boost to JRuby, saying "On bench_threaded_reverse, Java 7 is 20% faster than Java 6, and JRuby plus invokedynamic is 20% faster than that".[1]

From http://en.wikipedia.org/wiki/JRuby with the [1] being

https://twitter.com/#!/headius/status/78282122997149696

Re:Java 7 is now available by kingkilr on Thursday July 28, 2011 @12:57PM (#2817721)
I'm a little disappointed that people are still talking about tagged ints. There are so many better ways to avoid the overheap of integers being a refrence type (namely type specializing everything under the sun, particularly your JIT'd code and data structures).
Re:Java 7 is now available by xyzzyz on Thursday July 28, 2011 @04:25PM (#2818763)
Could you please tell me something more about it? Tagged unboxed data seems to be a nice solution for me.
Re:Java 7 is now available by kingkilr on Thursday July 28, 2011 @04:41PM (#2818828)
Well, the problem with it is it has a negative performance impact on everything else in your codebase, the first time you see any pointer you need to check if it's tagged or not. The advantages are clear: you don't need to allocate anything on the heap for integers. Which means you're sacrificing performance on everything else, for integers. Solutions such as automatic type-specializing containers don't carry this downside, and carry the same upside. For example at the moment PyPy type-specializes dictionaries. Python has a single `dict` type, which can store anything, but we type specialize and fallback if we get it wrong. Similarly, we're working on type-specializng lists, tuples, and user objects. If there's anything more I can answer let me know.
Re:Java 7 is now available by jawher on Thursday July 28, 2011 @12:04PM (#2817451)