Slashdot Mirror


IBM Releases Fastest SDK For Java 6

IndioMan writes "IBM is releasing an SDK for Java 6 and is sponsoring an Early Release Program to gather feedback from the Java community. Product binaries and documentation are available for Linux on x86 and 64-bit AMD, and AIX for PPC for 32- and 64-bit systems. In addition to supporting the Java SE 6 Platform specification, IBM's SDK also focuses on platform stability, performance, and diagnostics. It's tops on every benchmark."

38 of 117 comments (clear)

  1. Re:64? by Anonymous Coward · · Score: 2, Funny

    Yeah, but I run your mom, and man, she runs *hot*.

  2. x86_64 plugin = Heros by baptiste · · Score: 4, Interesting

    If they include a x86_64 browser plugin they'll be heros. It's 2007 and Sun still refuses to release a 64-bit browser JRE plugin because..... why?

    1. Re:x86_64 plugin = Heros by Anonymous Coward · · Score: 4, Informative
      maybe because the JIT compiler has to convert the java instructions to x86-64 instructions, so it's not just a simple recompile.
      Right, because that's so different when it's running under a browser than under the standalone VM that ALREADY EXISTS FOR X86-64.
    2. Re:x86_64 plugin = Heros by bcrowell · · Score: 4, Interesting

      By March, 100% of Java will be available under GPL, right? So at that point, I would think that anybody who has the skills and time will be able to clean up any code that's not 64-bit clean, and compile a 64-bit browser plugin. I'm looking forward to seeing some really good things happen in OSS with Java, now that all the licensing impediments are going away.

    3. Re:x86_64 plugin = Heros by Jeff+DeMaagd · · Score: 2, Insightful

      Personally, I understand why 64 bit isn't necessarily supported, but then, they support Linux and AIX on 64 bit PPC. I don't know if the 64 bit on PPC is because they've had it working for longer, because of its POWER heritage or just because it's their architecture. I also wonder if there is something about the x86 implementation that makes porting to 64 bit pretty hard.

      With respect to the browser plug-in, I don't really know that many people that are running 64 bit computers, using 64 bit aware operating systems and 64 bit software. I think it may just be a matter of trying to get something to suit most of the market and then plugging in the holes later.

    4. Re:x86_64 plugin = Heros by this+great+guy · · Score: 4, Informative

      There are 2 ways to get a 32-bit Java plugin running under a Linux/AMD64 environment (BTW, AMD64 is the official arch name implemented by AMD and Intel, x86-64 has been officially abandonned):

      • Use the Blackdown Java plugin, they provide a 64-bit version (it works ok, but I have come across at least 1 applet able to crash it).
      • Use nspluginwrapper that allows you to load 32-bit plugins in 64-bit browsers.

      Of course, since Sun has open sourced Java, a 64-bit Java plugin is likely to appear soon.

    5. Re:x86_64 plugin = Heros by bwt · · Score: 2, Insightful

      I don't really know that many people that are running 64 bit computers, using 64 bit aware operating systems and 64 bit software./i>

      I do, except I run a 32-bit firefox that I install by hand because I need a java plugin that works. You have to remove the barriers before people will use it, and once you do remove the barriers, they will come.

    6. Re:x86_64 plugin = Heros by TemporalBeing · · Score: 2, Insightful
      BTW, AMD64 is the official arch name implemented by AMD and Intel, x86-64 has been officially abandonned
      Yes, x86-64 has been abandoned by both parties. However, Intel according to this FAQ article, and this article is using the name Intel64, which according to the second article is just the EMT64 stuff renamed and enhanced by Intel. EMT64 was basically Intel's rip-off of AMD64; and according to the second article Intel64 is EMT64 with the SSE3, HT, and other Intel specific technologies. (I could be wrong in that it is a pure name change and that stuff was in EMT64, which is highly likely; but that's just my take from the page.)

      BTW, according to the articles, Intel64 was suppose to start being available in Q4 of 2006. Don't know if they met that or not.

      Of course, then there is the additional stuff from Microsoft that states:
      Intel64 property is defined only when it is running on an Itanium processor
      Which conflicts with Intel's FAQ (see above):
      Is Intel®64 the same technology used in the Itanium® 2 processor?
      No. Intel®64 is an extension to Intel's processors based on the IA-32 architecture. The Itanium processor family is based on the EPIC architecture. These are two separate families of processors, based on two different architectures. The Itanium processor family is specifically designed for the most demanding mission-critical applications.
      Which leaves me to wonder how Microsoft is going to differentiate between IA64 (Itanium's architecture) and Intel64 if they are referencing IA64 by the name Intel64.
      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    7. Re:x86_64 plugin = Heros by bcrowell · · Score: 2, Informative

      Hmm...interesting...this article says that there are 64-bit VMs with JIT. And this one talks about "beta versions for Windows 2000 and Linux on the Itanium platform (the virtual machine being a true 64-bit application)." Now it may be that these JITs are just compiling to x86 code, which then runs on an Itanium, so maybe it wouldn't be quite as fast as code that was specifically generated for the Itanium instruction set, but still I would think the performance would be plenty good enough for running applets in a web browser, which is what the OP was talking about. AFAICT, the issue is simply that nobody has put the work into packaging the existing 64-bit VMs as browser plugins.

  3. Re:Open Java? by VGPowerlord · · Score: 5, Informative

    Sun didn't want to delay the launch of Java 6, so it's Java 7 that's open source.

    --
    GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
  4. Re:Open Java? by VGPowerlord · · Score: 4, Informative

    I forgot to include my sources for that:
    Behind the scenes -- from Mark Reinholds Blog.

    --
    GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
  5. Re:The Fastest JDK? by Anonymous Coward · · Score: 5, Informative

    Funny, but even Sun's JDK blows Perl out of the water.

  6. Re:Under what license and is it opensource....? by try_anything · · Score: 2, Insightful

    If you work on commercial software, the type of license may determine whether you can use the code in your product.

  7. What benchmarks? by Anonymous Coward · · Score: 3, Insightful

    It would be nice to see a few links uphold that claim.

  8. Re:The Fastest JDK? by thule · · Score: 4, Insightful

    I know the statement was tagged as funny, but Java is quite fast these days. Java7 will only get faster with some really spiffy JVM ideas. I don't see Python, Perl, and Ruby catching up for a while.

    It seems to me that once Java is opened up and is included with every Linux distro out there, Java will not be perceived as large and slow anymore. It will be a simple apt-get, yum, etc away. It will just work.

  9. Re:The Fastest JDK? by Anonymous Coward · · Score: 2, Informative

    1998 called, and they want their joke back.

    Hasn't been funny or true for a long time...

  10. This was released back in November of 2006! by Anonymous Coward · · Score: 2, Informative

    This was originally released back in the middle of November 2006!

    http://www-128.ibm.com/developerworks/forums/dw_th read.jsp?forum=367&thread=142364&cat=10

  11. Re:The Fastest JDK? by Anonymous Coward · · Score: 3, Insightful

    Hasn't been funny or true for a long time...

    I think you're wrong. Even today, over 15 years since Java was first announced, we see little use of it for client-side development. There are only a handful of consumer-grade applications written in Java, with the most popular being Azureus and RSSOwl. Even then, one of the chief complaints against them is their lack of responsiveness and their excessive memory consumption. And keep in mind that they use SWT for their GUIs, which is in fact far lighter and more responsive than Swing. But compared to purely native applications, they're still noticeably slower.

    We really don't see Java applets used much any more. Flash has taken over.

    The only reason Java has obtained some level of success for enterprise-grade applications is because most large corporations can afford to spend hundreds of thousands of dollars on expensive, high-end Sun and IBM hardware. Those are the sort of systems one needs in order to make Java truly useful.

    It's in the best interest of the Java community for us to admit that Java is indeed quite slow. Only after we have admitted this fact will we truly be able to improve the situation.

  12. Re:The Fastest JDK? by Yosho · · Score: 5, Informative

    Why did the parent modded as troll? It's quite true. For example, look at The Computer Language Shootout. Sun's JVM is much faster than Perl in almost every benchmark except for startup times. Perl's memory consumption is somewhere better, but not even close to the same degree that Java is faster.

    Those benchmarks are based on Java 1.5, too. 1.6 is even faster.

    --
    Karma: Terrifying (mostly affected by atrocities you've committed)
  13. Re:Vulnerability by jerkface.us · · Score: 2, Informative

    FTA

    Systems Affected
    Sun Java Runtime Environment versions

            * JDK and JRE 5.0 Update 9 and earlier
            * SDK and JRE 1.4.2_12 and earlier
            * SDK and JRE 1.3.1_18 and earlier

    --
    Fortune favors the bold.
  14. Not all benchmarks better by greg_barton · · Score: 4, Informative

    Scimark wasn't even close:

    IBM java6:
    Composite Score: 482.8282568762099
    FFT (1024): 551.8002634079949
    SOR (100x100): 568.7588552216857
    Monte Carlo : 64.62096017621073
    Sparse matmult (N=1000, nz=5000): 219.84569330460474
    LU (100x100): 1009.1155122705532

    Sun java6:
    Composite Score: 617.5119705454583
    FFT (1024): 510.7586118547276
    SOR (100x100): 829.8686416193439
    Monte Carlo : 118.25350583943022
    Sparse matmult (N=1000, nz=5000): 470.6355733620428
    LU (100x100): 1158.0435200517468

    Higher scores are better. Both run on AMD X2 5000+

    Sun VM stomped on IBM's. That wasn't true with earlier VM's. IBM used to smoke Sun on scimark. Maybe there's more development to be done.

  15. Re:The Fastest JDK? by Time_Ngler · · Score: 3, Informative

    Client side, that is true. Server side, its just as fast or sometimes faster. See http://kano.net/javabench/ and http://www.aceshardware.com/Spades/read.php?articl e_id=153

  16. Re:The Fastest JDK? by Tim+C · · Score: 4, Funny

    Why did the parent modded as troll?

    Because this is slashdot, and perl is one of the Chosen Few Languages, along with C, Ruby, Python and PHP. Java, being both closed (for the moment) and slow (5 years ago on the client side) is not. Therefore, any statement that compares Java favourably with one of the Few Chosen Languages must be either a troll or flamebait.

    It's easier when you stop fighting the groupthink.

  17. Re:The Fastest JDK? by badfish99 · · Score: 2, Interesting

    It's certainly possible for Java code to run fast, once it's been through the just-in-time compiler, i.e. once it has been compiled to native code. That would surely be true for any language. But that means that you have to load up the whole of the compiler into memory in order to run your program. This is fine on a server, so long as you don't care about the cost of memory. It's a disaster on a client machine.

  18. Re:The Fastest JDK? by badfish99 · · Score: 2, Insightful

    Java7 will only get faster
    Yes, and Java 53 will be really good, and everyone will like it.
    In the meanwhile, we've still got customers stuck on 1.3, because our "write once, run anywhere" code doesn't run on 1.4, and it's too much effort to puzzle out why because Sun's runtime is just such a mess.

  19. Re:The Fastest JDK? by kv9 · · Score: 4, Insightful

    Because this is slashdot, and perl is one of the Chosen Few Languages, along with C, Ruby, Python and PHP. Java, being both closed (for the moment) and slow (5 years ago on the client side) is not.

    I believe you mean "Chosen-Few-Languages-for-Slamming". they all get it from the slashcrowd, in no particular order:

    • Java - slow, bloaty
    • C - old and krusty, pointers baaaad, get with the times
    • Ruby - it's the new Visual Basic
    • Python - haha whitespace
    • PHP - insecure, noobs
    • Perl - gruesome syntax and readability
  20. Re:Open Java? by rdean400 · · Score: 4, Informative

    That's not true. The source code has already been opened as a project:

    https://jdk.dev.java.net/

    The fact that they haven't made their first release from that product changes nothing.

  21. Re:The Fastest JDK? by jrumney · · Score: 2, Interesting

    Are your "write once, run anywhere" applications using internal APIs, or are they relying on bugs in the 1.3 class libraries to run? Personally I've only ever come across code that DOESN'T run properly on 1.3, due to bugs introduced between 1.2 and 1.3, and fixed in 1.4.

  22. Re:Does this mean a faster Eclipse? by owlstead · · Score: 4, Informative

    The slow performance of Eclipse is not due to the JVM, it's about the SWT library and it's bindings with the native libraries. There was an SWT port called SWT Fox that quickened things up a bit. It doesn't seem to be maintained anymore, but the performance speedup was very noticable. Changing the VM probably won't make the slightest of difference.

    That cost me two moderations. Why aren't moderations in a discussion depended on the *branch* of the discussion? Oh well...

  23. Bindings by ChunderDownunder · · Score: 2, Interesting
    This isn't to prove, per se, that the fox toolkit is any faster than gtk but that the corresponding translation to Java is.

    The SWT binding directly accesses gtk through JNI. This may have suited IBMs purposes of accessing gtk through the SWT API but might not be the most optimal binding of gtk to Java.

    The java-gnome project produces java bindings for gtk. They are in the process of being re-written from scratch using 2007 best practice JNI binding techniques. I suspect that an SWT implementation using this approach would far outperform the current offering. Maintenance would be far simpler too: no native code in the SWT layer!

  24. Re:The Fastest JDK? by Decaff · · Score: 4, Informative

    In the meanwhile, we've still got customers stuck on 1.3, because our "write once, run anywhere" code doesn't run on 1.4, and it's too much effort to puzzle out why because Sun's runtime is just such a mess.

    There could be several reasons why Java 1.3 code won't run on 1.4. One is if you use sun.* or com.sun.* packages directly, which is funcamentally against portability guidelines. Another could be real incompatibilities. There are very few incompatibilities between 1.3 and 1.4. They are listed here:
    http://java.sun.com/javase/compatibility_j2se1.4.h tml

    If you keeping customers from using Java 5.0 or Java 6.0 because you can't sort this out, you are keeping them from major performance and functional improvements.

  25. Re:The Fastest JDK? by angel'o'sphere · · Score: 2, Informative

    we've still got customers stuck on 1.3, because our "write once, run anywhere" code doesn't run on 1.4, and it's too much effort to puzzle out why

    Sorry, but I don't believe that. You probably have problems to run 1.4 java on a 1.3 VM ... that can be tweeked however by forcing the 1.4 compiler to generate 1.3 compatible byte code.

    1.3 byte code must by definition run on a 1.4 machine, and if there is indeed a problem in the class libraries a simple look at the exception trace should show you where. Even if you have used the same faulty class often, e.g. a com.sun.faulty.MyClass ... you should be able to rewrite your code to use my.working.repalcement.of.MyClass very simple.

    angel'o'sphere

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  26. Where are the sources ? by mritunjai · · Score: 2, Interesting


    SUN has released the sources to it's compiler and JDK.

    IBM where are thou the benefactor and promoter of Open Source ? Show us the GPL sources to your JDK and compiler!

    --
    - mritunjai
  27. Re:The Fastest JDK? by Gr8Apes · · Score: 2, Insightful

    If you read my post carefully, then you'll have noticed that I said 'servlet', not 'JSP'. The net result is indifferent after JSP compilation. JSPs are servlets. So once compiled, there is no difference between the two. You can, or could, precompile JSPs as well. (I haven't bothered with this feature since 2001, so don't know if it was dropped or still exists in new modern implementations. The QA regression run on a prod deployment also compiles all the JSPs.)

    I was trying to make an orange vs. orange comparison here. and you failed. Here's why:

    On the one hand you have precompiled ... java-code embedded in the server, on the other hand you have an apache module written in C, embedded in the server. In the first case, a request will have to pass via an arbitrary native (JVM-) implementation of 'select', in the latter case you're dealing with one of the fastest webservers on the planet executing native code. If your reading comprehension were actually as high as you apparently think, you'd note that by implication I stated precisely that. "[T]ake a loaded dump truck on a racetrack" in reference to using a JSP/servlet for something as simple as a Hello World application. Just in case you're really dense, the container that runs servlets/JSPs usually have considerably more plumbing than Apache + module. I state usually because somewhere I'm willing to bet there's an "optimized" JSP/servlet server that may be much closer to the Apache configuration. Apache is bare-bones.

    Regarding coding speed: Give me two equally skilled programmers, and tell them to hook up to a messaging queue, a couple of DBs, and throw in some business logic during the processing of your now somewhat complex "Hello World" app. If you want to make it more realistic, add in some transactional processing with writes to an external store. The Java guy will be at home while the code is tested and in production while the C++ guy is still working on getting the initial skeleton running. Note that in this scenario, which is a much closer semblance of reality in the business world, that the speed of the serving application becomes a miniscule portion of the total response time as the back-end systems and connections to them are your major bottlenecks. There is a reason companies have converted to Java. It wasn't because the development time went up.

    And this is not conjecture about Java being the better choice for business programming of the sort outlined - I have seen it in RL with Perl, COBOL, C, and C++. Those languages have their places as well, but large scalable flexible business applications are not it.

    BTW, you should note that I think Apache is a fine web server, and it fronts most of the web apps I have worked on and I use it personally.
    --
    The cesspool just got a check and balance.
  28. Re:Still makes me wonder by greg_barton · · Score: 2, Informative
    It still makes me wonder. Sun has been known to do crass benchmarketting before.

    Doesn't seem to be the case here. I'm doing some pretty heavy numerical stuff with java these days. The Sun java6 VM definitely outshines others at the moment. That used to be the case with the IBM VM. Maybe once it comes out of early release it'll be back to it's former glory.
  29. Re:The Fastest JDK? by samkass · · Score: 2, Insightful

    As someone who writes client-side Java, I can say that Swing is actually fairly responsive these days. However, it often suffers from a "first click is slow" problem, where the very first time you do something it's slow, then it's fast after that. So a cursory glance at Java apps often show them in the worst possible light.

    In any case, the meme that it's impossible to write a fluid, responsive UI in Java is just as wrong as it is on the server-side.

    --
    E pluribus unum
  30. Re:The Fastest JDK? by Gr8Apes · · Score: 2, Informative

    ]] JSPs are servlets.
     
    That's being a wise-ass for the sake of being a wise-ass. wise-ass? I think not - you explicitly stated servlets, not JSPs when in truth JSPs are for all intents and purposes servlets.

    There is no way to predict _how_ a JSP will be compiled into a servlet (it's engine specific, after all), ergo no way to compare the outcome. For all I care the engine encodes a JSP to go to sleep for a second or so before it produces any output. Wouldn't violate the spec, but I wouldn't be able to tell. The end result is a class file on every single system I've worked on. The conjecture that spurious crap happens is an empty strawman at best. Some engines may be more efficient than others, but that's true of any set of compilers.

    And I was trying for a bare-bones comparison, because anything beyond bare-bones is equally unpredictable; You're missing my point: the application server within which servlets run typically contain far more plumbing than Apache web servers. They were also designed for different tasks. You'll note that my originally statement was that your "'benchmark' wholly slanted to the 'lightness' of C++.". That statement is true, and even more true in light of the above sets of statements.

    what do you want to test - database access ? How can you possibly tell what it is you're waiting for ? Well, in my experience, you're waiting for network latency, no matter what you program your client in. So you're admitting that the performance of your application layer is largely irrelevant? Then what's the argument about?

    I want the bare-bones comparison precisely because it tells me what I can expect in terms of primary throughput from a webserver. which is irrelevant for an application layer. Let the webserver serve web pages, let the application tier do its job.

    As for programmability (which, I suspect, is really your point) then I guess your conjecture is as good as mine. The fact that there are more java programmers out there, or that business people use java programmers more doesn't necessarily mean that java is better for the job; it might just mean that java is more comprehensible to stupid people. Perhaps C++ programmers are so set in their ways of making buggies.... (just in case you don't get the double entendre, as you seem to be intentionally dense, that's a direct reference to the buggy manufacturers in the early 1900s as those new-fangled motor vehicles started taking over. It's also a reference to how C/C++ programmers continually produce the same common bugs, over and over again in their code - buffer overflows, bad pointer math, etc. Not that Java programmers don't do their own versions of these things, they just get there faster.;)

    But seriously - you're either an elitist snob C++ programmer or a troll - I don't really care to figure out which. I personally think C++ has grown into an abomination of its initial intent, which was a clean concise OO version C. Either way, I've met folks in both that are unfit for coding. It just so happens that in C/C++, those that are unfit are generally filtered out pretty quickly because continuous crashes are hard to hide. (Yes, Java is more forgiving.)

    Meanwhile maybe I'll go checkout the latest releases of Smalltalk or Ruby, or perhaps even Eiffel.
    --
    The cesspool just got a check and balance.
  31. Re:The Fastest JDK? by jgoemat · · Score: 2, Informative
    And I was trying for a bare-bones comparison, because anything beyond bare-bones is equally unpredictable; what do you want to test - database access ? How can you possibly tell what it is you're waiting for ? Well, in my experience, you're waiting for network latency, no matter what you program your client in. I want the bare-bones comparison precisely because it tells me what I can expect in terms of primary throughput from a webserver.

    Maybe you should look at an actual benchmark instead of assuming servlets would be slow. Yes, it depends on the platform, JDK, and servlet container. Resin with the IBM JDK did 510 'Hello, world' pages per second while mod_perl/Apache did only 324. The 'Hello, world' servlet even been mod_php on Apache's static page rate of 497 requests per second. With a 'Hello, world' implementation, you really have to look at the web server overhead. Where did you think the overhead was going to be in writing to a stream? What made you assume a servlet would be slower? It really depends on how the web server performs.