> It parses all views and collapses the three structure associated to each > action into one byte-code compiled view. that means there is no parsing and minimal file IO when executing a view in a bytecode compiled app.
I don't think this makes a large difference in practice from the benchmarks I have seen. In Django the code is automatically compiled to a pyc upon running it. These pycs are likely to be cached in memory on the OS level because they are not that big. So the difference really is between 1 big disk cache lookup and 3 smaller ones. Even if this does make a difference, it is arguably not big enough for the common programmer to warrant switching. This is why web programming has shifted to dynamic languages like Python and Ruby even though there are people still doing C++, Java, and C#. > Also do not forget the licensing issues. Web2py executes applications and > applications (generally) do not import web2py modules (with some exceptions). > Instead Django applications import Django modules... Actually this is not an issue at all. All the 3 major frameworks: Pylons, Django, and Rails, do not use GPL (unlike Web2Py). They instead use a freer BSD-style license that does not come with the definition of "derivatives" which is so often a problem in GPL. On Jul 17, 2:37 pm, mdipierro <mdipie...@cs.depaul.edu> wrote: > On Jul 17, 2:43 pm, Bottiger <bottig...@gmail.com> wrote: > > > > > - Compilation > > > Django does this automatically, so I don't know why this is considered > > a feature. > > Not the same thing. Python automatically bytecode copiles modules tha > first time they are imported. that is the same for all python > frameworks, including web2py and Django. > > web2py does two more things for you: > 1) It parses all views and collapses the three structure associated to > each action into one byte-code compiled view. that means there is no > parsing and minimal file IO when executing a view in a bytecode > compiled app. In Django the parsing/incude/extend happen a runtime > instead, no matter what. > 2) web2py includes a simple mechanism to package the bytecode compiled > app and distribute it without source code. In Django you have to do > this manually by locating the files you need and packaging them. As > discussed in the previous point, in Django templates are not parsed > before bytecode compilation therefore, no matter what, you have to > distribute them in source form even if the rest of the modules are > distributed bytecode compiled. > > Also do not forget the licensing issues. Web2py executes applications > and applications (generally) do not import web2py modules (with some > exceptions). Instead Django applications import Django modules. I may > be wrong but I believe this is not a minor issue. I believe Django app > are derivatives of Django. web2py apps are not derivatives of web2py. > In fact I do allow you to distribute your apps under any license you > like. > > Massimo --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py Web Framework" group. To post to this group, send email to web2py@googlegroups.com To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---