I don't have pretty graphs and charts, but here are my observations ... The low level API (the Restlet class and friends) is not materially different from low level code written for Servlet. When I looked at this long ago (Restlet 1.0), I could not tell any externally detectable performance difference between a Hello World Restlet and a Hello World Servlet running on the same machine under the same Tomcat 6 instance. I also tested a non-trivial WebDAV Servlet vs. a Restlet port and did not observe any performance difference.
Now for the interesting part. When I optimized the Restlet WebDAV version to use the high level Resource API and less hand written stuff, the performance *increased* a tiny fraction -- 3% or so in requests served per second. And from a user perspective, the performance increased *much* more, because it now properly handled conditional GETs and other operations that my original code did not (and the JMeter based test harness did not test). This made people using the WebDAV layer feel a lot better liveness in their requests and snappier performance in Explorer or Finder. This general observation has borne out as we've moved apps to Restlet. The app doesn't slow down any if we just glue our old code under Restlet ... and the application performs drastically better when we use Restlet well. On Fri, Mar 20, 2009 at 12:27 PM, David Fogel <[email protected]> wrote: > One of our questions in choosing to build our technology stack on top > of Restlet is that we're not sure what the additional overhead is, > given that Restlet adds some layers on top of, for instance, Jetty or > Simple. To put it another way: what is the price in performance that > we need to pay for a better more RESTful API? ------------------------------------------------------ http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=1366010

