由买买提看人间百态

topics

全部话题 - 话题: asyncio
1 (共1页)
p**o
发帖数: 3409
1
来自主题: Programming版 - Guido on Python AsyncIO (1/23/2014)
Here is a good tutorial of using asyncio / Tulip in Python 3.4
Fast scraping in python with asyncio
http://compiletoi.net/fast-scraping-in-python-with-asyncio.html
PS: Glyph(& perhaps also Guido)'s opinion on different async models:
straight callbacks (Twisted IProtocol),
managed callbacks (Twisted Deferred),
explicit coroutines (Tulip / yield from: the one to be standardized),
implicit coroutines (eventlet, gevent)
They really strongly oppose any implicit monkey-pactch/hack
https://glyph.twiste... 阅读全帖
d*******r
发帖数: 3299
2
来自主题: Programming版 - 请教大牛们这个系统怎么设计
量大起来了,再优化 Django 没有问题,
Django 是出个好几个大型 server 例子的,比如 instagram.
现在 Django 默认是用 Python 3, 自带 asyncio 的, 做并发也不差.
你不喜欢 asyncio 的话,也可用 gevent 这种异步 lib.
另外,Django 自带的 ORM 也改进了很多,不需要再额外折腾 SQLAlchemy 了.
d********g
发帖数: 10550
3
3.4+主要是asyncio相关。Python 3.4开始内置asyncio,3.3还需要额外装库。3.5加入
async/await语法,3.6更是把async/await推广到其它地方比如generator:
https://docs.python.org/3/whatsnew/3.5.html
https://docs.python.org/3/whatsnew/3.6.html
3.6的dict也重新实现了,性能提升内存占用下降的同时,带来的一个副产品是dict现
在也可以直接当OrderedDict用了,虽然这个特性还没有正式在API上确认
在公司还用Python 2.7很正常,但是自己写新项目还用2.7就是自己给自己挖坑了。这
两个版本我都写,自己的非开源项目反而故意不要语法兼容(比如能用高版本async/
await的就绝对不用低版本兼容的yield),强制跟上3.x的升级,这样以后的维护坑会
更少
别的不说,Python 2.7里经常需要from __future__ import absolute_import,
unicode_literals等,这都是2.x设计缺... 阅读全帖
d********g
发帖数: 10550
4
关键是你具体想要做什么,threads之间有互动吗还是都单独的?
asyncio的基本思路就是把I/O都弄成异步,任何I/O不要阻塞当前loop。Python的
threading因为最后要经过GIL所以还是相当于单线程的,不如直接就asyncio
没什么难写的,写法和sync的差不多,只是记得要await I/O之类的,其实比threading
还更简单。JS也在说要加入async/await语法了
传统处理异步也可以靠架构,用外部的queue。Python这一类用Celery的很多

