Tal, My view is that Directory is such a critical piece of Restlet that if we find serious performance issues with it, we should fix them as soon as possible rather than spending time working around. If somebody would have time to do serious comparisons, that would help us realize how far behind alternatives we are. >From a high level design, there is nothing I see that creates a bottleneck. Used in combination with the Grizzly connector, you can even achieve direct disk to socket transfer using NIO. All extra features that could slow down the serving should have a flag. Best regards, Jerome Louvel -- Restlet ~ Founder and Lead developer ~ <http://www.restlet.org/> http://www.restlet.org Noelios Technologies ~ Co-founder ~ <http://www.noelios.com/> http://www.noelios.com
_____ De : Tal Liron [mailto:tal.li...@threecrickets.com] Envoyé : mercredi 8 avril 2009 19:36 À : discuss@restlet.tigris.org Objet : Re: DirectoryResource throws/logs useless exceptions for CLAP protocol This is something that concerns me, too, as I'd much rather have my applications purely in the Restlet API without reverting specifically to the connector. I've been using Directory, too, in production and without any issue except my uneasiness about performance. I have not dared use it (yet) in performance-intensive situation. I'm wondering if it's worth, in addition to Restlet's Directory, to support a simple connector-agnostic wrapper that would use the underlying DefaultServlet or whatever. The Grizzly and Jetty projects already are doing superb work on optimization of serving static files, and we might as well wrap it! I see it as a lowest-common-denominator kind of API, which just sets up a filesystem-to-HTTP server and offers minimal fiddling. Of course, I'm not expecting such a wrapper to return nice Restlet representations which we can Filter. It would be a "black box" as far as the Restlet API is concerned. Still, I think this would be very useful. Many users (myself included) turn to Restlet in order to create performative applications. Serving static files should be part and parcel of this. -Tal Jerome Louvel wrote: Dave, Thanks for looking at the details on Directory implementation. This are certainly opportunities to refactor and optimize this class. As you found out, it is handling pretty complex stuff. We would welcome some contributions in this area. We have also received a report regarding performance issue of Directory used with the WAR client that we need to inspect. This might be due to the same reason: "Improve performance of WAR client" http://restlet.tigris.org/issues/show_bug.cgi?id=736 Regarding the production ready status, we have been using this class on all our Web sites with no trouble so far. Would you mind creating a bug report for what you found? Best regards, Jerome Louvel -- Restlet ~ Founder and Lead developer ~ <http://www.restlet.org/> http://www.restlet.org Noelios Technologies ~ Co-founder ~ <http://www.noelios.com/> http://www.noelios.com _____ De : Rob Heittman [mailto:rob.heitt...@solertium.com] Envoyé : mardi 7 avril 2009 14:26 À : discuss@restlet.tigris.org Objet : Re: DirectoryResource throws/logs useless exceptions for CLAP protocol I also wish it were a bit faster. We do serve several hundred thousand impressions out of Directory every month, but we serve several million using thinner Resources not wrapped in Directory -- not sure what would happen if we wrapped those in Directory. On Tue, Apr 7, 2009 at 1:58 AM, David Fogel <carrotsa...@gmail.com> wrote: The Directory class is the only built-in way for plain, non-servlet, Restlet apps to serve static content. Should we consider it "production"-ready w.r.t. performance under load? Another way of asking this: is the Directory class a reasonable substitute for, e.g. Jetty's DefaultServlet? ------------------------------------------------------ http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=1633509