发信人: kamkam(KK)
整理人: kamkam(2002-05-04 21:58:47), 站内信件
|
1.对整数结果,使用整数除法:z& = x& \ y& 比 z& = x& / y& 快60%
2.仅在有必要的时候才使用variant类型,lotus使用更多的时间处理variant
3.读取文件的时候,一次读取一块,而不是一行,下面的例子A比B快接近5倍!而且读取的文件越大,越明显。
example A
Open fName$ for input as #fNum
buff$ = Input$(Lof(fNum),fNum)
stPos = 1
lineNo = 1
eoFile = false
While Not eoFile
nlPos = Instr(stPos,buff$,Chr$(13))
If (nlPos) > 0) then
fData$(lineNo) = Mid$(buff$,stPos,nlPos - stPos)
stPos = nlPos + 1
else
fData$(lineNo) = Mid$(buff$,stPos)
eoFile = true
end if
lineNo = LineNo + 1
wend
close #fNum
example B
Open fName$ for Input as #fNum
lineNo = 1
while Not Eof(fNum)
Line Input #fNum , fData$(lineNo)
lineNo = lineNo + 1
wend
close #fNum
注意,R4.6以及之前的版本,string变量有64k的限制,所以一上例子a需要再增加一些东西(不能一次读取,而是要分次读取文件),但块读取的好处仍然是显而易见的。R5开始,string变量可以最大达到2G,足够读取非常大的文件了。例子A虽然增加了代码量,但是可以大大加快速度,某些场合非常有用
---- ---------------
我心是澎湃的海 我心是动荡的舟 |
|