list
thread
L***s
发帖数: 1148
5
object models, metaclass, decorators, enhanced generators / coroutines
threading models, GIL, asyncio & alternative async libs like gevent/twisted
writing C/C++ extensions
writing 2/3 compatible Python code
(for web developers) familiar with django, flask, twisted or tornado
implementation of dict, OrderedDict, deque, etc. in CPython & implications
memory management & fragmentation prevention in CPython
PVM internals and optimization, opcodes and AST hacking
alternative implementations like PyPy... 阅读全帖
l****r
发帖数: 119
6
来自主题: JobHunting版 - 离成功转码还有多远? (转载)
【 以下文字转载自 Programming 讨论区 】
发信人: lshtar (Ishtar), 信区: Programming
标 题: 离成功转码还有多远?
发信站: BBS 未名空间站 (Thu Oct 26 19:14:48 2017, 美东)
我是EE转码的,去年毕业,公司码农的工作没找到,在一个医院做了半年(号称研究机
器学习)的博后(工资低),说说感受:
能接触真实的医疗数据,数据库里有病人就诊记录包括吃的药和化验指标,但是数据比
较乱也很深奥,没有医疗行业知识,不懂药名和化验指标是什么意思,现学的话总觉得
差好远。所以,老板说让做什么就做什么。主要用python,pandas,sklearn,某些问
题用R做。研究的问题感觉都比较trivial。感觉都不是真正的机器学习,是简单的算数
分析。问题的定义也不是特别清楚。
还做了几个NLP的小project,论文的聚类,涉及到:
web scraping, 把论文从网上扒下来,用python beautiful soup, asyncio
feature 提取:用一个Medical Text Indexer (MTI)的... 阅读全帖
p**o
发帖数: 3409
7
来自主题: Programming版 - Guido on Python AsyncIO (1/23/2014)
At LinkedIn, Mountain View, 1/23/2014
http://www.youtube.com/watch?v=uDWjtYLmW90
d*******r
发帖数: 3299
8
来自主题: Programming版 - Guido on Python AsyncIO (1/23/2014)
Mark~~
p*****2
发帖数: 21240
9
来自主题: Programming版 - Guido on Python AsyncIO (1/23/2014)
这个也太长了吧?
谁给个summary?
Linkedin用python多吗?
p**o
发帖数: 3409
10
来自主题: Programming版 - Guido on Python AsyncIO (1/23/2014)
It was very technical, and the audience were mostly library writers. But I
think the first 1/4 of the talk is still good for an application developer
to refresh his/her knowledge on OS basics.
As far as I know, Linkedin is a Java shop.
d********g
发帖数: 10550
11
来自主题: Programming版 - Guido on Python AsyncIO (1/23/2014)
当天主持meetup那个LinkedIn的staff engineer亲口说他们大量用Python。不过他们应
该算Java shop
z****e
发帖数: 54598
12
来自主题: Programming版 - Guido on Python AsyncIO (1/23/2014)
我们现在也大量用ruby和groovy
看懂了我这一句,就明白l家怎么回事了
d********g
发帖数: 10550
13
来自主题: Programming版 - Guido on Python AsyncIO (1/23/2014)
Tulip会设计成一个灵活的库,还能够兼容Twisted和gevent(比如替换内置的event
loop这块)
另外2.x没事,有back port,不用yield from而是yield和raise结合。细节没仔细听
d********g
发帖数: 10550
14
来自主题: Programming版 - Guido on Python AsyncIO (1/23/2014)
非Python shop说“大量”用,和真正的Python shop“大量”是不一样的用法。所以你
才只对“脚本”印象比较深刻。这个正常,好比如果Python shop上JVM系的东西,也最
多是当个服务用,什么做都无所谓,但也可以声称“大量”用
g*****g
发帖数: 34805
15
来自主题: Programming版 - Guido on Python AsyncIO (1/23/2014)
本来就是这样嘛,yelp还大量用java呢。hadoop相关的东西用python不就蛋疼。
L是及其java shop了,原来连web都是spring mvc那一套。最近据说要改node.js.
d********g
发帖数: 10550
16
来自主题: Programming版 - python 2/python 3这是怎么一回事呀
我没说错啊,二爷转型期有焦虑是正常的。二爷不久前号称Ruby无敌的帖子还历历在目
,连无脑推Node的时间都远远在我介绍meteor之后,还能面不改色。这焦虑够厉害的
二爷不care除了Node(Ruby/Scala/Closure/Go等等,视时间和病情而定)的任何东西
,比如每次看到Java就是想念好虫,然后上来bash一番,回头二爷自己不见了,就看到
其他人掐架了
我现在要说Node已显颓势二爷恐怕不信。不要紧,asyncio引发的各种作已经到了或者
即将到顶峰。no zuo no die的预言还是有道理的
k****0
发帖数: 7
17
来自主题: Programming版 - 请教python高手异步编程的问题
use asyncio (python 3) or trollius (python 2)
call requests using loop.run_in_executor(None, requests.post, ....), which
returns a promise so it is not blocking.
Alternatively you can use grequest (basically requests+gevents), but gevents
will monkey patch all the network modules to make it non-blocking, which
sometimes breaks stuff.
L***s
发帖数: 1148
18
来自主题: Programming版 - 想起隔壁组的ruby大牛

