|
|
|
|
 如何提高Python处理文本文件的速度 - jianghua1213 [ 2005-07-05 09:47 | 827 byte(s)]
 Re: 如何提高Python处理文本文件的速度 - limodou [ 2005-07-05 11:09 | 37 byte(s)]
 Re: 如何提高Python处理文本文件的速度 - jianghua1213 [ 2005-07-05 11:11 | 56 byte(s)]
 Re: 如何提高Python处理文本文件的速度 - passworld [ 2005-07-05 12:38 | 558 byte(s)]
 Re: 如何提高Python处理文本文件的速度 - gutounan [ 2005-07-12 17:10 | 154 byte(s)]
 Re: 如何提高Python处理文本文件的速度 - passworld [ 2005-07-12 18:36 | 560 byte(s)]
 Re: 如何提高Python处理文本文件的速度 - gutounan [ 2005-07-12 21:04 | 132 byte(s)]
 Re: 如何提高Python处理文本文件的速度 - passworld [ 2005-07-12 23:05 | 137 byte(s)]
 Re: 如何提高Python处理文本文件的速度 - gutounan [ 2005-07-13 10:19 | 77 byte(s)]
|
|
|
|
[Original]
[Print]
[Top]
|
如何提高Python处理文本文件的速度
有如下三个文本文件,内容举例说明如下:
ref_col1.del:
A1|IDA1
A2|IDA2
A3|IDA3
ref_col2.del:
B1|IDB1
B2|IDB2
B3|IDB3
fact_dsn.del:
A1|B1|Name1|Address1|Tel1
A2|B2|Name2|Address2|Tel2
A3|B3|Name3|Address3|Tel3
A4|B4|Name4|Address4|Tel4
A5|B5|Name5|Address5|Tel5
A6|B6|Name6|Address6|Tel6
ref_col1.del与ref_col2.del文件的内容不会很多,只是转换fact_dsn.del时的一些参
照,fact_dsn.del有大量数据,可能有上千万行,现在想根据前两个文件的内容进行参
照,来修改fact_dsn.del文件中的前两个字段。请各位大侠支招,如何去提高文件处理
的速度?
谢谢!
|
|
|
----
成功的捷径在于模仿
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
测试?Python的速度从来都不是强项,不用测试也知道。
如果是真正的写程序,建议使用 Python profiler 发现你具体程序的的热点,针对热点进行优化,甚至可以把某些热点用 C 扩展处理。如果还不行,那就是你的实现方法的问题,在算法优化上下工夫。
一般的步骤是先优化算法,然后优化具体实现。但是简单的方式就只在实现上进行优化,达到设计要求就行了。无限的追求完美是浪费时间的事,有时间浪费当然也无所谓。
要是测试,比赛,满足自尊心,那你就自己玩吧,肯定可以到处找到零碎的地方可以提高速度的,找到了别忘了告诉大家。
|
|
|
----
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
看 Python 手册里有关 profiler 的章节。调试程序运行效率的一个手段,可以列出程序运行时在每个步骤消耗的时间,然后程序员可以针对这些地方进行优化。很标准的编程工具,大多数语言都有这个工具。
有一句名言叫做 "Premature optimization is the root of all evil." : 时机还不成熟的优化,是万恶之源。
优化前,要先找到需要优化的地方,这里 Profiler 就发挥了它的作用。对于那些只占整体耗时 1% 的地方,你再无限优化,也只是提高整体程序效率的 1% ,浪费自己的时间。这就是盲目优化,也是不成熟的优化的一种。
|
|
|
----
|
|
[Original]
[Print]
[Top]
|
|
|