FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Fedora Development

 
 
LinkBack Thread Tools
 
Old 07-31-2008, 09:14 AM
Caolan McNamara
 
Default java, possible to package the gcj aot stuff separately ?

Given that we've got openjdk on most platforms. Would it make sense to
package our java things so that the gcj ahead-of-time compiled stuff is
packaged into separate subrpms. e.g. taking hsqldb as a random example
the package takes 3696k but the aot /usr/lib/gcj/hsqldb contents takes
2928k of that and it's unused except for the java-is-gij case right ?

We typically end up with openjdk installed due to the web plugin and
then with java-1.5.0-gcj + dependencies installed due to
the /usr/bin/rebuild-gcj-db and .so requires of the java packaging
guidelines when installing any additional java package.

I'd like to e.g. have the option of just having openjdk installed and
not have to haul around the 45Megs in my /usr/lib/gcj dir

C.

--
fedora-devel-list mailing list
fedora-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-devel-list
 
Old 07-31-2008, 09:20 AM
Andrew Haley
 
Default java, possible to package the gcj aot stuff separately ?

Caolan McNamara wrote:
> Given that we've got openjdk on most platforms. Would it make sense to
> package our java things so that the gcj ahead-of-time compiled stuff is
> packaged into separate subrpms. e.g. taking hsqldb as a random example
> the package takes 3696k but the aot /usr/lib/gcj/hsqldb contents takes
> 2928k of that and it's unused except for the java-is-gij case right ?
>
> We typically end up with openjdk installed due to the web plugin and
> then with java-1.5.0-gcj + dependencies installed due to
> the /usr/bin/rebuild-gcj-db and .so requires of the java packaging
> guidelines when installing any additional java package.
>
> I'd like to e.g. have the option of just having openjdk installed and
> not have to haul around the 45Megs in my /usr/lib/gcj dir

Sure, but it's potentially a lot of work to make the change, and how
would the people who are running gcj know that they need to download
the gcj ahead-of-time compiled stuff to get decent performance?

Andrew.

--
fedora-devel-list mailing list
fedora-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-devel-list
 
Old 07-31-2008, 12:40 PM
Andrew Overholt
 
Default java, possible to package the gcj aot stuff separately ?

* Andrew Haley <aph@redhat.com> [2008-07-31 05:20]:
> Caolan McNamara wrote:
> > Given that we've got openjdk on most platforms. Would it make sense to
> > package our java things so that the gcj ahead-of-time compiled stuff is
> > packaged into separate subrpms. e.g. taking hsqldb as a random example
> > the package takes 3696k but the aot /usr/lib/gcj/hsqldb contents takes
> > 2928k of that and it's unused except for the java-is-gij case right ?
> >
> > We typically end up with openjdk installed due to the web plugin and
> > then with java-1.5.0-gcj + dependencies installed due to
> > the /usr/bin/rebuild-gcj-db and .so requires of the java packaging
> > guidelines when installing any additional java package.
> >
> > I'd like to e.g. have the option of just having openjdk installed and
> > not have to haul around the 45Megs in my /usr/lib/gcj dir
>
> Sure, but it's potentially a lot of work to make the change, and how
> would the people who are running gcj know that they need to download
> the gcj ahead-of-time compiled stuff to get decent performance?

Yeah, one of the reasons we didn't do this to begin with was because RPM
has no notion of Suggests or Recommends like dpkg does. Debian went
this route, but I've seen reports of people not realizing they needed to
install the associated -gcj package.

Andrew

--
fedora-devel-list mailing list
fedora-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-devel-list
 
Old 07-31-2008, 12:44 PM
Andrew Haley
 
Default java, possible to package the gcj aot stuff separately ?

Andrew Overholt wrote:
> * Andrew Haley <aph@redhat.com> [2008-07-31 05:20]:
>> Caolan McNamara wrote:
>>> Given that we've got openjdk on most platforms. Would it make sense to
>>> package our java things so that the gcj ahead-of-time compiled stuff is
>>> packaged into separate subrpms. e.g. taking hsqldb as a random example
>>> the package takes 3696k but the aot /usr/lib/gcj/hsqldb contents takes
>>> 2928k of that and it's unused except for the java-is-gij case right ?
>>>
>>> We typically end up with openjdk installed due to the web plugin and
>>> then with java-1.5.0-gcj + dependencies installed due to
>>> the /usr/bin/rebuild-gcj-db and .so requires of the java packaging
>>> guidelines when installing any additional java package.
>>>
>>> I'd like to e.g. have the option of just having openjdk installed and
>>> not have to haul around the 45Megs in my /usr/lib/gcj dir
>> Sure, but it's potentially a lot of work to make the change, and how
>> would the people who are running gcj know that they need to download
>> the gcj ahead-of-time compiled stuff to get decent performance?
>
> Yeah, one of the reasons we didn't do this to begin with was because RPM
> has no notion of Suggests or Recommends like dpkg does. Debian went
> this route, but I've seen reports of people not realizing they needed to
> install the associated -gcj package.

