[GLASSFISH-14957] [PERF] Optimize RESTful API such that in-process calls avoids the network overhead Created: 02/Dec/10  Updated: 15/Feb/13

Status: Open
Project: glassfish
Component/s: rest-interface
Affects Version/s: 3.1
Fix Version/s: future release

Type: Bug Priority: Major
Reporter: Jason Lee Assignee: Jason Lee
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: 3_1-exclude

 Description   

Paul Sandoz had mentioned the possibility of making Jersey avoid the network penalty when the client and server are in the same JVM. We need to investigate this to see if it's possible, as that could be a significant performance boost for the console.



 Comments   
Comment by ludo [ 14/Dec/10 ]

From Paul:
see the in memory test container:

http://java.net/projects/jersey/sources/svn/show/trunk/jersey/jersey-test-framework/jersey-test-framework-inmemory?rev=4410

specifically:

http://java.net/projects/jersey/sources/svn/content/trunk/jersey/jersey-test-framework/jersey-test-framework-inmemory/src/main/java/com/sun/jersey/test/framework/impl/container/inmemory/TestResourceClientHandler.java?rev=4410

Note that it serializes and buffers the request and response entity if present. It might be possible to avoid that for the response entity, not sure about the request entity. It may also be possible under certain circumstances to match the request/response entity Java instances with the client and server and pass by reference but care has to be taken depending on what assumptions the app is running with.

IIRC you are depending on the injection of some Grizzly request/response artifacts. Under such circumstances those artifacts will not be injected, so you may need to abstract out that information."

Not sure about the lack of injection in some area...Might be more complicated than expected.

Comment by Nazrul [ 20/Dec/10 ]

Ludo mentioned that it is too risky to fix at this point. Excluding from 3.1 count.

Comment by Tom Mueller [ 07/Feb/13 ]

Reassigning to Jason as Ludo is no longer on the project.

Generated at Sun Mar 29 05:04:23 UTC 2015 using JIRA 6.2.3#6260-sha1:63ef1d6dac3f4f4d7db4c1effd405ba38ccdc558.