Re: Howto: Profiling GCJ code?
Bryce McKinlay <[email protected]>
| Newsgroups | gmane.comp.gcc.java.devel |
|---|---|
| Message-ID | <[email protected]> |
The tool of choice for libgcj profiling is oprofile: http://oprofile.sourceforge.net/ This should give you reasonably accurate, low-overhead profiling without having to recompile anything, and even a call graph though both the java and C/C++ code. It doesn't surprise me that libgcj's java.nio is slow. Hotspot VMs can also optimize nio code in ways that gcj can't. Bryce On Fri, Jun 19, 2009 at 9:52 AM, Patrick Schäfer<[email protected]> wrote: > Hi, > > I am trying to run a server based on apache mina (java.nio) and jna for > native library access. The program runs just fine under jdk 1.5. But there > is a massive performance breakdown using gcj. The program basically polls a > Posix Message Queue every 500ms using JNA (JNI). This causes 5% cpu load on > jdk but the load goes up to 100% using gcj. > > Is there any profiling tool which can be easily installed and applied to the > native code? > > I read about profiling gcj applications on your faq. There are 3 tools > mentioned. To my understanding gprof can't be applied due to missing > multithreading support and it requires the program to exit main before > writing any profiling information. The later is not easy when using a > network server. cprof seems to be quite outdated (there has been no realease > within the last years) and trying to "make" it, fails with several errors. I > don't know about sprof, but I couldn't find much information about it on the > internet. > > Thank you for any hints about current multithreading gcj (gcc) profilers > > Patrick >