Me too. "My Eclipse is godawful slow," etc...

Andrew.

--
fedora-devel-list mailing list
fedora-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-devel-list
 
Old 07-31-2008, 01:29 PM
"Colin Walters"
 
Default java, possible to package the gcj aot stuff separately ?

On Thu, Jul 31, 2008 at 8:40 AM, Andrew Overholt <overholt@redhat.com> wrote:




Yeah, one of the reasons we didn't do this to begin with was because RPM

has no notion of Suggests or Recommends like dpkg does. *Debian went

this route, but I've seen reports of people not realizing they needed to

install the associated -gcj package.


I think the long term vision here should be that we actually need *both* AOT and JIT compilation.*

We need a JIT because many apps will continue to load code at runtime from sources that are not Fedora.* Think unpackaged Eclipse plugins for just a start.* But with OpenJDK, when I sit there at a Jython toplevel experimenting with code, it's pretty cool that it's actually getting JITted down to native code as it runs.* There are also applications that actually generate bytecode at runtime for various purposes, and that continues to be a good idea.


A JIT also has a lot more interesting information than a normal AOT model.* Hotspot does a lot of cool things there.

However, one approach is to take a set of runtime profiles from applications, and feed that back into the compiler: http://gcc.gnu.org/news/profiledriven.html


As far as I know in Fedora right now we are not taking advantage of runtime profiles when we compile things in Koji.* I heard though that Firefox can get up to a 10% speedup by being compiled with the right data; see: http://developer.mozilla.org/en/docs/Building_with_Profile-Guided_Optimization


It does make sense to have AOT compilation, because having Hotspot re-profile and recompile the Eclipse core on everyone's computer is a bit of a waste.
One approach here would be to modify Hotspot so that it can pick up "precompiled" code fragments shipped in a lookaside cache, based on its own runtime profiling data.* I'm not sure if anyone has looked into that.


But it's not as simple as saying that AOT is always fast and JIT is always slow - it really can be the opposite, and AOT compilation for everything can be a waste of space if the library is not in a performance critical path.



--
fedora-devel-list mailing list
fedora-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-devel-list
 
Old 07-31-2008, 01:55 PM
"Colin Walters"
 
Default java, possible to package the gcj aot stuff separately ?

Just to follow up on this because I think it's interesting =)

One possible utopian future is thus:

o Modify Koji to create profile-gathering versions of some targeted applications like Firefox; this would be a separate repository with packages of the same name

o Have a yum plugin that allows you to replace your installed packages with the profiler-compiled packages
o When you enable this plugin, Hotspot also goes into "dump profile information" mode
o A new Fedora server where people can post the data from their profiled packages and Hotspot logs

o Teach Koji to pull the data from this server and compile the software using it

To do this it might help if we only had one code generation backend for both GCC and Hotspot that understood how to process the profiling data - a long term vision on that would be to move to GCC-LLVM and Hotspot's Shark work.


This infrastructure would also help us make the decision which Java software makes sense to AOT compile versus not, rather than creating -precompiled versions of all packages.

--
fedora-devel-list mailing list
fedora-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-devel-list
 
Old 07-31-2008, 05:17 PM
"Jeff Spaleta"
 
Default java, possible to package the gcj aot stuff separately ?

2008/7/31 Colin Walters <walters@verbum.org>:
> o Modify Koji to create profile-gathering versions of some targeted
> applications like Firefox; this would be a separate repository with packages
> of the same name
> o Have a yum plugin that allows you to replace your installed packages with
> the profiler-compiled packages

Another repository.... included in fedora-release package?
enabled/disabled by default?

-jef

--
fedora-devel-list mailing list
fedora-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-devel-list
 
Old 07-31-2008, 05:36 PM
Toshio Kuratomi
 
Default java, possible to package the gcj aot stuff separately ?

Colin Walters wrote:

Just to follow up on this because I think it's interesting =)

One possible utopian future is thus:

o Modify Koji to create profile-gathering versions of some targeted
applications like Firefox; this would be a separate repository with
packages of the same name
o Have a yum plugin that allows you to replace your installed packages
with the profiler-compiled packages
o When you enable this plugin, Hotspot also goes into "dump profile
information" mode
o A new Fedora server where people can post the data from their profiled
packages and Hotspot logs
o Teach Koji to pull the data from this server and compile the software
using it


Make sure you flag down some of the koji authors with this idea -- koji
will need to grow a method of snapshoting the profiled data when it does
a build otherwise it won't be able to satisfy its mission of creating a
precisely auditable build.


-Toshio

--
fedora-devel-list mailing list
fedora-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-devel-list
 

Thread Tools




All times are GMT. The time now is 06:54 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org