[web2py] Re: Efficiency in compiled appliance
On Wednesday, May 18, 2016 at 3:42:50 PM UTC-4, Scott Hunter wrote: > > The web2py book, under Efficiency Tricks, says: > > >- Do not put many functions in the same controller but use many >controllers with few functions. > > When an appliance is compiled, each of the functions is compiled into its > own .pyc file, the same as would happen if they were in different functions > (although the names will differ). So does the above recommendation only > apply to non-compiled appliances? > Each function gets its own .pyc file, but that .pyc file contains a copy of the entire controller -- the only difference between each of the .pyc files is the very last line, which has the form: response._vars = response._caller(the_function_that_was_called) So, even with compiled controllers, there will likely still be some benefit to keeping the controllers smaller (though less benefit than with non-compiled controllers). Anyway, I would probably let organizational rather than efficiency considerations dictate what's in each controller. Chances are, excessively large controller files also indicate poor code/routing organization. If you keep your code well organized and your URL routes sensible, you probably won't have a lot of large controllers. Note, you can also reduce controller line count by moving some of the logic into modules and importing (this will be even more efficient than compiling, as once a module has been imported, it doesn't need to be re-read at all). Anthony -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- 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/d/optout.
[web2py] Re: Efficiency in compiled appliance
Not clear what you are asking. If compiling an app results in each function being in its own file whether they came from distinct source files or not, what is the benefit to having each function start off in its own file? - Scott On Wednesday, May 18, 2016 at 5:02:35 PM UTC-4, Niphlod wrote: > > what would be the counter-arg here ? > > On Wednesday, May 18, 2016 at 9:42:50 PM UTC+2, Scott Hunter wrote: >> >> The web2py book, under Efficiency Tricks, says: >> >> >>- Do not put many functions in the same controller but use many >>controllers with few functions. >> >> When an appliance is compiled, each of the functions is compiled into its >> own .pyc file, the same as would happen if they were in different functions >> (although the names will differ). So does the above recommendation only >> apply to non-compiled appliances? >> >> Note that one of the earlier recommendations is: >> >> >>- Bytecode compile your app using *admin*. >> >> -Scott >> >> -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- 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/d/optout.
[web2py] Re: Efficiency in compiled appliance
what would be the counter-arg here ? On Wednesday, May 18, 2016 at 9:42:50 PM UTC+2, Scott Hunter wrote: > > The web2py book, under Efficiency Tricks, says: > > >- Do not put many functions in the same controller but use many >controllers with few functions. > > When an appliance is compiled, each of the functions is compiled into its > own .pyc file, the same as would happen if they were in different functions > (although the names will differ). So does the above recommendation only > apply to non-compiled appliances? > > Note that one of the earlier recommendations is: > > >- Bytecode compile your app using *admin*. > > -Scott > > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- 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/d/optout.