[racket] web server: module servlets

From: Jay McCarthy (jay.mccarthy at gmail.com)
Date: Thu Sep 25 18:26:58 EDT 2014

On Thu, Sep 25, 2014 at 4:34 PM, George Neuner <gneuner2 at comcast.net> wrote:
> Hi Jay,
>
> On 9/25/2014 1:04 PM, Jay McCarthy wrote:
>
>> If a Racket library is deliberately put into the servlet-namespace, does
>> that streamline linking?
>
> Your assumption about the purpose of this is not correct. Anything in
> the servlet-namespace will be shared between all servlets, and thus
> not loaded per-servlet.
>
>
> I think you misunderstood my question, but you may have answered it anyway.
>
> What I really was asking was whether each custodian was having to
> individually load common Racket libraries [ web-server/*, net/*, etc. ] for
> a new servlet rather than all servlet custodians sharing libraries that are
> already loaded.  Or, if not actually "loading" the libraries, then having to
> go to disk to check dependencies.
>
> So if I create a shared servlet namespace and put, e.g.,
> "web-server/servlet" into it, would that in any way speed up starting a new
> dynamically loaded servlet?

There is a very small set that is automatically shared:
racket/base
web-server/private/servlet
web-server/http
web-server/servlet/web
...

web-server/servlet is NOT shared, nor is any net library or common
racket library like racket/list. They are all totally unique per
servlet.

This, by the way, is part of why I don't recommend using dynamic
servlets at all and suggest using serve/servlet.

Jay



-- 
Jay McCarthy
http://jeapostrophe.github.io

           "Wherefore, be not weary in well-doing,
      for ye are laying the foundation of a great work.
And out of small things proceedeth that which is great."
                          - D&C 64:33

Posted on the users mailing list.