ruby的执行效率

慢,不过也怪不了它的,看看我写的代码:

require

pathname

q = Pathname.new(

c:/temp/www.surnamedb.com

)

aFile = File.new(

C:/1.txt

,

w

)

for i in 42..1000

n = q.children[i]

s = String(n)

m = s.gsub(/[\s\S]*name=/,

)

p = m.gsub(/.htm/,

)

p = p.gsub(/\

/,

\\\\\

)

a = n.read

b = a.gsub(/[\s\S]*class=\

SurnameHistory\

/,

)

c = b.gsub(/

[\s\S]*/,

)

c = c.gsub(/\

/,

\\\\\

)

c = c.gsub(/\

/,

\\\\\

)

aFile.puts

insert into surname (name, desc) values (\

aFile.puts p

aFile.puts

\

, \

aFile.puts c

aFile.puts

\

);

end

aFile.close

测试了一下,其中要操作的文件中平均每个文件大概是20K左右,做一个read,做两次的大的正则表达式操作,然后写文件,文件名处理消耗应该不大。

然后这么1K个文件居然花了将近20分钟的时间,难道时间都用在list上去了?

要再测测具体时间开销才行,这么慢,六万多个文件岂不跑一整天

另外说说,之前一行ruby没写过,语法都是google一半猜一半的