given that you can pre-compile your app, did you test if the compilation time drops before moving around your models to use conditional ones ?
On Wednesday, June 12, 2013 3:47:47 PM UTC+2, Matt wrote: > > Hi, > We use web2py somewhat differently than most use cases in that we aren't > using a database at all, but instead back our web2py app with connections > to a server over a local unix RPC socket. We still use web2py to perform > validations, and UI generation, so we have a bunch of models that basically > contain gluon Field's, and then either call SQLFORM on that model's fields > or serialize that model and send it over the wire. More specifically, we > have a number of controllers that correspond to a model > (controllers/foo.py, and a model/foo.py that we can call SQLFORM on to > generate a form), and then we have a single rest.py controller that > provides a rest interface to the rpc socket (rest.py basically mirrors all > of the controllers with methods defined as: @request.restful(), validates > the data using the correct "model", and communicates over the rpc socket) > > I've been doing a number of benchmarks recently, and found that while it > generally takes ~3.5ms to receive a response over the unix domain socket, > calls to the web2py rest controller are taking somewhere around ~80-90ms to > return. My suspicion is that this is because web2py is compiling all of the > models for every request (running web2py with the profiler seems to > corroborate this, indicating that most of the time spent in the response is > in compileapp). From my reading it also seems that we can reduce the > compilation time of compileapp by using conditional models, however the > rest.py controller potentially uses all of them given which method is > called in the controller. There also seems to be an undocumented > response.models_to_run method that I'm not sure I understand fully. > > What would be the best way to reduce the response time of this rest.py > controller? Can I put response.models_to_run inside each of the controller > methods in rest.py, to ensure that only the models we need for the > operation are compiled? Am I off track here, and the model compilation is > not the source of latency? > > > > -- --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.