文章 2017-08-01 来自:开发者社区

深入理解GIL:如何写出高性能及线程安全的Python代码

6岁时,我有一个音乐盒。我上紧发条,音乐盒顶上的芭蕾舞女演员就会旋转起来,同时,内部装置发出“一闪一闪亮晶晶,满天都是小星星”的叮铃声。那玩意儿肯定俗气透了,但我喜欢那个音乐盒,我想知道它的工作原理是什么。后来我拆开了,才看到它里面一个简单的装置,机身内部镶嵌着一个拇指大小的金属圆筒,当它转动时会拨弄钢制的梳齿,从而发出这些音符。 在一个程序员具备的所有特性中,想探究事物运转规律的这种好奇心必.....

文章 2017-07-03 来自:开发者社区

用python做测试实现高性能测试工具(1)—序

做过几年开发或者测试开发的人员,时常会觉得很迷茫,新功能的开发或者老功能的维护,基本是在堆代码了, 做过几年测试的朋友也会有类似的想法。性能调优或者性能测试的确很考验人分析问题、解决问题的能力,知识是否全面。本人也是第一次实现高性能的测试工具, 记录下这次diameter协议测试工具的优化过程,供大家一起学习。 有些内容涉及到具体产品,做了些改动或者单独写了测试代码演示。   Python用来开....

文章 2017-07-03 来自:开发者社区

用python做测试实现高性能测试工具(2)—优化代码

在上一篇中我们通过换python的解析器来优化性能。但离实际需求还很远。   方案2: 优化代码   工欲善其事,必先利其器。要优化代码,必须先找到代码的瓶颈所在,最土的方法是添加log, 或者print, 调试完成还需要删除,比较麻烦。python里面也提供了很多profile工具:profile, cProfile, hotshot, pystats, 但这些工具提供的结果可读性不是很好,.....

用python做测试实现高性能测试工具(2)—优化代码
文章 2017-07-03 来自:开发者社区

高性能的Python扩展:第一部分

 简介   通常来说,Python不是一种高性能的语言,在某种意义上,这种说法是真的。但是,随着以Numpy为中心的数学和科学软件包的生态圈的发展,达到合理的性能不会太困难。   当性能成为问题时,运行时间通常由几个函数决定。用C重写这些函数,通常能极大的提升性能。   在本系列的第一部分中,我们来看看如何使用NumPy的C API来编写C语言的Python扩展,以改善模型的性能。在以后的文章.....

高性能的Python扩展:第一部分
文章 2017-07-03 来自:开发者社区

用python做测试实现高性能测试工具(3)—优化系统架构

在上一篇中对代码进行了优化,离需求进了一步,但还是很大距离,代码进一步优化我也不知道怎么办了,不会高深的算法。只能从改进系统架构考虑。   方案3: 改变系统架构   在开始多进程之前,先简单说明一下python GIL, 之前自己对他也有些误解。因为python GIL的机制存在,同时运行的线程只有一个,但这个线程在不同时刻可以运行在不同的核上,这个调度是由操作系统完成的,如果你写个死循环,.....

文章 2017-07-03 来自:开发者社区

用python做测试实现高性能测试工具(4)—系统架构

在前面一篇中,不知道我文章中有神马关键字,图片总是上传不成功,为了大家看的方便,在这里上传   多线程的系统架构:   多线程改成多进程,只要把红线部分的线程改成多进程即可,但总的进程数最好不要超过CPU 核数。 最新内容请见作者的GitHub页:http://qaseven.github.io/

用python做测试实现高性能测试工具(4)—系统架构
文章 2017-07-03 来自:开发者社区

用python做测试实现高性能测试工具(5)—多进程写log

在上一篇中解决了系统的性能问题,但写log又引入了问题,多进程写log会引起混乱。   查询了多进程写log 的方案, 主要有2种:   利用多进程的Queue,把log放到统一的有个log queue里面,一个单独的线程写log   起一个单独的socket server,由 这个server来接受log,并负责写log   我觉得这2重方案都太重了,很多写log的地方就需要改动了,希...

文章 2017-06-02 来自:开发者社区

mprpc —— 高性能的 Python RPC 开发库

mprpc 详细介绍mprpc 是一个轻量级的 MessagePack RPC 远程方法调用库。你可以用它来轻松构建一个分布式的服务器端系统,只需要少量代码,基于 gevent 和 MessagePack 开发。 服务器端: from gevent.server import StreamServer from mprpc import RPCServer class SumServer(RP.....

文章 2017-05-02 来自:开发者社区

《Python高性能编程》——导读

前 言 Python很容易学。你之所以阅读本书可能是因为你的代码现在能够正确运行,而你希望它能跑得更快。你可以很轻松地修改代码,反复地实现你的想法,你对这一点很满意。但能够轻松实现和代码跑得够快之间的取舍却是一个世人皆知且令人惋惜的现象。而这个问题其实是可以解决的。 有些人想要让顺序执行的过程跑得更快。有些人需要利用多核架构、集群,或者图形处理单元的优势来解决他们的问题。有些人需要可伸缩系统在保....

文章 2017-05-02 来自:开发者社区

《Python高性能编程》——2.15 小结

本节书摘来自异步社区《Python高性能编程》一书中的第2章,第2.15节,作者[美] 戈雷利克 (Micha Gorelick),胡世杰,徐旭彬 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。 2.15 小结 看过各种性能分析技术以后,你应该已经有了所有必需的工具来验证你的代码中的CPU和RAM瓶颈。接下来我们要去看看Python是如何实现最常用的容器的,这样你就能明智地决定使用哪种....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

Python学习站

Python学习资料大全,包含Python编程学习、实战案例分享、开发者必知词条等内容。

+关注
相关镜像