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."
Yeah, but I run your mom, and man, she runs *hot*.
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?
Top Most Bizarre/Disturbing Error Messages
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
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
Funny, but even Sun's JDK blows Perl out of the water.
If you work on commercial software, the type of license may determine whether you can use the code in your product.
It would be nice to see a few links uphold that claim.
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.
1998 called, and they want their joke back.
Hasn't been funny or true for a long time...
This was originally released back in the middle of November 2006!
h read.jsp?forum=367&thread=142364&cat=10
http://www-128.ibm.com/developerworks/forums/dw_t
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.
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)
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.
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.
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
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.
It's official. Most of you are morons.
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.
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.
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:
Stop Computers/Cars Analogies on S
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.
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.
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...
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!
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.
h tml
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.
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.
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
... that can be tweeked however by forcing the 1.4 compiler to generate 1.3 compatible byte code.
... you should be able to rewrite your code to use my.working.repalcement.of.MyClass very simple.
Sorry, but I don't believe that. You probably have problems to run 1.4 java on a 1.3 VM
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
angel'o'sphere
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
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
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.
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.
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
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.
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.