闲来无事,用python3.6 aiohttp改了一个登陆系统。 不能说系统,就一个demo代码而已。
话说python3.6增了不少的特性,对于我来说比较跟兴趣的是 –with-dtrace 探针功能 和 优化压缩的dict数据结构。 官方测试有说过 python3.6的dict比先前占用内存减少25%左右,但我用2.7对比测试过大小kv,空间压缩率在15%左右。 官方没有提供测试的脚本,不知道是怎么拿到的25%。
详细的python3.6信息, https://docs.python.org/3/whatsnew/3.6.html#whatsnew36-compactdict
或者 youtube的视频,https://www.youtube.com/watch?v=hk85RUtQsBI
该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到原文地址查看更新. http://xiaorui.cc/?p=4510
aiohttp在近一个版本加入了httptools协议解释器的支持,先前基于uvloop框架的sanic为毛这么猖狂,其实有一方面原因就是因为httptools,httptools是一个用cython来编写的高性能http解释器。 几个月前在邮件列表里看到aiohttp的fafhrd91 和 uvloop的作者针对httptools来辩论, fafhrd91一直在辩解aiohttp的性能瓶颈不可能是在http解释器,后来在一堆相关的测试数据下,最后还是替换了httptools。
有时间大家可以关注 uvloop 的开发团队的人员信息,你细心的会发现这几个人相当的活跃。 在别人项目的issue也经常看到他们的影子。
近段时间我一直有个顾虑,我是要重心放到Golang方面,还是继续深入学习python的底层实现上。 我自己是有近两年的golang开发经验,(当然两年不是全职的golang) 我现在的新找的工作,开发的项目也都是在golang语言上的。 我自己经过了深思熟虑,搞了这么长时间的python,越发觉得深入这个词是多么的难,用了很大的功夫去读runtime的代码,进展缓慢不说,效益比也不高,当然对于自己提升还是有的。 但是这里就要设计到一个『钱』 ? 我坚信深入一个技术照样是可以高价的,但按照大多数人的理解,深入还不如多元化发展,短期来看,多元化发展的效益比是不错的,那么长期呢?
在新的语言排行榜里,python已经干到top4了。 但这个top4有多少是机器学习和算法撑起来的? 我不知道。
python值不值得去深入学习? 有这功夫不如深入学习一个静态语言? 仁者见仁智者见智 !
扯了这么多的废话, 才说重点 … 用python3.6 aiohttp aioredis写的一个登陆代码,代码目的在于学习aiohttp的代码结构。
有兴趣的朋友可以看看, https://github.com/rfyiamcool/aiohttp_login
组合了下面这几个模块:
python(3.6) aiohttp aioredis aiohttp_jinja aiohttp_debugtoolbar
END.