strongtyping的实用工具。
strongtyping-modules的Python项目详细描述
strong打字模块
strong类型包https://github.com/FelixTheC/strongtyping性能提升的可选扩展 对于简单/单个函数参数,此可选模块可以通过factor 3提高性能 对于更复杂/多个函数参数,则按factor 13。在
安装
- 这个包是在Cython上构建的
- 因此需要一个C编译器https://cython.readthedocs.io/en/latest/src/quickstart/install.html
- 当两个需求都可用时,在项目的某个地方运行(一次)
fromstrongtyping_modules.installimportinstallinstall()
- 在此之后,该模块可用,并将从strong键入自动使用
为了显示此可选模块的性能影响,我创建了以下测试函数。
^{pr2}$我调用了循环中的每个函数,每次迭代都使用“I”元素
foriinrange(10,10010,10):func_with_list(list(range(i)))
以下是没有这些模块的结果
{'func_list_with_union_1_level':{'max':0.0824721889985085,'mean':0.040940183910031916,'median':0.04097814700071467,'min':0.00011775800157920457},'func_with_dict':{'max':0.033724983000865905,'mean':0.01682099703201311,'median':0.01687698050045583,'min':5.355300163500942e-05},'func_with_dict_list':{'max':0.3036283949986682,'mean':0.025529991152990986,'median':0.02529048100041109,'min':0.0001045319986587856},'func_with_list':{'max':0.01744058300027973,'mean':0.008482154103028734,'median':0.008478498000840773,'min':3.4947999665746465e-05},'func_with_set':{'max':0.01736680899921339,'mean':0.008591252664042258,'median':0.008604455000750022,'min':3.981400004704483e-05}}
带着这些模块
{'func_list_with_union_1_level':{'max':0.017030322000209708,'mean':0.008434945453987893,'median':0.008279206000224804,'min':4.34969988418743e-05},'func_with_dict':{'max':0.004060829000081867,'mean':0.0020102006380620877,'median':0.0020167855018371483,'min':1.697399784461595e-05},'func_with_dict_list':{'max':0.007045086000289302,'mean':0.003219366065990471,'median':0.003227623998100171,'min':2.7607999072642997e-05},'func_with_list':{'max':0.0025434739982301835,'mean':0.0012344250298920087,'median':0.001237124501130893,'min':1.1835003533633426e-05},'func_with_set':{'max':0.002797465000185184,'mean':0.0012589457310496074,'median':0.0012730154994642362,'min':1.298200004384853e-05}}
不同功能的x Faktor更快
min4.178648mean4.847373median4.796414max4.760371Name:func_list_with_union_1_level,dtype:float64min3.177067mean7.067269median7.284502max3.898747Name:func_with_list,dtype:float64min3.103697mean6.708103median6.790693max4.583332Name:func_with_set,dtype:float64min3.303017mean8.656822median8.794840max3.579946Name:func_with_dict,dtype:float64min3.368734mean8.407030median8.697711max13.022075Name:func_with_dict_list,dtype:float64
依赖性
- 赛顿
测试OS
- Linux,理论上也应该在Windows和MacOs上运行
安装
- pip安装strong类型模块
版本控制
- 有关可用版本,请参阅此存储库上的标记。在
作者
- 费利克斯·艾森门格
许可证
- 这个项目是在麻省理工学院的许可下授权的-参见许可证.md文件以获取详细信息
- 项目
标签: