摘要:事先声明,本文章与技术没有实际关系。不喜欢的跟我讲,我立马从首页撤下来! 不知道大家读过一个笑话没有:有一个物理学的教授邀请了他的一位朋友——另外一名非常著名的物理学家,来帮忙评判他的一个学生的考卷,其中有一道题是这样的:你现在有一个气压计,如何用这个气压计来获得一栋楼的高度?他的学生是这么回答的:先度量气压计的高度以此作为单位高度,然后度量该楼一级楼梯台阶的高度,输出每一层楼有多少个台阶,一共有...
阅读全文
10 2004 档案
摘要:最近一直在忙于性能优化方面的调试工作,所以一直在研究这方面的问题。其实那些研究都是不着边际的事情,但是作为自己的知识储备,也算是一件有意义的事情。目前的工作算是“OK”了,不过我自己却不是很满意。在整个过程当中发现了不少的问题,首先是XML的速度,后来是FileStream的问题,接下来是Thread的互相影响问题。天啊!我真想喊出来,才解决了数据读取的问题又出现了Thread的问题——Ce里面的...
阅读全文
摘要:一个强制转换快还是ToString快,搞得我晕头转向的。以为OK了出结果了,却出现奇怪的情况,还好,总算是山穷水尽(复,李敖说的)疑无路,柳暗花明又一村。一开始,我想大家都跟我猜想的一样,认为ToString比较慢,而且还有危险。结果一开始我的试验结果跟我的猜测比较吻合,ToString比强制转换要慢一个级别,不同的机子上面会有不同的结果,在10:1到6:1之间。但是后来有人说在Console下面...
阅读全文
摘要:刚刚发完上一篇Post,在cnblogs上面msolap就提出了Console下面结果相反的情况,继而有人用实验证实了这一结果。我立刻稍微实验了一下,发现果然如此,更进一步的发现了一些不可思议的事情。事实上我在另一台机器上面做了一个完全相同的Console实验(一台普通的P4 1.8G 768MB Ram),在VS2k3里面的Debug模式就得到了反转的结果——ToString比强制转换要快,虽然...
阅读全文
摘要:首先先说一句不好意思,昨天的Post里面忘了给大家介绍一个基本的前提:那个object o 里面的数据我可以确保它是string类型,也只可能是string类型。这一个研究并不是完全没有意义的,虽然在我实验之前确实也认为应该是强制转换的速度快,但是没有实际的比较问题还是比较难以说明的。也许有人就会问了,你凭什么认为object o里面的就是string呢?不好意思,这是我限定的条件,并且是有实际被...
阅读全文
摘要:假设我有一个object类型的变量o,需要转化成string类型的变量s。那么请问下列方式当中的那一个方案更加有效率:1、 s = (string) o;2、 s = o.ToString();相关提示:1、(string) 强制转换对应一句IL语句castclass,在IL中大概表现为: L_0019: ldloc.0 L_001a: castclass string ...
阅读全文
摘要:今天在做一个实验,突然发现一个不寻常的地方:VS2k5 C# 在编译for循环的时候,IL代码跟以前的方式不一样: L_0029: ldloc.1 L_002a: ldc.i4 100000000 L_002f: clt L_0031: stloc.s flag1 L_0033: ldloc.s flag1 L_0035: brtru...
阅读全文
摘要:前一段时间mvm写了一个记录键盘敲击情况的程序,Post里面提到有两个特殊的全局钩子可以在.NET里面钩上。今天终于有幸把mvm的程序下载下来,然后偷偷的用Reflector去翻看了一下。哦,原来说的是SetWindowsHookEx这个东西,之前没有认真看Post……然后我就查了一下这个函数,不查不要紧,查了之后发现这里面有一张表: Hook Scope WH_CALLWNDPROC T...
阅读全文
摘要:我们先来看看展波举的例子:http://blog.joycode.com/zhanbos/archive/2004/10/26/36605.aspx在这个例子里面我们看到,编译器会检查scope问题,目的是防止错误使用本地变量。但是据我研究,这里面有“Bug”(注意双引号),那么会有什么有趣的“Bug”呢?我来给大家一个简单的例子: public void Test() ...
阅读全文
摘要:今天我才知道我在博客堂的Blog被人污染了,有人在回复里面贴这种东西:为了避免有人认为我是在这里对其宣传(这个罪名可是担当不起),因此这里截断了,只是为了显示证据。这样的回复一共有四个,每一个的用户名是一样的,但是里面的连接却都不一样,我已经全部删除了。不知道这个现象以前有没有发上过,反正我是没有遭遇过,一直以为只有那些很垃圾的论坛才会被这种东西骚扰,看来这种骚扰哪里都会存在。其他的诸位博客看来...
阅读全文
摘要:刚才对.NET CF内部的代码的分析得知,FileStream.Position对性能有严重的损耗,那么我们如何去解决的这个问题呢?1、如果你可以自行计算当前位置,那是最好的了。比如for(int i = 0; i 特殊二进制格式的转化工具,就能够极大地提升性能。目前对于6000项数据的完整遍历,大概在19秒的级别,再加上一些其他的优化手段,目前能够达到3秒左右的级别,基本上属于可以接受的范围。(...
阅读全文
摘要:前一段时间看到博客堂上面的mvm用纯.NET写了一个有趣的程序,用来记录敲击键盘次数,当时就非常感兴趣。不过可惜这边的破烂蓝波速度质量奇差,当时网络时断时续无法下载,后来有机会下载了,却连接失效了。所以一直就没有机会看看原程序,家伙都准备好了——Refactor,既然mvm都说了可以disassemble……可惜啊可惜,后来就一直没有关注了。今天晚上发飚,突然想起来mvm说我介绍的这个代码着色器有...
阅读全文
摘要:不知道大家有没有对我上面写的那个程序在.NET CF上面跑一遍?怎么样?感觉如何?大家肯定完全没有耐心完成整个过程,大概看到第一个输出之后,就基本上“死机”了。等了五六分钟时在不耐烦了,断点调试一看,fs.Position才到xxKB到xxxKB之间,基本上绝望了,这就是我当时的感觉。但是千万不要放弃,请把while语句直接读FileStream的那一段去掉,重新来一遍。这一次怎么样呢?奇怪吧,绕...
阅读全文
摘要:上一个Post讲到,在.NET CF下面直接用XmlDocument来读取比较大的Xml文件是非常缓慢的,但是我们也只是知道了一个绝对值,没有参照物,还是不知道到底怎么样。其实利用上一个Post的代码,读取同样格式和内容的Xml文件,当Item数量在接近6000的时候,仅仅是遍历一次所有的内容,仍然将会花费50秒左右的时间。注意这里仅仅是遍历,没有其他多余的语句,例如将数据用某种类型结构保存在内存...
阅读全文
摘要:测试机器规格:CPU: TI OMAP 200MHzFreeMem: 大约 7.5MWinCE ver: 4.20(build 0).NET CF: 1.0对一个格式大致为(保护公司机密,所以名称和结果不是很真实)的XML文件用XmlDocument直接进行读取,我的实测结果是: 1 abcdef abcdefg 1 P...
阅读全文
摘要:The young girl spends a few minutes on her toilet every day.He made a hasty toilet for dinner. She performed a grand toilet as if for a ball.The women went to the garden party to display their summer ...
阅读全文
摘要:原来 Terrarium 1.2 已经发布了,而且还是几个月之前的事情了……具体可以到这里下载: http://www.terrariumgame.net不过目前只有Client版本,Server版本没有发布。之前听说连同源代码发布,结果还是没有发布,看来还要等上一段时间了。着一个版本还不是TerrariumII,至少并没有太多大的改进。唯一一个比较大的改进,我觉得就是终于实现了很久以前就计划的“...
阅读全文
摘要:本文中的例子源代码请到这里下载:Smartphone上用.NET CF截获Back键的演示程序当然,这个程序本身并非一定要用截获Back键这样的方式来设计,甚至应该有更好的设计方式。这个例子并不时为了给大家演示Back键如何出问题的,而是为了演示如何截获Back键,并进行自己的逻辑设计。代码并不时非常完善,凑合着看看吧。现在我们假设有这么一个任务:设计一个“实时”在线系统,为天文学家提供一个宇宙重...
阅读全文
摘要:目前为止,也许我写的最为“成功”的一个系列是关于异或加密算法安全性的那几篇文章。当然我得说一下所谓的“成功”是什么:用Google搜。我记得大概一个月以前用Google要把这篇文章搜索出来,必须要同时输入“加密算法”“异或”“破解”三个单词,这样才能够出线在第一个页面当中。仅仅输入其中任意一个单词,都不会进入前十页。依稀记得Google做过一个调查,发现绝大多数人只看第一页的搜索结果,大部分人也只...
阅读全文
摘要:你的感官所及,处处都是真理。sumtec你的感官所及,处处都是悖论。sumtec世事无绝对。sumtec绝对无绝对?sumtec当所有人都认为他们是对的你是错的,其实很可能你才是对的。sumtec当你认为所有人都是错的你是对的,其实很可能你是错的。sumtec当你认为所有人都认为你是错的,很可能有人认为你是对的。当你认为所有人都认为你是对的,很可能有人认为你是错的。穿了鸳鸯袜的时候,通常最在意的是...
阅读全文
摘要:最近好长时间没有写东西,不是没有东西可以写,而是最近整天在观看一些东西,看完之后就不想写了。请容许我先写写与主题无直接关系的东西吧。呵呵,大家不要想歪,我说的东西是指NASA里面介绍宇宙发现的地方,还有哈勃望远镜的官方网站上面的桌面背景。每一次“遨游”太空之后,就有有如下症状:1、觉得实在有太多我们所不知道的东西了,极度兴奋;2、觉得我们不过是一颗灰尘,如果宇宙从诞生到目前为止算作一年,那么我的一...
阅读全文