floating performance

Those sorts of optimizations take a lot of time and only help a small portion of the user population. We’re more interested in general overall performance, and writting hand tuned SSE2 for anything is a lot of work. Don’t worry, we’re working on some cool stuff to help out with performance issues.

I suggest… you hire a games programmer on a contract to take care of this stuff for you. Seriously. I can’t really believe that this hasn’t already been done.

Cas :slight_smile:

Or you can open source the JRE… :-/

[quote]Or you can open source the JRE… :-/
[/quote]
I am rather sceptical as to how much difference open sourcing the JRE would make to performance of the JIT compiler. While open source might well accelerate change in other areas, I can’t see it happening for JIT and general float performance.
As far as I know, none of the open source VMs match current HotSpot performance.

I’m not saying the JIT compiler would become faster if it was open sourced (maybe it would if IBM or the JRockit team helped out), but I’m pretty sure some parts of the JRE code would improve (less bugs and better performance).

[quote]I’m not saying the JIT compiler would become faster if it was open sourced (maybe it would if IBM or the JRockit team helped out), but I’m pretty sure some parts of the JRE code would improve (less bugs and better performance).
[/quote]
I think the “open-source issue” is a red herring, here. For all useful purposes, the JRE is already open-source. If you’re interested in seeing bugs gets fixed in the JRE, or certain performance improvements being made, submit the source code changes to Sun. For example, I submitted source code fixes for performance problems in URLDecoder, and they are now in the 1.5 JRE, almost verbatim.

God bless,
-Toby Reyelts

Java is not open source (see http://www.opensource.org). I can only speak for me personally, but I’m much more willing to contribute to an open source project than a project with some restrictive license like Sun’s.

That maybe true for the JRE, but not for the JIT.

Why not? The source for the whole thing JIT included is available (although some don’t like the licence). I’m sure that Sun would accept well considered improvements to the JIT just as readily as anywhere else.

Oh, my mistake. I didn’t realize that was available.

[quote]I suggest… you hire a games programmer on a contract to take care of this stuff for you. Seriously. I can’t really believe that this hasn’t already been done.
[/quote]
You’d need more than a game programmer, you’d need a game programmer with experience with writing compilers, and SSE2 optimalizations.

While I’m curently unemployed, I’m unsure if I would be up to that task. It’s true that I didn’t see JIT code for dial up reasons, but it might be pretty harsh to add something into in a way that it would be fast, don’t break previous code, and don’t break previous optimalizations.
Or could it be that Hotspot JIT is a nice and easy to work with, simple to update, and that on stack realocation problem with server VM was just because I used 4 cycles and 3 arrays? (-Xcompile worked however)

[quote]Java is not open source (see http://www.opensource.org). I can only speak for me personally, but I’m much more willing to contribute to an open source project than a project with some restrictive license like Sun’s.
[/quote]
I would be unwilling to work under so restrictive licence as GPL. BSD is no problem for me, the problem is in GPL and LGPL.

Well JPEG/PNG loading is used by a LOT of users. And reducing the startup time (e.g. loading all those ImageIcons for my UI) was a stated goal at one point.

Not to mention the fact that you can just go buy a library from someone who has already done the assembly optimzations. Intel has a performance library for all sorts of things, crypto, JPEG decoding, image processing…

There is no excuse for the poor JPEG codec, buy a decent codec, or make one from the Intel library and move on… To have one that operates an order of magnitude slower than it should is just wrong.

I understand the focus on more general optimizations, but these are really easy things that can pay off huge. (Obviously for games scaling and blitting with the graphics hardware is preferred to any software loop, but that isn’t the only thing that can benfit from SSE2… like faster crypto, codecs, etc.)

[quote]Java is not open source (see http://www.opensource.org). I can only speak for me personally, but I’m much more willing to contribute to an open source project than a project with some restrictive license like Sun’s.
[/quote]
Who cares what http://www.opensource.org says? I find their definition of “Open Source” include things that are very anti-corporation, anti-competition, anti-make-a-living, etc. It’s far too utopian.

As far as Java is concerned:
I can get the source. I can submit changes. And thankfully there is a governing body (Sun) in place to make sure that not any dufus can screw everything up. That fits my definition of open source 100%.

Sun has Java 6.0 available on Java.net with all the source code. And they have officially stated that they are accepting patches. Since we all know that we are going to get Java 6.0 for free, including any accepted patches, I don’t see any reason why those screaming for “Open Source” don’t just contribute and shut up.

Have you even the read the info that’s available on the site? They have accepted a number of licenses made by corporations like IBM, Sun, Nokia etc.

Instead of rambling about they being anti-X etc., provide details about what’s wrong with their definition of open source. Maybe you can provide an alternative open source definition?

You can call it whatever you like, but to most people that’s not open source.

You might not have a problem contributing for free to a code base that is owned by a commercial company, but many people have (me included). That’s the core issue of open source, noone shall own the source code and tell you what you can do with it.

If I find a bug or design error in th JRE, I much rather create some alternative, free solution than contribute to the JRE code base.

[quote]You might not have a problem contributing for free to a code base that is owned by a commercial company, but many people have (me included). That’s the core issue of open source, noone shall own the source code and tell you what you can do with it.
[/quote]
That, I believe, is the core complaint the open source movement has with Sun’s Java OS license.

Still no excuse for not fixing the JPEG library.

The funny thing about performance tuning is that general tuning isn’t really any good. As we all know 90% of the time goes on 10% of the code. So why the focus on general optimisations when a few well-placed tweaks will speed up so many applications?

Cas :slight_smile:

[quote]You might not have a problem contributing for free to a code base that is owned by a commercial company, but many people have (me included). That’s the core issue of open source, noone shall own the source code and tell you what you can do with it.
[/quote]
Maybe Sun will always own the source code, but I don’t really have a problem with that. They have invested a lot in the actually quite excellent hotspot and are doing a pretty good job in maintaining the standard. We can still use their java implementation for free and build our own OS or commercial apps with it.
Maybe this is not fair or I just don’t “get” OS, but when I think about popular OS projects, they all have something a bit messy about them (PHP, MySQL, Linux), esp. when it comes to forking, compatibility issues, etc.
As I see it, java has done quite well in that respect, so I think of the java license as something that maybe isn’t utopia, but proven to work. And for a license of a product of a commercial company, it’s very open and liberal. I don’t care about owning the sources, I just want to get the job done.
Maybe I don’t even want to own the sources.

Ok, to highlight some problems with Sun’s “open” license:

  • Can you pick out parts of the JRE source code, build and distribute together with your product? Nope.

  • Can you use the Java source code as base for creating a new improved Java library? Nope.

  • If Sun wants to terminate Java, can you take the source code and continue to distribute the JRE? Nope.

That’s not an open source license.

Only by your personal definition of “open source” which is not the same as everyone else’s.

/me is firmly in the camp that RMS is a political prat who has demonstrated a willingness and eagerness to “do a Gates” and try and bully, brainwash and guilt-trip everyone to his way of thinking because he’s not rich enough to do it the way Gates did…

[quote]Ok, to highlight some problems with Sun’s “open” license:

  • Can you pick out parts of the JRE source code, build and distribute together with your product? Nope.

  • Can you use the Java source code as base for creating a new improved Java library? Nope.

  • If Sun wants to terminate Java, can you take the source code and continue to distribute the JRE? Nope.

That’s not an open source license.
[/quote]
Do you wanna to own a code of someone else, and do everything what you want with it?

Why are you talking about a source code? It doesn’t matter if something is distributable in a source code, or in binaries. Of course if you’d talk about improving and maintenance, I don’t think you’d be able to do just by yourself.