Performance of GCJ JNI and CNI

View: New views
4 Messages — Rating Filter:   Alert me  

Performance of GCJ JNI and CNI

by Vaijayanthi Mala Suresh :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

I have converted an application which makes more number of native
calls that was written using proprietary JVM compatible with version
Java 1.1 using GCJ.

I had tried to convert this application using GCJ + JNI as well as GCJ + CNI.
I don't see much performance improvements after using the GCJ
precompilation. ie., not using the interpreter.

Can someone help me to understand why there is no performance improvement.

I am compiling this for MIPS platform.

Thanks
Mala

Re: Performance of GCJ JNI and CNI

by David Daney-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Vaijayanthi Mala Suresh wrote:

> Hi,
>
> I have converted an application which makes more number of native
> calls that was written using proprietary JVM compatible with version
> Java 1.1 using GCJ.
>
> I had tried to convert this application using GCJ + JNI as well as GCJ + CNI.
> I don't see much performance improvements after using the GCJ
> precompilation. ie., not using the interpreter.
>
> Can someone help me to understand why there is no performance improvement.
>

It is doubtful, we know nothing about the application.

If most of the application time were spent in the native methods,
optimizing the other parts would not help much.

If you are allocating a lot of memory, the memory allocator and GC can
dominate your application time.


> I am compiling this for MIPS platform.

That is notable in and of itself.

David Daney

Re: Performance of GCJ JNI and CNI

by Vaijayanthi Mala Suresh :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi David,

Thanks for your reply.

In case of more time spent on Java, what can be done to improve the performance.

While using CNI do we need to consider anything special like
optimization flags, gcj configuration flags, initialization steps,
etc.,

I would like to reduce the startup time as well. It takes some time
before starting the application for performing the Registration of
all the java packages(packages other than standard).

Can you please help me with some optimization techniques which I would
like to try it out for any performance improvements.

Thanks
Mala

On Wed, Aug 26, 2009 at 9:20 PM, David Daney<ddaney@...> wrote:

> Vaijayanthi Mala Suresh wrote:
>>
>> Hi,
>>
>> I have converted an application which makes more number of native
>> calls that was written using proprietary JVM compatible with version
>> Java 1.1 using GCJ.
>>
>> I had tried to convert this application using GCJ + JNI as well as GCJ +
>> CNI.
>> I don't see much performance improvements after using the GCJ
>> precompilation. ie., not using the interpreter.
>>
>> Can someone help me to understand why there is no performance improvement.
>>
>
> It is doubtful, we know nothing about the application.
>
> If most of the application time were spent in the native methods, optimizing
> the other parts would not help much.
>
> If you are allocating a lot of memory, the memory allocator and GC can
> dominate your application time.
>
>
>> I am compiling this for MIPS platform.
>
> That is notable in and of itself.
>
> David Daney
>

Re: Performance of GCJ JNI and CNI

by Andrew Haley :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Vaijayanthi Mala Suresh wrote:

> In case of more time spent on Java, what can be done to improve the performance.
>
> While using CNI do we need to consider anything special like
> optimization flags, gcj configuration flags, initialization steps,
> etc.,
>
> I would like to reduce the startup time as well. It takes some time
> before starting the application for performing the Registration of
> all the java packages(packages other than standard).

I'm surprised by that.  All that class registration does is add
classes to a table.  All the initialization happens later, when
the class is first used.

> Can you please help me with some optimization techniques which I would
> like to try it out for any performance improvements.

None of us has the slightest idea what might be causing your problems.
Obviously, you will be compiling everything with -O2 or better.

We need you to send us an example of poor performance.

Andrew.