[Ur] Statically linking Ur/Web runtime

Adam Chlipala adamc at csail.mit.edu
Tue Aug 2 15:50:33 EDT 2016


There's already a static linking command-line option (not enabled by 
default), though I think it has some unresolved rough edges.

I like dynamic linking for the scenario of many separate Ur/Web apps 
running on one server, which relates to some plans I have for the near 
future.  What does everyone else think?

On 08/02/2016 03:46 PM, Benjamin Barenblat wrote:
> Currently, Ur/Web builds as a compiler and a set of shared libraries,
> and compiled Ur/Web executables dynamically link those libraries. This
> seems error-prone: The Ur/Web libraries are intended only for use by
> Ur/Web applications, and their APIs and ABIs are somewhat unstable
> (cf. https://github.com/urweb/urweb/issues/40). I think we should be
> statically linking the Ur/Web runtime into Ur/Web applications. Doing so
> would improve portability, prevent Ur/Web updates from breaking existing
> binaries, and improve startup time for the CGI backend. It would also
> open the door to cross-object inlining and other forms of link-time
> optimization, which could improve performance substantially. What do you
> think?



More information about the Ur mailing list