请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,django里面处理逻辑能使用协程吗?

我这边django有个功能就是分析用户上传的excel文件,并且对里面的每一项数据做验证,我是用serializer来做验证的。目前处理900条数据大概需要80秒,速度有点慢,后面一般数据量是4000-5000条,按照目前的速度要6分多钟,实在是太慢了,这个过程是纯计算操作,老师,有什么办法能加快速度吗?能使用协程吗?如果不行,多进程是否可以?或者有什么其他的办法提升速度。

正在回答 回答被采纳积分+3

1回答

bobby 2018-09-29 18:21:08

如果处理是耗时cpu的话 是无法加速的, 你可以将这些任务异步化 比如用celery去做成异步的任务,asyncio是无法解决这种速度的问题 asyncio只是用来做高并发的处理的

0 回复 有任何疑惑可以回复我~
  • 提问者 改变自己c #1
    那比如有十万条数据我开5个进程,每个进程处理20000条数据,是否时间就是节省了4/5,这样的方法可行吗?
    回复 有任何疑惑可以回复我~ 2018-10-08 10:47:00
  • bobby 回复 提问者 改变自己c #2
    首先进程和cpu相关, cpu加速是和cpu具体的数量有关,一般进程数和cpu数量一致就够了,多了也没用,这个在cpu处理类型的任务中。不管用什么语言都一样的,但是如果你是io类型的话就不一样了,这个时候快速的切换才是最重要的,多进程带来的优势不明显,甚至可能更低
    回复 有任何疑惑可以回复我~ 2018-10-10 10:10:26
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信