Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

HotSpot arrives

Hemos posted more than 15 years ago | from the come-and-get-it dept.

Java 93

ChrisRijk writes "See the HotSpot main-page for starters. HotSpot is basically a fast JVM, initially aimed at server-side Java - beta testers say it's 2x or more faster in real world applications - see this good article (not by Sun). See also the press release, FAQ, and white paper. Freely downloadable binaries available later this week. Linux port? Well, Sun are liscencing the code (for a fee), and claim to have designed it to be easily portable. Sun also announced their i-Planet software today - see this news.com article. "

cancel ×

93 comments

Sorry! There are no comments related to the filter you selected.

Looking for a speed dynamic language? (0)

Anonymous Coward | more than 15 years ago | (#1913289)

Well anyone looking for speed in a dynamic, object-oriented language might want to check out the Dylan programming language. It is considerably more abstract than Java (Dylan programs are significantly shorter), yet Dylan code is probably faster in most cases.

There are two main implementatin of Dylan:

an open-source implementation for Unix-compatible systems: http://www.gwydiondylan.org/ [gwydiondylan.org]


and a free version of Harlequin's commercial implementation for Win32: http://www.harlequin.com/products/ads/ dylan/ [harlequin.com]

Still no Linux... (0)

Anonymous Coward | more than 15 years ago | (#1913290)

Sun talks about "supporting" Linux but I won't believe they have any interest in any sort of real Linux support until it becomes a tier-1 platform for their Java products.

By supporting only Solaris and Windows platforms, Sun is being entirely reactive to "the Microsoft threat." They need to step up into a new market to start being proactive. Sun might lose some servers to Linux for doing server-side Java stuff, but I'd bet Microsoft would lose more if Linux became a tier-1 supported platform from Sun.

100 theorectical limit (0)

Anonymous Coward | more than 15 years ago | (#1913291)

I remembered reading Linus saying somethine about designing software to the 100% theoretical limit. He was refering to the Linux Kernel and the GNU Hurd Kernel. Java is one of those software which has a design goal that's too ambitious and lacks in practical application.

A lousy 2x increase? (0)

Anonymous Coward | more than 15 years ago | (#1913292)

Hotspot is Free (as in no cost), you only pay if you want to look at (and presumably modify) the source.

Java doesn't mix with other languages (0)

Anonymous Coward | more than 15 years ago | (#1913293)

For me Sun's involvement is ok but its the lack of interaction with other languages that sucks. If you want to use java you need a java gui and java middle and java wrapper for the db.

J++ sucked but it was really cool that you could write an app with a mix of C++, java and vb.

Hopefully corba components will allow the same functionality, but they're still a while off....

Language Troll (0)

Anonymous Coward | more than 15 years ago | (#1913294)

look, this is about java. when there is a story about dylan then you can jabber all you want. you damn dylan ppl and your constant harrasssing ppl to try your language has turned me (and prolly others too) off from it more than nay other thing could!

How do you figure? (0)

Anonymous Coward | more than 15 years ago | (#1913295)

java mixes just as well with other languages as say, c++ does. have you never heard of JNI (java native interface), netrexx, jpython, etc...

Java's great, but Sun?... (0)

Anonymous Coward | more than 15 years ago | (#1913296)

The only problem is that Sun has it under such a tight leash that the language is stagnating and noone wants to risk going into it. You can't be sure where it's going next.

i would hardly say that sun is stagnating it, java is developing faster and further than any language before it has. plus, java is being very widely used especially on the server side, so saying that nobody wants to risk using it is just plain wrong. just because it is being used behind the scenes in a not very visible way dosent mean it's not being used.

but I don't think that will happen unless Sun decides to hand Java over to some open committee, where the users can decide on its direction.

like visual c++ and visual basic are? they are 2 of the most widely used languages out there and they dont seem to be suffering from not being open. java is also moving twords committee based standardization but things like that take years to happen so just give it time.

Until then, I'll use Java for what I can, but I don't think it'll work for everything.

the secret to being successfull with any language is to know when to use it and when not to use it. if somebody is telling you that java is the perfect language for everything then they havent a clue and you really shouldnt be listening to them.

Are they going to charge for the real version (0)

Anonymous Coward | more than 15 years ago | (#1913297)

"Sun will be offering developers single-user server-side binaries for free download from this website later this week"

So does that mean the real (multi-user) versions will cost $$$ ? If I want to put the fastest JVM on my production machines it will cost me how much???

JHM (0)

Anonymous Coward | more than 15 years ago | (#1913298)

Hardly seems like harrassment. In fact it is the other way around. Just about every technology news source bombards people with Java hype, most nearly all of which is complete fooey. Examine how Java got to be mainstream. Do you think it was because Java is a great language compared to other modern alternatives, or because Sun has a great Java Hype Machine (JHM)? Sure it was a combination of factors, but marketing was probably the most important factor.

Any self-respecting geek interested in programming languages should at least check out the alternatives to see what they have to offer and why the designers of those languages made vastly different design decisions. It will also allow them to understand the failings of their favorite language, be it Java, Dylan, C, C++, Eiffel, Sather, Haskell, VB, COBOL, Smalltalk, Lisp, Cecil, Pascal, MS COOL, whatever.

Is Sun going to release the source..? (0)

Anonymous Coward | more than 15 years ago | (#1913299)

A lot of the ideas in Hotspot were pioneered in Self, and so are probably not under patent -- this means that a reimplementation for a different purpose (like use in a different language) would be legal. This leads me to ask if anyone knows whether the source to Hotspot is going to be released under Sun's "community source" license?

If so, the people hacking the free scripting languages (e.g., Python, Perl) could take a look at it for ideas on how to optimize their languages. These languages are typically highly dynamic and some of the Hotspot techniques could probably be applied fruitfully to speed them up.

Think again (0)

Anonymous Coward | more than 15 years ago | (#1913300)

The main article seems to be basically advertising for Sun. Why shouldn't someone let people know about some of the under-represented language alternatives, especially when they aren't selling anything for $$$? Rule by the majority can silence great contributions from the minority.

Personally, I would actually love to see posts from other language users. Like are their any Python compilers in the works?

Like Java and Smalltalk, Dylan seems to be a dynamic, object-oriented language. I'm sure some of the compiler optimization techniques may be applicable.

I'm sure that most fans of Dylan and other relatively obscure languages are more reasonable than the average Java user because it is more likely that they know a broader range of languages than the average Java user.

I actually went to the Dylan site some months ago when I first saw this troll, but
having to had read this same idiot post every time there's a Java post on slashdot
has definitely made me anti-dylan type of person.


Imagine how some Python or insert-your-favority-language-here fans must feel when they see all this (what they feel amounts) to Java hype or advertising on slashdot.org.

If you are anti-a-language, it should be based on knowledge of the language.

Just my 2 cents...

Language Troll (0)

Anonymous Coward | more than 15 years ago | (#1913301)

when there is a story about dylan then you can jabber all you want.

Actually I suspect that it would be hard to get slashdot to post an article about a relatively-obscure langauge. I have seen some Python articles on slashdot, but that's about as far as it goes.

If an article was posted about one of those relatively obscure languages, I doubt if fans of that relatively obscure language would mind people bringing up the topic of Java in a polite and intelligent mannner.

Beware Corporate-Controlled Languages (0)

Anonymous Coward | more than 15 years ago | (#1913302)


"Sun fought for, and won the removal of those extentions which would have split the language. Not that I don't think it should eventually be opened up, but if Java was an open language back then, or even if it opened up right now, those extentions would still be around. "

Actually, check the facts- they didn't fight over the extensions as much as they faught over the lack of compatibility with java features (no RMI, no JNI - stuck on version 1.0.4 or around there..). The main problem they had with the extensions was that the Visual J++ environment did not tell you you were using them when you created a project - as a matter of fact it was IMPOSSIBLE to create a java-compliant program with appwizard unless you added 'blank files', every single options put in COM wrappers, WFC, etc.

The main reason Microsoft got sued was that they went against the contract they made with Sun to support java on the Win32 platform -they didn't ever support but a subset of java features.

performance (0)

Anonymous Coward | more than 15 years ago | (#1913303)

Let's see how it compares to IBM'snew java (of course, IBM is still at 1.17 vs Sun's 1.2)

Let's see how it compares to Cygnus native Java compiler (10X improvement over JDK, seamless C++/Java integration.)

Get it here [cygnus.com] .

Language Troll (0)

Anonymous Coward | more than 15 years ago | (#1913304)

If an article was posted about one of those relatively obscure languages, I doubt if fans of that relatively obscure language would mind people bringing up the topic of Java in a polite and intelligent mannner.

but the problem is that the post about dylan was not very polite. it is almost the exact same post that get posted every time. if they want to discus dylan then it should of at least been in relation to java since that is the topic.

Java (0)

Anonymous Coward | more than 15 years ago | (#1913305)

but the problem is that the post about dylan was not very polite.
I don't see anything unpolite in my original post. I didn't say anything insulting about Java or Java users. I'm sorry if any Java users were offended. I program in Java (but mostly C++), but I feel that it is a rather limiting language for a number of reasons:
  • primitive data types are not objects, they must be coerced into
    an object for methods which expect an object, and coerced back for
    operators which expect a primitive
  • classes are not first class objects
  • methods are not first class objects
  • no multiple inheritance (of implementation)
  • no macros (at all): The language can't be extended within itself.
  • no operator overloading
  • methods cannot handle an arbitrary number of arguments
  • only supports first argument dispatch (no multi-method support)
  • functional programming not supported
  • collection classes are not convienent to use (take iterators for example)
  • methods can only return 1 value
  • keyword arguments not supported
  • inherits syntax oddities and keywords from C/C++


Some of these things are minor (some people may even think they are good features/omissions), but taken together I think they add up into a rather limiting whole, compared with what is possible in a programming language in this year of 1999.

Server-side? They're just trying to save face (0)

Anonymous Coward | more than 15 years ago | (#1913306)

Sun's just trying to save face regarding
their wild HotSpot compiler promises of
a year ago.

They acknowledge in their press release that
it is as slow as a dog for GUI work, so they
just back-peddled and said that work is
atypical of Java use.

What a bunch of nonsense.

Beware Corporate-Controlled Languages (0)

Anonymous Coward | more than 15 years ago | (#1913307)

Insecure? How do you figure that?

Does the phrase ActiveX mean anything to you? (if you really want, I can go into detail about how this can be exploited, but I think you can guess)

Actually, they won a preliminary injunction which forces the program to ask you if you want to use Microsoft extensions when you write a J++ app (note: not run one). It also made MS include JNI in the JVM.

I guess my memory doesn't serve me as well as I thought it did. However they didn't lose either.

What they won is important for a couple reasons
1: Though you shrug it off, forcing MS to implement JNI is important. If forced to choose between JNI and the MS equivilant, developers would choose MS, because MS is winning the browser wars(the only contact the masses have with Java). It's all about market share. JNI now has the greater market share, and it will win.
2: None of that would have happened if Sun hadn't filed suit against MS. I'd be happier if they had won more, but something is better than nothing

Funny... for a platform independent architecture, the JVM is pretty optimized for Sparc. eg. float/double types are Sparc format.

Oh dear God, not the floats!

They had to put them in some format, why not Sparc? And if you're trying to tell me Java isn't platform independant because of that, well, you have some more explaining to do, because I sure don't see it.

I Stand Corrected (0)

Anonymous Coward | more than 15 years ago | (#1913308)

Thanks for clearing that up.

The Wheel of JVM (0)

Anonymous Coward | more than 15 years ago | (#1913309)

introducing the wonderful JVM staring as host
on tonights star produced award winning talk show
..wait....something is happening.....what? Where
is the hotspot? HotSpot!?!!!? No....it is not HotSpot..
....SOME thing else.....ADA?

:-)

Microsoft Boogeyman Gonagetcha (0)

Anonymous Coward | more than 15 years ago | (#1913310)

Anyone who can't figure out how to create a Pure Java project using Visual J++ is simply too stupid for the demanding task of building cross-platform applications.

Server-side java...stupid idea. (0)

Anonymous Coward | more than 15 years ago | (#1913311)

Java on the server is just plain useless.

Client-side has benefits, you want to support lots of platforms. But on the server you are writing to one specific architecture and the only thing you care about is _speed_. This whole Java on the server idea counters that, it's just plain bollocks. Sure Java is a nice language but not nice enough to sacrifice 10x the speed difference.



Server-side? They're just trying to save face (0)

Anonymous Coward | more than 15 years ago | (#1913312)

Well, there are a couple things that actually make sense in their targeting of server-side code.

1) the dynamic optimizations need long (or at least long-ish) runtimes to get wound up. this typically doesn't happen much on the client side.
2) much 'client side' code is really native/OS/graphic calls, and hot-spot won't help here even with long runtimes
3) Server-side java in the guise of EJB and Application Servers is actually probably a hotter market right now, particularly among the corporate IT departments that need to support Java in the long run to make it viable.

So, it's possible they screwed up and are backpeddling, but it's also not unlikely that they simply focussed on the more important and simpler application for the first release.

Java (0)

Anonymous Coward | more than 15 years ago | (#1913313)

I agree with you, Captain Dylan.
Don't let the bastards wear you down.
Fight the good fight.

I too find Java to be a pretty crude and limitting language, and I personally find using the Java
Virtual Machine's .class files as the target
for other languages much more interesting
and useful. And the resulting code still
runs on any JVM.

Check out Pizza. It's a superset of Java that
has generics (a.k.a. templates) built in, as
well as a host of other great modern OO features
that Java sorely lacks.

for a list of JVM compatable languages see:

http://grunge.cs.tu-berlin.de/~tolk/vmlanguages. html

Server-side java...stupid idea. (0)

Anonymous Coward | more than 15 years ago | (#1913314)

Spoken like someone that has never had to manage a large-scale development project. Java has many advantages over C++ in the type of chaotic environments that are becoming the norm. Time to market, maintaining productivity in the face of staff shortages and/or marginally skilled developers, deployment stability (memory leaks, core dumps etc) are all reasons that make Java attractive in many environments. Not all, of course, but an increasing number.

Now, granted, I'm thinking middle tier here, and it'll be a while before it'll make serious inroads into high-performance transactional back-ends, but server-side Java definitely has it's place.

Server-side java...stupid idea. (0)

Anonymous Coward | more than 15 years ago | (#1913315)

I on the other hand have been involved in large scale development efforts.

I agree with the AC above. Java is a _nice_ language but having a VM on the server is a hindrance rather than a benefit. Why the heck should I have to put up with the sucky performance? Your argument is that it's because it eenables me to use incompetent programmers. Hmmm, excellent reasoning. You must be a perfectly incopetent coder yourself.

In the real world (at least my version of it) incompetent programmers are given a quick kick in the backside. Their presence causes far more problems then could possibly ever arise due to language choice.

Having said that, because Java is a nice language it would be nice to have it running native code on the server. Too many people put up with this shitty VM stuff just because they'd like to use a nicer language. Face it folks, it's only because the fools at Sun are ramming VM down your throat.

Listen to yourselves, praising that the VM is now only X times slower than real code. Argghhhh!

VM's suck on the server, they are completely and uterly useless. If someone gives me a native Java compiler, then and only then will I consider Java on my enterprise servers.

Plenty of free JVMs? (0)

Anonymous Coward | more than 15 years ago | (#1913316)

I use TYA and find it to give quite good performance (certainly massively better than interpreted).

Re:Beware Corporate-Controlled Languages (0)

Anonymous Coward | more than 15 years ago | (#1913317)

Funny... for a platform independent architecture, the JVM is pretty optimized for Sparc. eg. float/double types are Sparc format.


Ummm ... do you think the stack architecture of the JVM (rather a major item, IMO) is optimized for Sparc?

Re:Java (0)

Anonymous Coward | more than 15 years ago | (#1913318)

No offense intended, but duh. Primitives and objects are two
completely different creatures.


In a pure OO language, the primitive data types such as integers, characters, etc. are first class objects which can participate in the object system. I can think of four pure OO languages off the top of my head in which the primitive data types are first class objects. You might want to check out a paper titled "Primitive Types Considered Harmful" which explains why the hybrid approach that Java and C++ take leaves much to be desired.

no operator overloading

So?


Operators are just methods with special syntax and precedence rules. Why shouldn't one be able to define your own operator methods for new data types?

collection classes are not convienent to use (take iterators for
example)

Actually, that's a personal preference. I find the collection classes
are quite easy to use. Regardless, it's the same type of construct
that you find in the STL in C/C++.


I am talking about convenience. Programmers should not have to deal with Java or STL-style iterators. They are inconvenient, ugly, and error prone.

methods can only return 1 value

Yes, but. Methods in C or C++ can only return one value as well. In
Java, objects are passed by reference,


In Java, parameters are passed by value (not by reference as you claim).

Uh, what? (0)

Anonymous Coward | more than 15 years ago | (#1913319)

Is "NPO" what you call those people who smuggle dope up their ass?

Re:Language Troll (0)

Anonymous Coward | more than 15 years ago | (#1913320)

It's probably a testament to the technical quality of Dylan that it's survived in any form after having been created by Apple.

Re:Java (0)

Anonymous Coward | more than 15 years ago | (#1913321)

Yes, parameters (which include object *references*, not objects) are passed by value. Passing variables by reference is an optimization nightmare (if you and the callee don't have a way to agree which register they live in, you have to spill them to memory just in case) and violates referential transparency.

My problem with Java (0)

Anonymous Coward | more than 15 years ago | (#1913322)

Java is all hype. I am a big fan of the Java language, but Java's most significant feature IMHO is cross-platform ability. But where is it?. The Hotspot engine is Win32. Java3d is Win32 and Solaris. The JDK is Win32 and Solaris. There is no available Java hardware. What good is using Java if I can only run the cool new stuff on a Windows box?

Beware Corporate-Controlled Languages (2)

Anonymous Coward | more than 15 years ago | (#1913323)

Ask yourself this question: What would Java be like now if it was an open language from the start?

The answer is: Two languages. One supported by Sun which would be secure and platform independant. And the other supported by Microsoft which would be Windows only and insecure.

Unfortunatly, it would be Microsoft's version which would attract most of the programmers, because Microsoft is very good at wielding their OS monopoly. As a result, not only would we be asking companies for Linux versions of their C/C++ programs, but we'd also be asking for Pure Java versions of their J++ programs.

Sun fought for, and won the removal of those extentions which would have split the language. Not that I don't think it should eventually be opened up, but if Java was an open language back then, or even if it opened up right now, those extentions would still be around.

A lot of you don't like Sun, and as a result resent their control over Java. However they know what needs to be done to keep Java alive and they have the lawyers to do it. As long as Sun controls Java, it will still stand for the same things: platform independance, security, and probably some other stuff a more experienced Java programmer could fill in.

As far as waiting on Java, I somewhat agree with you. I still don't trust it enough to bet the farm on it, but it's the performance issues that worry me, and it looks as if those aren't going to be around long.

alpha has *poor* performance (2)

Anonymous Coward | more than 15 years ago | (#1913324)

Sorry I'm writing this as A.C. However, I don't want to compromise my company's standing with Sun.

My company has been an alpha tester of HotSpot for quite a while. I've seen several alpha versions. Each one improves upon the previous by a factor of about 2x. However, the latest alpha (actually, a release candidate) was still 2x *slower* than the JIT in Sun's JDK1.2, under WinNT.

Our code is *not* in one giant loop. It is, however, heavily dependant upon floating-point calculations and array accesses. To be honest, there are supposedly a few bugs in their floating point math (are they implementing IEEE FP calculations in software???). We'll see if this is fixed in the latest version.

The garbage collection is *greatly* improved. Unlike JDK 1.1.x and JDK 1.2, you never even notice when the garbage collection occurs (no long pauses).

I keep hoping that they will optimize out array bounds checking (if your code permits), but I have not seen any evidence of this. Removing array bounds checking has been shown to make heavy computational code (like mine) run about 8x quicker (almost 100% of my computations are performed on data in arrays). Conditionals really screw up a CPU's pipeline, as each array bounds check results in a branch. In fact, the Java Grande group, a group experimenting with numerical algorithms and Java, has shown that with a few alterations to the JVM (removing bounds checking among them), Java runs numerical algorithms about 10% slower than C++! And that's without any dynamic optimization!

I has been told that the public release is supposed to fix any problems that slow down my code. However, I have not had any pre-release access to this latest code. We shall see.

All in all, I wouldn't hold my breath. Java is still young, and technologies like HotSpot are still in their 1.0 (pre)release. I hope for the best with HotSpot, but I am afraid it will greatly disappoint most users...

Server-side? (1)

gavinhall (33) | more than 15 years ago | (#1913325)

Posted by kenmcneil:

Our long-term goal is to deliver a universal solution beyond just servers, and advance the technology to the client.

From my knowledge of Java (one year of heavy development) I see no reason why they would develop the VM for just server side applications. As far as I know once you have developed the JNI code it can be ported to any VM. So why is Sun placing this restriction on HotSpot, or is it just a name game?

Server-side? They're just trying to save face (1)

gavinhall (33) | more than 15 years ago | (#1913326)

Posted by kenmcneil:

That's what I figured. The idea that there was any true restraints on its application was unbelievable.

It is free (as in free beer) (1)

X (1235) | more than 15 years ago | (#1913327)

According to this article [news.com] on news.com they are going to give away the HotSpot VM.

performance (1)

sql*kitten (1359) | more than 15 years ago | (#1913328)

does anyone have comparison between hotspot and oracle's 8i JVM?

i don't have a spare box for 8i at the moment :0( (running 8.0.5 and 7.3.4 on all our suns)

You Forgot... (1)

Matts (1628) | more than 15 years ago | (#1913329)

No pass by reference!!!

Wrapping variables up in other objects to implement a pseudo pass by reference has to be the single most irritating thing about Java ever... Especially when working with strings.

And java's string classes are a) crap, b) confusing and c) slow.

I went right back to Perl... faster than most languages for complex string processing, and fast enough for most other tasks.

Matt.


perl -e 'print scalar reverse q(\)-: ,hacker Perl another Just)'

'then' and 'now' (1)

ChrisRijk (1818) | more than 15 years ago | (#1913330)

Back at the start many JVMs were purely interpreted, and didn't have JITs, so compared to them, HotSpot will be much faster. Also, the early ones scaled very badly for multi-processor stuff. It's possible that on complex, MP server apps HotSpot really is be 50x faster compared to JVMs from 2 years ago. *shrug*

Incidentally, that 2x faster is compared to very recent JVMs. Some apps went 4x faster. (read the links I gave).

compilation profiling (1)

ChrisRijk (1818) | more than 15 years ago | (#1913331)

  • The future of compilation, IMHO, is compiling your code with profiling information included, running your app for awhile, and then feeding the profile back into the compiler for more information to generate your final optimized executable.

    • Sun's professional C/C++ compilers already do this. (I presume there are other C/C++ compilers out there that do the same). It also has some nice run-time checking for memory-leaks...

HotSpot free (?) (1)

ChrisRijk (1818) | more than 15 years ago | (#1913332)

There's an article about HotSpot at news.com here [news.com] . They say Sun changed their minds and decided to make it free. (Sun's stuff doesn't seem to be particularly clear...)

Battle of the benchmarks (2)

ChrisRijk (1818) | more than 15 years ago | (#1913333)

IBM's latest: 22.6 SPECjvm (1x 350Mhz PII on NT4)
Fast JVM: 29.1 SPECjvm (1x 500Mhz Alpha EV6 on Tru64 Unix)
HotSpot: 31.1 SPECjvm (2x 450Mhz PII on NT4)
HotSpot: 31.9 Specjvm (1x 450Mhz UltraSparc-II with Solaris 7)

(don't ask me what diff the dual PII's made for the HotSpot one. unfortunately they don't publish result for single-processor) Also, the 450Mhz UltraSparc-II won't be out for a few more weeks. A 450Mhz PII has 17.2 SPECint95 and 12.9 SPECfp-95. A 450 Mhz UltraSparc-II has 19.6 SPECint95 and 27.1 SPECfp95. A 500Mhz EV6 Alpha is rated as 27.3 SPECint95, and 57.7 SPECfp95.

I don't have general volano marks available. Also, you can probably see what Sun are initially targeting HotSpot mostly at server side (for now anyway) as the effect is much greater compared to client side (because the longer HotSpot runs for the faster it gets, and because client side has much more interaction with the OS). Check the the article on 'real world' apps posted at the top. 2x, and up to 4x faster in heavy duty real world server apps compared to other recent JVMs is pretty good. The beta-testers particularly praised the high-speed, low latency garbage collector. (wha-hey, Sun build a better bin!).

As a final note, HotSpot will be getting faster (the 2nd release will apparantly be 30% faster), as will everyone else's of course.

performance comparisons (4)

ChrisRijk (1818) | more than 15 years ago | (#1913334)

A HotSpot beta-tester wrote a long, detailed article to the newsgroups. You'll probably find it an interesting read. Find it here [altavista.com]

Not free (A lousy 2x increase?) (1)

djKing (1970) | more than 15 years ago | (#1913335)

Up until today I would have agreeded with you cause that's what they have been saying on the JDC discution boards, but that's not what they are saying on the site today. If you want to use it you will have to pay.

performance (1)

djKing (1970) | more than 15 years ago | (#1913336)

note the words single-user server-side. Now what is the point of a single user server? They are going to charge for it else the free beer version wouldn't be limited to one user.

Re:Think again (1)

AMK (3114) | more than 15 years ago | (#1913337)

Python compilers: JPython [python.org] compiles to Java byte code. Python2C [mudlib.org] translates to C code, but not a lot of people seem to be interested in the project. (Anyone going to review the new Learning Python [ora.com] book for /.?)

I find the Dylan posts not out-of-line, and they've been enough to interest me in learning more about Dylan; a Dylan book is sitting in my to-read queue, and I'll probably write a /. review of it.

I'd like to see more language and programming-related items, too, since the business-related items are kind of boring and are usually covered by LinuxToday or LWN anyway. CmdrTaco, how about a new section like the book reviews or "Ask Slashdot", just for technical programming items?

Plenty of free JVMs? (1)

thomasd (3336) | more than 15 years ago | (#1913338)

Which ones are you talking about? If you're talking free software rather than free beer, that really just leaves us with Kaffe (which is only a PersonalJava implementation, and has never particularly impressed me), and Japhar (which is getting to be pretty good on the standards compliance front, but is currently slow as hell). Then there's ElectricalFire, but that's still some way off.

Plenty of free JVMs? (1)

thomasd (3336) | more than 15 years ago | (#1913339)

TYA is not a full VM implementation, it's just a JIT which plugs into Sun's VM, using a standard JIT interface. Yes, it can give a useful speed improvement against the Sun/blackdown JDK1.1 implementation. JDK1.2 already includes a JIT (at least on the ia32 platform) so I doubt TIA would make too much difference.

performance (1)

arielb (5604) | more than 15 years ago | (#1913340)

let's see how it compares to IBM'snew java (of course, IBM is still at 1.17 vs Sun's 1.2)

performance (1)

arielb (5604) | more than 15 years ago | (#1913341)

btw IBM java is free

Java logo. (0)

Lemmy Caution (8378) | more than 15 years ago | (#1913342)

Oh, look! It's the Java logo! No more styrofoam cup!

What happened?

Wow, excellent critic. (1)

Midnight Coder (8953) | more than 15 years ago | (#1913343)

From my point of view that was an excellent criticism, succint, restrained and mature. If Dylan is as good a language as that was a critic, then perhaps you should consider writing some bindings and contributing an app to one of the (high profile) free software desktop environments.

Java will never make it on the client side... (1)

DrDude (10669) | more than 15 years ago | (#1913344)

Just as suspected, HotSpot isn't intended for the client side; so Java's success will always be limited to a niche of server sided specific applications. Which is pretty sad, since that's far away from what Sun always promised and hoped, making client OSs (Windows...) obsolete.
---

Dynamic Optimization rulz, should be used compiled (2)

Greg Titus (11738) | more than 15 years ago | (#1913345)

I agree that dynamic optimization is a very exciting concept and a lot of compiler research is going to go in that direction. However, if it gives Java an advantage over C/C++, it will only be because more resources are being spent improving the Java JVMs and compilers than are being spent improving the C/C++ compilers.

The initial demonstration of a lot of the concepts in HostSpot are from Self, a O-O prototype-based language, whose implementation does a lot of dynamic optimization. In the Self implementation the optimization actually takes place on machine instructions and not via intermediary VM instructions (which is why the Self implementation is closely tied to Sparc procesors). So having a VM-based language is not a prerequisite for doing these sorts of optimizations.

The future of compilation, IMHO, is compiling your code with profiling information included, running your app for awhile, and then feeding the profile back into the compiler for more information to generate your final optimized executable.

Granted that C/C++ aren't dynamic O-O languages, so many of the specific optimizations that Self/HotSpot are doing won't apply, but I still think there is a lot that could be done. And compiled Java, Objective-C, Eiffel, et cetera could all benefit from the HotSpot optimizations done with compiling and profiling as above.

Finally! (2)

SeanCier (12804) | more than 15 years ago | (#1913346)

It's good to see this come out finally, after the years (literally!) of hype. Dynamic optimization is great technology, and I suspect where a great deal of compiler research will head in the future; it could eventually give Java an actual speed *advantage* over C/C++ (or even hand-tuned ASM), since the fact that it's only semi-compiled means higher-level information is still available at runtime from which to optimize... which is IMHO good in terms of software engineering as well, because it means it'll become even less neccessary (and less possible) to hand-optimize the smeg out of code at the price of maintainability.

Reading between the lines here, though, it sounds like HotSpot's analysis phase is currently the bottleneck. They keep saying that it's good for server-side application rather than client-side; I suspect that despite their claims that 'server applications are more VM-intensive', this is actually due to the fact that it takes a while during any given session to analyze the code far enough to realize the speedup (less of a problem for servers, for which sessions are typically very long). Of course, there are good ways around this besides just improving the analysis -- specifically, saving analysis info across sessions (ship your app with a baseline analysis, which will then be modified gradually by the user's VM based on their usage patterns).

-spc

Java's great, but Sun?... (1)

Rayban (13436) | more than 15 years ago | (#1913347)

I think Java is an amazing language. They skimmed the best stuff off C++, made it easy to use and incredibly fast to run. The only problem is that Sun has it under such a tight leash that the language is stagnating and noone wants to risk going into it. You can't be sure where it's going next.

I would love to program all my stuff in Java, but I don't think that will happen unless Sun decides to hand Java over to some open committee, where the users can decide on its direction. Until then, I'll use Java for what I can, but I don't think it'll work for everything.

Free Beer (1)

Sir Spank-o-tron (18193) | more than 15 years ago | (#1913348)



Hey a single user version is just great for NPOs that want to have a dope ass java happenin' site.

--

Java (1)

Shadowlion (18254) | more than 15 years ago | (#1913349)

Just some comments and notes.

primitive data types are not objects, they must be coerced into an object for methods which expect an object, and coerced back for operators which expect a primitive

No offense intended, but duh. Primitives and objects are two completely different creatures.

no operator overloading

So?

collection classes are not convienent to use (take iterators for example)

Actually, that's a personal preference. I find the collection classes are quite easy to use. Regardless, it's the same type of construct that you find in the STL in C/C++.

methods can only return 1 value

Yes, but. Methods in C or C++ can only return one value as well. In Java, objects are passed by reference, which means you can pass an object into the function, manipulate it in the function, and the changed data stays even when the function exits. Just like references work in C/C++.

HotSpot hasn't *really* arrived--there's no code! (1)

robj (18902) | more than 15 years ago | (#1913350)

If you go to the HotSpot page [sun.com] , you will see the following:
(Note: Sun will be offering developers server-side binaries for free download from this website later this week. Check back here for download information.)
In other words, the code's not done yet! I actually do believe it probably will be done Real (Real, Real) Soon Now, but still, it's humorous :-)

Re:100 theorectical limit (1)

Overt Coward (19347) | more than 15 years ago | (#1913351)

And... to acknowledge the "other languages"...
optimizing the VM means that other languages
that produce Java bytecode will also be optimized.

Think of it as a win not only for Java, but for
Python, Dylan, and other languages that have
bindings for the Java VM.

(I don't even use these languages and I'm
sticking up for them -- is this a violation of
./ flame-bait policy?)

performance (1)

dhiraz (19763) | more than 15 years ago | (#1913352)

I don't have numbers, but we ran the HotSpot versus MS JVM and the IBM JVM when HotSpot was
first available. Both of these blow doors on
HotSpot. MS JVM was by far the fastest. IBM's
wasn't far behind. Unfortunately, MS will most
likely never support 1.2, and IBM's 1.2 support
isn't finished yet (may be available in Beta).

If you want to do a real comparison, compare the
speed of Java code under each of these to the
same code compiled native using something like
Visual Cafe or Visual J++.



My take on Java speed (1)

JohnZed (20191) | more than 15 years ago | (#1913353)

Well, I'm no Java pro, but I've been fairly impressed by the speed of a good JIT on Solaris IF AND ONLY IF you don't let it get anywhere near a GUI. They have a fair number of the key mathematical functions implemented and optimized in native instructions, so those can choke their way by, but both Swing and AWT, easy as they are to work with, just plain suck in terms of power. Ever used HotJava? OH MY LORD! On an old-ish SparcStation, HotJava can't even keep up with scrolling.
My understanding of the "server side only" statement was twofold: 1st translation) "Sorry, our GUIs still suck guys, come back next year." 2nd impression) Well, the dynamic optimizer has to sit an run for a while before it gets up to speed, so it's better for continually-running server apps.
I really wish I could write consumer-level desktop apps in Java, but it just doesn't fly right now.

Java's great, but Sun?... (1)

Rombuu (22914) | more than 15 years ago | (#1913354)

They skimmed the best stuff off C++, made it easy to use and incredibly fast to run

You know, I thought I'd die before I saw the words Java and incredibly fast in the same sentence, without the word NOT inbetween.

I mean come on, even with Hotspot if speed is your main criteria and you choose Java you deserve to be fired / shot / defenestrated, etc..

performance (1)

dartboard (23261) | more than 15 years ago | (#1913355)

hotspot is not free. go to the press release and read it, I don't think they've announced pricing but since it's deployable on serverside only I expect some hefty price tags.

100 theorectical limit (1)

dartboard (23261) | more than 15 years ago | (#1913356)

The Java VM is the perfect place to spend time optimizing and tweaking. Those optimizations are automatically grandfathered into a huge base of precompiled bytecode.

performance (1)

dartboard (23261) | more than 15 years ago | (#1913357)

that doesn't make it *free*

sun plans to make money off of this with royaltied distribution costs (free developer SDK is a great way to hook people in) and flat-fee source licensing.

A lousy 2x increase? (1)

dartboard (23261) | more than 15 years ago | (#1913358)

If you *need* the speed on the server-side apps, you probably can afford to pay for the software.

There are plenty of completely FREE JVM's available (many are very fast) -- I don't see why Sun can't charge for something they've sunk so much money into, especially since they said they were going to charge for it from the start.

Dynamic Optimization rulz, should be used compiled (1)

dartboard (23261) | more than 15 years ago | (#1913359)

I agree that dynamic optimization is a very exciting concept and a lot of compiler research is going to go in that direction. However, if it gives Java an advantage over C/C++, it will only be because more resources are being spent improving the Java JVMs and compilers than are being spent improving the C/C++ compilers.
Ya, C++ vendors have only had 15 years to optimize their compilers, Java vendors have had all of 2 years to provide fast JVM's. More effort is *currently* being put towards Java runtime speeds but a bit more C++ optimization's been done in total.

Are they going to charge for the real version (1)

dartboard (23261) | more than 15 years ago | (#1913360)

i doubt the fastest JVM will be anywhere near as expensive as the fastest production machine.

:p

A lousy 2x increase? (2)

dmorin (25609) | more than 15 years ago | (#1913361)

Man, a few JavaOne's ago (i've forgotten how many!) they were talking about Hotspot would deliver 10-50x increase! I mean, I'll take what performance boost I can get...but *damn*.

Now the big question is going to be how much will they charge for the real deal. Given how poor and late it is compared to what they promised, they should give us all copies of it with a check for $2.50. But it's far more likely that they'll try to recoup development costs by charging an arm and a leg for the "real" version. Oooo, maybe if I pay double, I can get a 2.5x increase.

performance (1)

Alan Gonzalez (25870) | more than 15 years ago | (#1913362)

so is the hotspot.

Is Sun going to release the source..? (1)

koma (27783) | more than 15 years ago | (#1913363)

As far as I know they are not going to release
the source. There are papers about dynamic
optimization on the self web site. As far as I know the self source code is available. The hard
thing to do is to get to an practical implementation that doesn't consume too much memory. Memory consumption was one of the problems with Self. Also a solution that is easy to retarget to different platforms is probably also
a hard thing to do because processors are so different today (Pentium versus Risc).

Enterprise Applications (1)

DonkPunch (30957) | more than 15 years ago | (#1913364)

I get very excited when I think about Linux having the ability to do the sort of distributed application tasks that Java 2 promises.

Currently, NT, COM/COM+/DCOM, and MTS are ruling the roost in this field, but I think it can be done better and businesses love to have alternatives anyway.

I know Sun is providing limited assistance to Blackdown in order to make Java work on Linux. IMHO, they have very little to lose in getting as much Java stuff running on Linux as possible. Solaris and Linux don't exactly target the same market (SCO is a different matter, hee hee). My personal experience has been that Linux makes a great platform for Java development.

Companies talk a lot about "mindshare". Tier-1 support for Java on Linux would be a great way to win some.

Beware Corporate-Controlled Languages (1)

spectecjr (31235) | more than 15 years ago | (#1913365)

Ask yourself this question: What would Java be like now if it was an open language from the start?

The answer is: Two languages. One supported by Sun which would be secure and platform independant. And the other supported by Microsoft which would be Windows only and insecure.


Insecure? How do you figure that?

Sun fought for, and won the removal of those extentions which would have split the language. Not that I don't think it should eventually be opened up, but if Java was an open language back then, or even if it opened up right now, those extentions would still be around.

Actually, they won a preliminary injunction which forces the program to ask you if you want to use Microsoft extensions when you write a J++ app (note: not run one). It also made MS include JNI in the JVM.

Boy. You're just short on facts today, aren't you?

A lot of you don't like Sun, and as a result resent their control over Java. However they know what needs to be done to keep Java alive and they have the lawyers to do it. As long as Sun controls Java, it will still stand for the same things: platform independance, security, and probably some other stuff a more experienced Java programmer could fill in.

Funny... for a platform independent architecture, the JVM is pretty optimized for Sparc. eg. float/double types are Sparc format.

Java is free. (1)

BunBun (33385) | more than 15 years ago | (#1913366)

> I for one will not touch Java until it is fully opened up.

Well, you'd better start coding. Kaffee is GPL, Classpath and Japhar are LGPL.

You Forgot... (1)

BunBun (33385) | more than 15 years ago | (#1913367)

Wrapping variables (state) in objects is one of the basic ideas of object oriented programming. I don't think that the concept of passing variables by reference is meaningful in OO language like Java.

IMNSHO, Java string classes are OK. I like them.

As for Perl: I don't like it. It's too baroque. Sometimes even medieval.

Java (1)

BunBun (33385) | more than 15 years ago | (#1913368)

Dylan language and its two existing implementations are rather primitive compared to:

http://www.mozart-oz.org/

or

http://www.erlang.org/

.. and often even Java. For instance: Java lets you dynamicaly construct and load arbitrary class at runtime and also checks code validity. Dylan can't do that.

Language Troll (1)

Jayel (34247) | more than 15 years ago | (#1913369)

Well Said!

I actually went to the Dylan site some months ago when I first saw this troll, but having to had read this same idiot post every time there's a Java post on slashdot has definitely made me anti-dylan type of person.

Great job, AC.

A lousy 2x increase? (1)

Lucy Linux (34582) | more than 15 years ago | (#1913370)

Wasn't that 10-50x improvement claim made relative to the interpreted VM (no JIT)? That's about what they're delivering.

performance (1)

Lucy Linux (34582) | more than 15 years ago | (#1913371)

Copied from the hotspot page:

(Note: Sun will be offering developers single-user server-side binaries for free download from this website later this week. Check back here for download information.)

alpha has *poor* performance (1)

werdna (39029) | more than 15 years ago | (#1913372)

As understood, the bounds checking "optimization" does not remove the bound checks generally, but rather removes only redundant bound checks identifiable from the flow Dags. Thus, a repeated reference to the same index in the same array in a loop needn't perform a new bound check if the index isn't touched. I believe that's what they were going for.

Otherwise, as understood, those bound checks are fundamental to Sun's model for Java "safety" semantics. If I could work around the bound checking, I could write into memory all the lovely virus and pirate code I like, ultimately hack around all the security, and that ain't good for an applet loading into a browser.

Beware Corporate-Controlled Languages (1)

L1zard_K1n6 (39154) | more than 15 years ago | (#1913373)

I for one will not touch Java until it is fully opened up.

There's simply too much of a chance that it will get mangled in the process of Sun trying to screw Microsoft, etc.

In fact, the entire debacle of Java on Win32 (MS extensions) validated these very dangers.

Beware Corporate-Controlled Languages (1)

vyzo (39903) | more than 15 years ago | (#1913374)

Make the HOs two:
If you want to stay afloat after next year, you got to learn java.
And why not betting the farm on it?
I find it myself a safe bet!
As string poses it: There are just too serious players involved in (AKA: too serious funds) to let it go away.
Plus the ethics:
You can develop in a real OS and let the poor-minded use it in their crappy Mofti$h os...

------------------

Server-side java...stupid idea (NOT) (1)

Kingpin (40003) | more than 15 years ago | (#1913375)

Ever hear of servlets bud? Didn't think so.

Is Sun going to release the source..? (1)

zor_prime (42665) | more than 15 years ago | (#1913376)

Sun is going to release the source, but not under its Community Source License (it says this on Sun's site). The source will be available for a flat fee. See here [sun.com] check the third question.

Beware Corporate-Controlled Languages (1)

string (43120) | more than 15 years ago | (#1913377)

Fully agree upto:
"As far as waiting on Java, I somewhat agree with you. I still don't trust it enough to bet the farm on it, but it's the performance issues that worry me, and it looks as if those aren't going to be around long."
MHO: If you are not betting on or at least learning (read: writing real code in)Java, you will find yourself WAY behind over the next year or so. There are serious players 'betting the farm' on Java and related technologies... and these people are not about to lose. Even MiSFiT is cranking out new (and improved) VMs...

Dynamic Optimization rulz, should be used compiled (1)

roca (43122) | more than 15 years ago | (#1913378)

There are a lot of optimizations the compiler can't do in C/C++, because the program can be very sensitive to things like data structure layout. Not to mention the fact that C++ is so complex, it's incredibly hard just to get the compiler right, let alone do fancy transformations.

Also, because Java defines things like memory allocation and threading, the Java compiler and runtime can cooperate to make optimizations involving those features. In C/C++ you can basically roll your own allocation and threads, which is cool, but it means the compiler doesn't know how to help you and can't make assumptions about what you're trying to do.

IBM's plans (1)

roca (43122) | more than 15 years ago | (#1913379)

I don't know if this is public yet, but I haven't signed any NDAs, so here goes ...

1) IBM research is working on a Hotspot like thing, codename: Jalapeno. They know what they're doing, they have some great people, it should rock. Still a fair way out, though. The interesting part is that Jalapeno is itself written in Java...

2) IBM is fiercely committed to making Java the COBOL of the 21st century, i.e. the language in which all the crufty old inhouse code is written. That would be interesting.

Language Troll (1)

bitwize (137998) | more than 15 years ago | (#1913380)

Nothing against Dylan... but it was made by Apple. I wonder if this is merely an extension of the standard Mac-evangelist's "it's-better'cause-it's-Apple-so-there" philosophy.


As for Java... well, Java Is Cool. It may not be the greatest language for every task but what it does, it does pretty well IMHO.

Server-side java...stupid idea. (1)

bitwize (137998) | more than 15 years ago | (#1913381)

Doesn't gcj (part of egcs) compile java natively?
Check for New Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>