相关疑难解决方法(0)

建议使用哪种Python内存分析器?

我想知道我的Python应用程序的内存使用情况,并且特别想知道哪些代码块/部分或对象占用了大部分内存.Google搜索显示商业广告是Python Memory Validator(仅限Windows).

开源的是PySizerHeapy.

我没有尝试任何人,所以我想知道哪一个是最好的考虑:

  1. 提供大部分细节.

  2. 我必须对代码进行最少或不做任何更改.

python performance profiling memory-management

657
推荐指数
8
解决办法
22万
查看次数

是否有适用于Python3的工作内存分析器

在Python 2中有一些工具,但一切似乎都是旧的和过时的.

我发现了PySizer和Heapy但是一切似乎都是面向Python2的,需要付出很多努力来移植.

objgraph很有趣,但仍然不是一个完全工作的分析器

使用哪种工具?

python profiling memory-profiling memory-leak-detector python-3.x

33
推荐指数
1
解决办法
9116
查看次数

什么是备忘录有用,它真的有用吗?

互联网上有一些自动记忆库可用于各种不同的语言; 但不知道它们的用途,使用方法以及它们的工作原理,很难看出它们的价值.使用memoization有什么令人信服的论据,以及memoization特别闪耀的问题域是什么?这里特别感谢不知情的信息.

generics performance memoization demo

29
推荐指数
5
解决办法
3739
查看次数

Python深入了解内容列表?

sys.getsizeof( 10000*[x] ) 无论x:0,"a",1000*"a",{},我感到惊讶的是40036.
有没有deep_getsizeof 正确考虑共享内存的元素?
(问题来自查看内存数据库表,如范围(1000000) - >省名:列表或字典?)
(Python是2.6.4的mac ppc.)

补充:10000*["密西西比"]是指向一个"密西西比"的10000个指针,正如几个人所指出的那样.试试这个:

nstates = [AlabamatoWyoming() for j in xrange(N)]
Run Code Online (Sandbox Code Playgroud)

其中AlabamatoWyoming() - >一个字符串"Alabama".."怀俄明州".什么是deep_getsizeof(nstates)?
(我们怎么说?

  • 一个适当的deep_getsizeof:困难,~gc示踪剂
  • 从总vm估算
  • 内部知识的python实现
  • 猜测.

添加25jan:另请参阅when-does-python-allocate-new-memory-for-identical-strings

python memory

19
推荐指数
4
解决办法
5730
查看次数