排序比赛的回顾
摘要:偶见有人在发起一个排序比赛,对27W左右的词进行排序输出,要求读取+排序+输出的时间最少。例子代码有一个简单的Java版本实现,大概的时间是在4xxms,然后是Go语言实现,大约在3XX ms。Go语言不懂,就不折腾了。Java的版本还是可以看看。时间分布上,读取2.8M的文件大约150ms,写大约100毫秒,感觉明显可以优化。第一步,修改读取方法,使用NIO的内存映射,直接开内存读取,时间下降到70ms,写入50ms左右,合计300多一点第二步,修改排序算法,修改原来的多线程,对读取的时候数据进行分组,各个线程直接排序即可,最后再归并,总时间下降到260ms左右第三步,尝试了读取的时候就分给
阅读全文
posted @
2012-10-17 14:19
仙人指路
阅读(287)
推荐(0)
InfoPath表单里面的空格处理技巧
摘要:InfoPath表单可以所见所得使用XML保存用户数据,数据内容是以XHTML模式组织,这样可以很方便的发布到WEB系统。其中一个很隐蔽的技巧,如果你没注意,就会出现?的问题。编辑模式下,在多行文本框内输入多个空格,InfoPath只把最后的一个空格用真实的空格,也就是ASCII的32,其余的都用UTF8的空格,byte值为 160 0, 如果需要转换到WEB,需要替换成网页常用的空格,这样...
阅读全文
posted @
2007-09-27 20:31
仙人指路
阅读(369)
推荐(0)
VSTS小技巧之使用IDE的宏,自动为c#变量生成属性
摘要:在编写c#代码过程中,我们经常需要做一些重复枯燥的工作。例如,编写DTO(数据访问对象),通常就是为一个类定义一系列的变量和属性。 有一些第三方的IDE辅助工具,可以为我们生成一些代码,减少工作量。例如,Assist X就是一款很值得推荐的工具,使用其提供的Encapsulate Field功能,可以很方便地将一个类地编写封装为属性。 我今天需要介绍的如何使用Visual Studio 2005 ...
阅读全文
posted @
2007-07-23 15:55
仙人指路
阅读(458)
推荐(0)