随笔分类 - 性能分析
摘要:import sys a = [2] print(sys.getrefcount(a)) # 查看引用计数 // object.hstruct _object { Py_ssize_t ob_refcnt; # 引用计数值 struct PyTypeObject *ob_type;} PyObjec
阅读全文
posted @ 2020-06-22 15:36
慕沁
摘要:虽说GIL保证了同一时刻只有一个线程在工作, 但是不能保证对同一变量的操作是原子操作,因此需要枷锁原子操作:一个字节码所能完成的操作。 import dis l = [0] def foo(): l[0] = 1 print(dis.dis(foo)) ''' 7 0 LOAD_CONST 1 (1
阅读全文
posted @ 2020-06-14 13:32
慕沁
摘要:https://files.cnblogs.com/files/ls-2018/tox_test.zip tox是通用的虚拟环境管理和测试命令行工具。tox能够让我们在同一个Host上自定义出多套相互独立且隔离的python环境(tox是openstack社区最基本的测试工具,比如python程序的
阅读全文
posted @ 2020-06-01 17:42
慕沁
摘要:mypypylint flake8 isort autopep8 yapf black coverage PEP 8 是 Python 代码风格规范,它规定了类似行长度、缩进、多行表达式、变量命名约定等内容。尽管你的团队自身可能也会有稍微不同于 PEP 8 的代码风格规范,但任何代码风格规范的目标都
阅读全文
posted @ 2020-06-01 16:44
慕沁
摘要:https://docs.locust.io/en/stable/quickstart.html 默认寻找本地的localfile.py文件 locust --host=http://127.0.0.1:5000 --web-host=127.0.0.1 host 指定访问的地址 web-host
阅读全文
posted @ 2020-05-24 14:24
慕沁
摘要:1、引用计数 2、三色标记 3、分代回收 三色标记 import objgraph a = [1, 2, 3] b = [4, 5, 6] a.append(b) b.append(a) objgraph.show_refs([a]) 安装Graphviz "C:\Program Files (x8
阅读全文
posted @ 2020-05-22 09:44
慕沁
摘要:cython是python的一个模块,Cython可以把代码编译成C模块 . ├── build │ └── temp.linux-x86_64-3.5 │ └── hello.o ├── hello.c ├── hello.cpython-35m-x86_64-linux-gnu.so ├── h
阅读全文
posted @ 2018-12-29 16:32
慕沁
摘要:函数返回值缓存/函数查询表 默认参数 列表表达式与生成器 搞明白为什么列表表达式比for循环性能更好? ctypes 可以让开发者直接进入Python的底层,借助C语言的力量进行开发。这个库只有CPython才有,因为这个版本是C语言写的。 这个连接C语言的接口可以做很多事情,因为你可以直接加载预编
阅读全文
posted @ 2018-12-28 14:00
慕沁
摘要:cProfile 基于事件的性能分析器 import cProfile prof= cProfile.Profile() prof.enable() def func(): pass func() prof.create_stats() prof.print_stats() 通过这种放式对已经写好的
阅读全文
posted @ 2018-12-28 13:37
慕沁
摘要:性能分析 性能分析软件有两类方法论 import profile import sys def profiler(frame, event, arg): print ('PROFILER: %r %r' % (event, arg)) sys.setprofile(profiler) def fib
阅读全文
posted @ 2018-12-28 13:17
慕沁
摘要:dll:动态链接库 系统生成时的调用约定不同 cdll、windll和oledll 有些时候 dll 导出的函数不是Python中的有效值,比如 "??2@YAPAXI@Z". 在这种情况下你必须使用函数 getattr() 来获取函数: 在windows中,一些dll的导出函数并不是按名字来的,而
阅读全文
posted @ 2018-12-28 10:56
慕沁