Rich client ORB requests have regressed in general as much as 3x due to the client-side libraries.
The profile for 3.X show that as the request is being sent, it makes its way down to com.sun.corba.ee.impl.interceptors.ClientRequestInfoImpl.getEffectiveComponents(). In 3.0.1, that takes a very small amount of time (.09 seconds in our test), and its major contributor is OMGSystemException.invalidComponentId (.038 seconds).
In 3.1, that leads into $Proxy.invalidComponentId() which itself takes 17.4 seconds for the same number of requests (5k). That call goes through CompositeInvocationHandlerImpl.invoke() and then into the logex.WrapperGenerator.