采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
我这边django有个功能就是分析用户上传的excel文件,并且对里面的每一项数据做验证,我是用serializer来做验证的。目前处理900条数据大概需要80秒,速度有点慢,后面一般数据量是4000-5000条,按照目前的速度要6分多钟,实在是太慢了,这个过程是纯计算操作,老师,有什么办法能加快速度吗?能使用协程吗?如果不行,多进程是否可以?或者有什么其他的办法提升速度。
如果处理是耗时cpu的话 是无法加速的, 你可以将这些任务异步化 比如用celery去做成异步的任务,asyncio是无法解决这种速度的问题 asyncio只是用来做高并发的处理的
那比如有十万条数据我开5个进程,每个进程处理20000条数据,是否时间就是节省了4/5,这样的方法可行吗?
首先进程和cpu相关, cpu加速是和cpu具体的数量有关,一般进程数和cpu数量一致就够了,多了也没用,这个在cpu处理类型的任务中。不管用什么语言都一样的,但是如果你是io类型的话就不一样了,这个时候快速的切换才是最重要的,多进程带来的优势不明显,甚至可能更低
登录后可查看更多问答,登录/注册
socket编程/多线程/多进程/线程池/asyncio并发编程/协程和异步IO
1.2k 31
1.1k 24
1.1k 16
1.4k 10
1.1k 9