【无标题】

python3升级改动

  1. 异步使用async修饰函数,外部使用await等待完成

  2. dict结构的items()
    'dict_items' object is not subscriptable
    在这里插入图片描述

  3. map是同步函数,不能使用map在这里插入图片描述

  4. 使用urllib发送请求时,请求体需要为bytes类型
    data = urllib.parse.urlencode(formData).encode("utf-8")

  5. 签名算法使用3.9.9的pycryptodome

  6. 创建多线程异步方法取消,使用异步装饰器

  7. 异步await后不能直接获取属性值 sub

  8. import urllib urllib.quote 无此属性,
    修改,import urllib.parse
    urllib.parse.quote

  9. cx_Freeze==6.2版本,存在bug,升级为6.3之后解决,需要用到该库的需要升级。

  10. 国际化语言包lang.po需要在文件头添加编码等信息。

  11. await后不能直接获取属性

  12. aiomysql需要升级到0.1.0

  13. curator升级

  14. 使用get_arguments(xxx) not self.request.arguments(xxxx)

  15. xrange 改为range

  16. 在异步函数中,time.sleep改为asyncio.sleep

升级性能提升

全部234个对象查询

场景50并发连续50并发1次非并发
优化前分组20个日志库1751411946126
1个日志库248256017
10个日志库122784530160
正则三个,日志库10多个105512771121983
正则,6个层级1122961459422605
正则,6个层级124270669632124,2194
40个日志库,层级664511326281400
优化后40个日志库,层级66505 58181848 193848 61
正则,6个层级3699313320492
1个日志库1521,1582,1699,1979,175313,25,631,1065,231,41,457,839,50,14,731,43,371,646,97,14,78,517,58,13,13,415,20,21,64877,17,64,12,20,20,71,26,24,14,12,65
python3升级1个日志库326,338,33416,9,11,97

升级python3,简单接口性能提升50倍,其中代码大多为正则过滤的逻辑接口提升是4-10倍

python3相比python2做了GIL锁策略的优化,python2中是根据执行指定的操作码后,根据竞态进行切换,而此切换比较无效,因为有可能还是原先的,其它的只能等待,而python3中使用的timeout时间片段式,线程工作时间达到设定的时间片后,就释放,别的线程再来竞态争抢。
具体可看该链接讲述:https://blog.csdn.net/nibuyaoshiwang/article/details/110407549

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值