Simple has given me some indigestion on OS X 10.4. Any chance you can try it with the regular java.net HTTP connector and/or Jetty and see if you get the same result? That would help isolate it.
----- Original Message ----- From: "Avi Flax" <[EMAIL PROTECTED]> To: [email protected] Sent: Monday, October 8, 2007 11:09:30 PM (GMT-0500) America/New_York Subject: Slow to retrieve Request Entity? I seem to be having some kind of performance problem trying to retrieve the request entity. I've tried a few different approaches, and I can't figure it out. I'm using Restlet 1.0.5 with the bundled Simple server, Intel Core Duo, Mac OS X 10.4.10, Java 5.0, Eclipse. I've tried reducing my test case down to the bare bones. At this point my test App looks like this: import org.restlet.Restlet; import org.restlet.Server; import org.restlet.data.MediaType; import org.restlet.data.Protocol; import org.restlet.data.Request; import org.restlet.data.Response; public class TestApp { public static void main(String[] args) throws Exception { Restlet restlet = new Restlet() { @Override public void handle(Request request, Response response) { try { response.setEntity(request.getEntity().getText(), MediaType.TEXT_PLAIN); System.exit(1); } catch (Exception e) { e.printStackTrace(); } } }; new Server(Protocol.HTTP, 3000, restlet).start(); } } and these are the only JAR files in my build path: com.noelios.restlet.ext.simple_3.1.jar com.noelios.restlet.jar org.restlet.jar org.simpleframework.jar My JVM args are: -server -Xprof My test script: time curl -X POST -d @post.xml -H Content-Type:application/xml http://localhost:3000/ post.xml is a 2.5K xml file. No matter what I do, request.getEntity().getText() seems to take about 2 seconds. This seems way too slow. Looking through the profiling results I found: Flat profile of 4.02 secs (390 total ticks): Thread-17 Interpreted + native Method 97.3% 0 + 183 java.net.SocketInputStream.socketRead0 1.1% 2 + 0 java.lang.AbstractStringBuilder.<init> 0.5% 1 + 0 java.lang.ClassLoader.loadClassInternal 0.5% 1 + 0 java.util.Arrays.copyOf 0.5% 1 + 0 sun.misc.Resource.getBytes 100.0% 5 + 183 Total interpreted So it looks as though java.net.SocketInputStream.socketRead0 is taking a lot of time - I think. I'm still new to Java, so not exactly sure how to read this. Could this be something wrong with my system configuration? Am I missing something? Thanks for any help!!! -- Avi Flax Lead Technologist arc90 | http://arc90.com

