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

Reply via email to