摘要: (4)继续优化――用空间换取时间 现在对每一个字符,都要用get_Item(object key)方法过一遍,可这个乖乖方法那么长,肯定太耗时间了,能不能用更简单的手段呢?改Hashtable?哇,那代码,叫一个看不懂。仔细琢磨琢磨,有了,直接用数组!每一个汉字对应一个Int16,以该值为索引,数组中在那个位置的值为值,这样最快速了。就是占点空间,内存便宜嘛。反正这东西只初始化一次,占不了多少k。... 阅读全文
posted @ 2005-08-15 12:36 xiaotie 阅读(3669) 评论(7) 推荐(0)
摘要: 下面以实际例子具体解释相关技巧。 (1)缘起 bfax@smth.org发了一个字符串转换程序,引起了热烈讨论。原程序如下: 1 2Function B2G()Function B2G(prestr As String) As String 3 Dim i, j As Integer 4 Const GB_Lib = "" //几千个字符吧,因为字符串长度限制,原程序... 阅读全文
posted @ 2005-08-15 12:32 xiaotie 阅读(3880) 评论(6) 推荐(0)
摘要: 近一段时间测试过几个程序,有一些心得。具体步骤如下: (1)写出测试程序(2)测试原程序,记录运行时间,作为优化的基础。要在Release下测试。(3)检查算法,是不是最有效的算法。尤其是现在内存便宜,看有没有能够用空间换取时间的方法(4)用Reflector查看类库,看你使用的方法是不是最有效率的方法(5)对于运行次数多,性能关键的地方,不要直接调用类库。类库是为通用目的设计的,用Reflect... 阅读全文
posted @ 2005-08-15 11:23 xiaotie 阅读(4792) 评论(16) 推荐(0)
摘要: 很多时候我们需要用到字符串替换程序,比如插入数据库时需要将'替换成''。当只有少数待换字符串时用String.Replace性能很高,但因为其复杂度是O(n),当待换字符串很多的时候,String.Replace的性能就降下来了。前些天写了几个程序,用于批量替换字符串。问题:批量替换字符串。定义字符串对PairString{OldValue,NewValue}。 ... 阅读全文
posted @ 2005-08-15 10:32 xiaotie 阅读(3836) 评论(4) 推荐(0)