Recently, gij was changed to re-exec itself after resetting its own
LD_LIBRARY_PATH.

This change almost doubles the time needed to execute "Hello World", from 0.13s
to 0.25s on my system (and compared to 0.08s for the Sun VM).

The reason is that since gij is linked against libgcj.so, the linker's work is
being done twice as libgcj is loaded twice.

Instead, we could dlopen() libgcj only on the second invocation of gij. This
may require some cleanups to avoid accessing libgcj methods/symbols during the
first gij invocation, before the dlopen() occurs.


-- 
           Summary: gij should dlopen() libgcj
           Product: gcc
           Version: 2.95
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libgcj
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: mckinlay at redhat dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27938

Reply via email to