免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: Heaice
打印 上一主题 下一主题

求助:哪位有python关于内存管理方面的资料啊~ [复制链接]

pyll 该用户已被删除
11 [报告]
发表于 2009-03-04 09:45 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
12 [报告]
发表于 2009-03-04 09:56 |只看该作者
原帖由 DQP 于 2009-3-4 09:01 发表


你指的'改善内存的使用'是什么意思.
一般认为采用join的方式 可以减少重新分配内存次数 从而提高效率。

import re
import time
import fpformat

TimesToDo = 100000

TestString = ""
StartTim ...



抱歉,表达的不是很明确,这里重新阐述下我的问题

在这里所要表达的意思有两点:
1)执行时,对内存的分配,使用,释放,再分配。

2)执行的效率

论坛徽章:
0
13 [报告]
发表于 2009-03-04 10:06 |只看该作者
原帖由 Heaice 于 2009-3-4 09:56 发表

抱歉,表达的不是很明确,这里重新阐述下我的问题

在这里所要表达的意思有两点:
1)执行时,对内存的分配,使用,释放,再分配。

2)执行的效率

这个又是什么意思?你想自己管理内存 malloc free?

论坛徽章:
0
14 [报告]
发表于 2009-03-04 10:12 |只看该作者
原帖由 luffy.deng 于 2009-3-4 10:06 发表

这个又是什么意思?你想自己管理内存 malloc free?



就是寻找一种在保证效率最大化,而且又能够节省对内存的使用的方法。

自己管理内存虽然比较好,不过没有找到python这方面的资料。

论坛徽章:
0
15 [报告]
发表于 2009-03-04 10:18 |只看该作者
原帖由 Heaice 于 2009-3-4 10:12 发表



就是寻找一种在保证效率最大化,而且又能够节省对内存的使用的方法。

自己管理内存虽然比较好,不过没有找到python这方面的资料。

自己管理内存这个做不到,而且作为动态语言也没有必要做这个。关于效率前面都说的很清楚了,你可以看看string_concat, string_join的实现,其实最主要的差别就是内存分配次数。当然['sahkg' for i in xrange(0,100000)]生成这样一个list的内存占用也是比较可观的。

[ 本帖最后由 luffy.deng 于 2009-3-4 10:24 编辑 ]

论坛徽章:
0
16 [报告]
发表于 2009-03-04 10:40 |只看该作者
原帖由 luffy.deng 于 2009-3-4 10:18 发表

自己管理内存这个做不到,而且作为动态语言也没有必要做这个。关于效率前面都说的很清楚了,你可以看看string_concat, string_join的实现,其实最主要的差别就是内存分配次数。当然['sahkg' for i in xrange ...



动态语言在内存管理方面也是一个弱点。

正因为在执行上述语句时,占用内存非常大,所以才想看看大家能否在这方面帮忙改善下,提供一些可行性参考

论坛徽章:
0
17 [报告]
发表于 2009-03-04 11:00 |只看该作者
xrange和join就是最优了,不过2.x用xrange的时候注意别超过系统的int的范围,不然要自己实现一个迭代器

论坛徽章:
0
18 [报告]
发表于 2009-03-04 11:29 |只看该作者
原帖由 Heaice 于 2009-3-4 10:40 发表



动态语言在内存管理方面也是一个弱点。

正因为在执行上述语句时,占用内存非常大,所以才想看看大家能否在这方面帮忙改善下,提供一些可行性参考


如果+操作的效率可以接受那就用+好了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP