2012-07-25 97 views
1

在Python中,我正在程序中执行许多不同的字符串处理函数。用户在表单中输入一个术语,并通过不同的功能处理该术语。这些措施包括阻止词语移除,标点移除,拼写检查和获取同义词。在Python中处理字符串 - 包或硬代码?

词干提取是使用使用string.replace()REGEXstemming package

停止字&标点符号拆除完成后,使用使用Big Huge Thesaurus APIpyEnchant

越来越同义词

拼写检查。

术语被发送到API。结果被返回并通过硬编码的排序过程。毕竟结果输出给用户。整个过程需要10秒以上,这太长了。我想知道是否我使用了很多扩展的事实,从而导入它们,导致长时间的延迟。

希望这不是对计算器的规则,但我是新来的蟒蛇,这是什么样的,我需要知道的事情。

回答

4

我在想,如果我使用很多扩展的事实,从而导入它们,导致长时间的延迟。

不太可能。如果你只导入一次,然后调用一个循环,循环应该占用大部分时间。 (或者,发射了每个单词/句子一个Python程序?)

作为一个经验法则,计算机程序往往要花费90%的时间执行代码的10%。这部分值得优化。像导入语句通常不是。要找出您的程序在哪里花费时间,请使用分析器。

+0

辉煌我不知道那些配置文件。我认为它的最慢的一面是对巨大词库的呼吁,但如果这是整体问题,那将会非常惊讶。在我的程序中,用户只输入一个单词/短语并进行处理。我认为我的代码虽然结构可能不够完善 – adohertyd 2012-07-25 21:31:50

1

时间每个独立的检查需要多长时间。然后比较结果,看看实际上花了多少时间。

import time 
start = time.time() 
#after the individual piece has completed 
end = time.time() 

print (end - start, "seconds") 

实际知道字符串处理的每个组件需要花费多长时间会很有趣。