Regarding the GIL - IronPython has no GIL, and as of 2.7.1 has the CSV 
module, so the only thing that wouldn't work is the built-in webserver, and 
database drivers. You'd have to write the database access yourself. 

On Tuesday, March 13, 2012 12:46:31 PM UTC-7, Mariano Reingart wrote:
>
> Bruno:
>
> Sorry but I don't agree.
> We cannot solve the python threading problems (mostly caused by the
> GIL assumptions I think).
> It is simply out of the scope of the web2py project.
>
> So if you have a really big app and import everything, it will surely
> have an important memory footprint.
> It goes worse when you need several processes to archive greater
> concurrency, so you end having big startup times to load and import
> your app per each process, and a huge memory consumption.
> Consider a webhosting company, it could be a serious issue with
> multiple big apps like this.
> Threading.local only add more troubles to this mess, so you can't have
> async concurrency (async io loops is were I think we should go).
>
> Of course, this only happens to realy realy realy big apps, so most
> python and web2py users should not be concerned.
> I think that in that cases there are better solutions, like GAE.
>
> Namespaces are great and we use them, and we have a local/"global"
> context for each request that no other framework has, so we have an
> advantage here, not a disvantage IMHO
>
> BTW, I attended to the Graham Dumpleton talk about web server
> performance, where he explained that in the most cases, python is not
> the main problem you face, there are many other factors than can be
> optimized too.
>
> Best regards,
>
> Mariano Reingart
> http://www.sistemasagiles.com.ar
> http://reingart.blogspot.com
>
>
> On Tue, Mar 13, 2012 at 12:20 PM, Bruno Rocha <rochacbr...@gmail.com> 
> wrote:
> > Mariano, if you are saying that importing anything and using "current"
> > object inside the modules that we are importing is a problem, so I guess 
> we
> > really have a big problem!
> >
> > Many small apps can rely on some basic model execution system, but even 
> if
> > cached it would be still "strange" to have all of them loaded in cache. 
> One
> > of the most brilhant features of Python and any other modern language is 
> the
> > "namespaces" feature. So I can't imagine a big app without relying on
> > namespaces, modules, packages, classes etc.. Thats the best way for
> > programming in Python, and IMO: also thats the best way for programming 
> in
> > web2py.
> >
> > If threading.locals() has a problem,I think the goal should be to solve 
> that
> > problem, not to cache the models or to create routing hacks. (* I think 
> map
> > models is a good idea, but it is not a solution)
> >
> > Do you have any further information about that issue?
> >
> >
> >
> >
> > On Tue, Mar 13, 2012 at 4:06 PM, Mariano Reingart <reing...@gmail.com>
> > wrote:
> >>
> >> WARNING with import and threading.local(): they were hot topics on the
> >> pycon webdev summit, and other frameworks are facing problems with
> >> them.
> >>
> >> They could be memory hungry and contention problems could arise, so
> >> they could have scalabillity issues too.
> >>
> >> I think the web2py way is not so bad, but we should find some way to
> >> cache the models.
> >>
> >> Best regards,
> >>
> >> Mariano Reingart
> >> http://www.sistemasagiles.com.ar
> >> http://reingart.blogspot.com
> >
> >
> >
> >
> > --
> >
> > Bruno Rocha
> > [http://rochacbruno.com.br]
> >
>
>

Reply via email to