Thank you for explaining Richard. That's very nice of you. May be we can 
have a module that makes some of web2py code executable for faster 
processing. Something for someone to look at may be. 

On Monday, February 6, 2017 at 4:39:49 PM UTC-5, Richard wrote:
>
> I guess partly for the same reason we can't make cpython faster (GIL - 
> https://wiki.python.org/moin/GlobalInterpreterLock)... But not only for 
> this reason of course. But let ask the question differently, why is 
> clienteside app faster? You move computer processing load to client in many 
> part, you reduce the size of the data that have to move back and forth as 
> you only have to transmit json instead of the whole DOM. Also, web2py can 
> be really fast, it all depends how you use it. For instance if you don't 
> need auth on every page you can avoid a lot of queries to the backend. The 
> same is true, you can use auth.has_membership() which triggers many queries 
> or you can initialize a varibale that you can cache for the duration of the 
> session. You use to check membership against this cached variable, that way 
> you avoid many queries to the backend which is most probably the bottleneck 
> of any application. The drawback is that you can't modify users privileges 
> once they are connected without maintaining the the cache variable up to 
> date (which is not that difficult you just have to make sure you update it 
> each time you manipulate membership) or ask them to logout and login again 
> when you modify their membership.
>
> At some point if you really need more speed and you already have make it 
> sure your app is lean and properly tuned, you have to look on the side of 
> replication and redundancy...
>
> You also have to gave a look at "model-less" app paradigm which involve 
> moving models definition into module which have some drawback. Before, that 
> make sure you don't defined any function into you models files, since the 
> code defined there is execute at each request. You can also activate lazy 
> table (
> http://web2py.com/books/default/chapter/29/06/the-database-abstraction-layer#Lazy-Tables--a-major-performance-boost
> ).
>
> Also, notice that SSL has it pound in the balance... I had issue recently 
> since Chrome start to trigger error for certificate using SHA-1 hashing 
> key... I had to read and create a new private key... The out come despite 
> having a new secure certificate that pass Chrome validation was that using 
> Elliptic Curve key (https://www.digicert.com/ecc.htm) ECDSA 256 bits that 
> give an ssl certificate as secure as RSA 2048 bits (at least it said to be 
> as secure) which make ssl data encryption much faster. I wasn't able to 
> properly benchmark the speed improvement, but it seems as much as 25% 
> faster them my previous certficate.
>
> Finally, Massimo is looking to find a solution that will allow us develop 
> client side app within web2py with help of ractivejs/vuejs (vuejs seems 
> much easier to pickup than ractive and much more well supported so I guess 
> it will win the battle). He had propose proof of concept in the past :
>
> https://github.com/mdipierro/w3
>
> But until now there were no traction from core developpers. Basically 
> because they are buzzy fixing issues and improving stuff (and speed : 
> https://groups.google.com/d/msg/web2py-developers/j6uxYMxo5qI/OQPEpJ5CWIoJ), 
> porting web2py over python 3 (https://github.com/web2py/web2py/issues/1353) 
> which turn to be a big undertake as we didn't have a new release for months 
> now.
>
> From what I do  understand, and I didn't have much time to follow and 
> contribute much recently, we are trying to make web2py build python 3 
> compliant then we will undertake others challenges. 
>
> In either way, once we will have web2py/web3py we will have to rewrite 
> (your are not forced because you will still be able to use python 2) our 
> apps, so Massimo is planning to seize the opportunity to break the promise 
> of backward compatibility and introducing client side goodies into web2py. 
> At least it's my understanding of what is going on rigth now.
>
> Have a good day!
>
> Richard
>
>
> On Mon, Feb 6, 2017 at 11:23 AM, Ron Chatterjee <achatte...@gmail.com 
> <javascript:>> wrote:
>
>> Why can't we make web2py faster ?
>>
>>
>> On Thursday, February 2, 2017 at 9:36:34 AM UTC-5, mcm wrote:
>>>
>>>
>>> I agree nice and could be useful in speedy services and we should see if 
>>> it can be used in front of web2py.
>>>
>>> But it is more important for the long term that we start to think about 
>>> leveraging HTTP/2 soon
>>>
>>> Il giorno mercoledì 1 febbraio 2017 16:23:46 UTC+1, Anthony ha scritto:
>>>>
>>>> On Wednesday, February 1, 2017 at 4:54:31 AM UTC-5, Massimo Di Pierro 
>>>> wrote:
>>>>>
>>>>> I just discovered this:
>>>>>
>>>>> https://github.com/squeaky-pl/japronto
>>>>>
>>>>> I am impressed. I like the speed and the semantics.
>>>>>
>>>>
>>>> Seems interesting, though the benchmarks seem a bit contrived. It does 
>>>> so well because it uses HTTP pipelining with a workload designed to get 
>>>> maximum benefit from pipelining (24 identical and fast pipelined requests 
>>>> requiring no work in Python). Since most browsers do not support HTTP 
>>>> pipelining by default, and most workloads would not benefit so much from 
>>>> pipelining, this has little real world value. On the other hand, it does 
>>>> *not 
>>>> *support HTTP/2 with request multiplexing, which *is *supported by 
>>>> most browsers and would likely have real benefits for more typical 
>>>> workloads.
>>>>
>>>> Regarding the API, how do you think it compares with Sanic 
>>>> <http://sanic.readthedocs.io/en/latest/index.html> (also based on 
>>>> uvloop and allowing async handlers)?
>>>>
>>>> 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+un...@googlegroups.com <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
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.

Reply via email to