An important enhancement is a zero build approach. Surf is able to dynamically analyze the JSON model that defines the page being rendered and resolve all JavaScript dependencies that are then compressed and written into a single JavaScript resource that simulates a built Dojo layer. Surf caches all the dependency relationships as it finds them so it never traverses a dependency path a second time. It also caches the individual layers it generates so although the very first page rendered after server start up can take a few seconds to render, subsequent page rendering is much faster.