web dev全转python3没问题,主流库除了twisted都兼容3了
科学计算方面,scipy stack基本也在python3上了,除了个别拖后腿的库
这里可以查第三方类库兼容python3的进度,大多数都绿了
http://python3wos.appspot.com/
新项目应该用python3,unicode和asyncio处理得很漂亮很舒服
m***r
发帖数: 359
19
来自主题: Programming版 - Python日报 一周回顾 2015-01-24
日报主页
http://py.memect.com/
2015-01-24 星期六,完整版 20 条
Uliweb现在支持IPython notebook @limodou
Vim的Python编辑器详细配置过程 @视觉研究
入门:学习Python循环 @ML_Yuens
另一个Lambda表达式教程 @Python开发者
scikit-learn系列视频免翻墙版 @爱可可-爱生活
2015-01-23 星期五,完整版 36 条
Dpark源码剖析 @sumnous_t
使用Selenium Python API与元素交互 @python自动化测试
Python 在 Linux 系统运维中都有哪些应用? @fiona514
Medusa: 基于Google Dart虚拟机的超快Python实现版本 @网路冷眼
python编程速查表 @爱可可-爱生活
2015-01-22 星期四,完整版 17 条
专为Python打造LLVM @HackerNewsDaily
Python 3.4 中新的 asyncio @me坤子
地图上模拟疫情扩散 @Python开发者
Python可视化工具概述... 阅读全帖
L***s
发帖数: 1148
20
来自主题: Programming版 - node.js不可放弃
http://docs.python.org/3.4/library/asyncio.html
Python 3.4以后标准化了异步IO,可以方便地用 Future/Coroutine/Task
Python 2.7也有对应的backport
d******e
发帖数: 2265
21
在python3上用gevent多年requests一直没有问题最后一个短板是nltk现在也解决了
如果拒绝自动的处理Unicode,asyncio yield from enum那么可以停在Python 2上没问题
d******e
发帖数: 2265
22
来自主题: Programming版 - go很牛啊。这个10ms 非常快了。
Repustate向世界各地的企业和组织提供文本分析服务。随着公司的发展,他们每天处
理的文本段数量从5亿增加到10亿,其中包括Tweet、新闻文章、博客评论、用户反馈等
。大规模的文本分析非常困难,因为很少会出现两段文本完全相同的情况,所以无法利
用缓存来提高效率。不过,它可以将大段的文本分成多个句子,然后并发分析每个句子
。近日,Repustate官方博客发表了一篇博文,介绍其API的演进过程。
Repustate API的第一个版本是用Django编写的。他们构建了一个原型,并以此为基础
推出了他们的服务。但每个Django请求/响应周期的开销太大。随着API访问量增加,可
靠性问题凸显,使用Amazon服务的成本也大大增加。于是,他们开始寻找一种Python代
替方案,并选择了Flask。Flask几乎是现成的API,而且是轻量级的。不过,他们稍后
又发现了Falcon。他们非常喜欢这个框架,因为它使用Cython进行了优化,速度比
Django要快许多,而且它还遵循简洁REST原则。事实证明,Falcon是一个很好的补救方
案。Repustate的平均响应时间缩短了,故障和支... 阅读全帖
d********g
发帖数: 10550
23
“等julia的轮子赶上了”本身就是个wishful thinking和伪命题呀,这说法适用于任
何语言包括Python 3,况且Python的ecosystem已经完成了3的全面兼容
如果你仔细看过Python 3.5、3.6的变化肯定不会这么说。3.4包括之前的Python 3.x和
3.5+都不是一回事
JavaScript和别的根本不冲突,如果说的是server那Node.js还远远不够。Node.js的看
家本领async性能现在都被Python 3 asyncio + uvloop爆菊了:
https://magic.io/blog/uvloop-blazing-fast-python-networking/
当然没有任何语言/框架可以一招鲜吃遍天
h**********c
发帖数: 4120
24
http://lucumr.pocoo.org/2016/10/30/i-dont-understand-asyncio/
tl;dr;
这篇谁看了,YC 索引的,给个中文摘要吧。
d********g
发帖数: 10550
25
其实3.4因为asyncio的吸引力已经成功搞定了社区(3.3和之前的确实转不转没啥太大
实质性的好处)。其实也才两三年功夫,已经没啥坑了。这个趋势你可能没有太关注
d********g
发帖数: 10550
26
不是发过asyncio + uvloop已经完爆其他了吗,和go不相上下——这么说go也是低性能
语言了?
d********g
发帖数: 10550
27
https://magic.io/blog/uvloop-blazing-fast-python-networking/
asyncio本身就已经和Node.js旗鼓相当了,再加上uvloop之后Node.js被甩开一百条街
Yury Selivanov是个神人,Python的核心开发者之一:
https://bugs.python.org/issue28544
d********g
发帖数: 10550
28
Python因为GIL导致thread不行,所以就只好asyncio啦。异步单线程
d********g
发帖数: 10550
29
thread和asyncio没啥关系。用thread还是会有GIL问题
s********k
发帖数: 6180
30
但是asyncio还是难写不少,就是说3.4以上不提倡用thread,还以为GIL解决了。
比如我这个,怎么改写成 async合适
try:
thr = Thread(target=func, args=(func——args,))
thr.daemon = True
thr.start()
except Exception, e:
threadErrors.append([repr(e), current_thread.name]) # append a list
of info
raise # re-raise the exception or use sys.exit(1) to let the thread
die and free resources
d********g
发帖数: 10550
31
这……Win32时代的UI不都这么做的?消息循环就是上古时代的async,这和语言有啥关系
现在的这些asyncio只是说做到语言特性里去了
l****r
发帖数: 119
32
来自主题: Programming版 - 离成功转码还有多远?
我是EE转码的,去年毕业,公司码农的工作没找到,在一个医院做了半年(号称研究机
器学习)的博后(工资低),说说感受:
能接触真实的医疗数据,数据库里有病人就诊记录包括吃的药和化验指标,但是数据比
较乱也很深奥,没有医疗行业知识,不懂药名和化验指标是什么意思,现学的话总觉得
差好远。所以,老板说让做什么就做什么。主要用python,pandas,sklearn,某些问
题用R做。研究的问题感觉都比较trivial。感觉都不是真正的机器学习,是简单的算数
分析。问题的定义也不是特别清楚。
还做了几个NLP的小project,论文的聚类,涉及到:
web scraping, 把论文从网上扒下来,用python beautiful soup, asyncio
feature 提取:用一个Medical Text Indexer (MTI)的网络API,把医学论文的关键字
找出来
machine learning算法: 用了LDA和k-means,都是调用sklearn库
pandas用的还挺熟的,各种groupby,apply。但去看job description,好多都要求会
tensorf... 阅读全帖
1 (共1页)