SUMTEC -- There's a thing in my bloglet.

But it's not only one. It's many. It's the same as other things but it exactly likes nothing else...

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
最近一直在忙于性能优化方面的调试工作,所以一直在研究这方面的问题。其实那些研究都是不着边际的事情,但是作为自己的知识储备,也算是一件有意义的事情。目前的工作算是“OK”了,不过我自己却不是很满意。在整个过程当中发现了不少的问题,首先是XML的速度,后来是FileStream的问题,接下来是Thread的互相影响问题。天啊!我真想喊出来,才解决了数据读取的问题又出现了Thread的问题——Ce里面的背景线程一旦运行,就会严重阻塞前台的线程。有没有谁知道CE里面(包括.NET CF里面)的线程机制是什么样的?是轮换式还是抢占式?优先级有没有作用?.NET CF里面的线程简直就是弱的不堪设想,除了能够让他运行起来,加上调一个优先级,就没有更多的功能了。不能够强制中断,不能够Suspend/Resume,也读不出来他的运行状态……真是要命,如果没有人能够给我答案的话只好自己慢慢找了。还好,目前的性能问题还可以含糊过去,比如让背景线程推迟30分钟之后再运行,但愿这样JGTM不会察觉出来他的存在。

很久没有仔细去看看外面周围都发生了些什么了,今天下午真的要好好的看看一些很久没有看到的Blog了。比如Neil CowburnAlex Yakhnin的,发现里面又有好多新的东西了,真是很喜欢他们的Blog,虽然更新速度并不快,大师每篇都值得一看。不像我这个Blog,充满了不可阅读的或者不值得阅读的废话。哎,废话少说,还是来看看最近他们都说了些什么吧:

(所有内容未经我亲自验证,仅代表原作者观点)
Neil Cowburn说:
Ultra-Simple Application Logging
原来在.NET CF上面开发,如果想要Log一些东西是这么简单的。大概意思就是通过P/Invoke改变标准输入输出流的方向,然后就可以直接用Console里面的方法来输出字符串到一个特定的文件里面了,没错,就那么简单。

Pocket PC Magazine Best Software Awards 2004 -- WE WON!
opennetcf.org获得了PPC Mag 的2004年度最佳软件大奖。嗯,应该指的是里面的SmartDevice Framework吧?说句老实后,这个东西确实是一件神奇的东西,它能够快速的解决许多你认为非常头疼的事情(也许待会儿我要到那里面找找有没有增强型的Thread类),尽管里面有很多地方有Bug。Bug不是问题,因为这个东西完全免费和开源,只要你自己会调试,水平足够的人都可以自己去截取代码和修改。这个东西最大的问题是:太大了,也还不够大。一方面我希望他能够小巧一点,因为这么大的东西会影响加载速度和占用内存的空间,而我自己又想偷懒,不想老是自己截取代码来避免这个缺点。另外一方面我却希望他能够解决更多更多的问题,比如COM交互,或者DX之类的东西,哈哈,这个就真是勉为其难了。总结一下,SD Framework还是很好D……

Craig on .NET Compact Framework 2.0
Craig是谁?我不知道,他最近在一个内部培训的时候进行即席演讲,并录了下来。他说了一些他觉得.NET CF 2.0里面最让他喜欢的东西,不听的话你真是错过了很精彩的东西!比如说,.NET CF 2.0 里面将会有Generics,有Interators,有Com Interop,有Sql ce.NET,有DX,有MSNQ,有直接操作Inbox的能力,有Data Encryption,有Location API,有Camera API,有……听得我是极度兴奋(还有性能改善忘了列出来了)。不过这个只是内部培训的时候录下来的,估计是为了训练演讲能力,提高培训能力的。(上一次有幸参加了MS给MVP做的类似培训,感觉棒极了。哈达不一定赞同,他水平太高了……)毕竟不是官方的东西,可信程度还是不高,不过也比我自己瞎吹要好多了。嗯,别的东西我不要,就要Generics、Sql ce.NET、DX,还有性能提升,就这些了,我还是不太贪心的。
这里还有另外一个录像,我还没有仔细看,大家也可以看看,是关于ASP.NET 2.0的(显著优点的)。
这个Post实际上是来自Carter Maslan的。

CFNunitBridge GotDotNet Workspace
嗯?CF也上NUnit了?嘿嘿……怀疑ing

Who would like to fly Virgin Galactic?
FT,还有可以飞到室女座星云的方法?Neil想,我可不想。那么大的星云(跟银河系一般大)要找个落脚点可不容易,目前人类在300光年的范围以内都尚未找到和地球环境相近的星球,更何况要在一个直径是万光年的星系里面去找,真是茫茫大海呀……

Meet the Visual Studio for Devices Team
关于Visual Studio for Devices Team里面的录像

Using POOM with .Net Compact Framework Whidbey Beta1
前面说了.NET CF 2.0 可以POOM,这里有一个例子可以去看看。

Show me your desktop!
看看人家多好,最小的也使17寸的液晶……羡慕有两个显示器,以后有钱了一定要买四个显示器,一个打开VS2kX玩玩,一个运行自己写出来的程序玩玩,一个摆着玩玩,还有一个摔着玩玩……

Catch-up Round-up
都是一些连接,值得一看。

Visual Studio For Devices Team Blog
VSD Team的Blog,如果你对如何改进VS有什么想法,可以给他们说说,也许会管用。


Alex Yakhnin 说:
Accessing Memory Mapped Files from CF
这个是关于在CF上面使用FileMapping技术的Post,值得研究。

Nota bene...
这个……这个……

Using cordbg for .NetCF
其实也是转自别人的Blog,好像Neil也转了。值得研究,这样我们也许有机会知道.NET CF里面到底搞了些什么小动作。

Great info on Managed App Startup and Retargeting
有点深度的内容,具体是什么还没有仔细看。好像说的是.NET CF里面EE启动Managed App的机制,不知道有没有看错。

XPathReader on .NetCF
在.NET CF上面XPath?上次仅仅是XML已经让我非常头疼了,还要XPath呢!不过文章里面说,有人提到现在的XML解析方法有问题(没有提到到底是DOM还是XmlReader),而值得庆幸的是Dare Obasanjo,一个MS的PM,发表了一个 XPathReader,据说除了提供了一些XPath的能力之外,还有效率方面的提高?该死的Alex说:
The next step will be to test a comparison performance of this library vs XmlDocument in CF.
但是却没有写出来,难道非要我也研究一遍?待会儿给他email以下,如果效率有很大提高,那么这些天的工作算是白忙活了……(估计XML的解析效率很难提高的,毕竟是解析……不过话还是不要说死为好。)

Sending mail with attachments from .NetCF.
如果有人对于在.NET CF里面如何发送带有附件的邮件有困难的话,可以看看这个Post,也许对你有帮助。

OK,今天的大转载集合到此,还要看看Thread的问题呢……
posted on 2004-10-29 16:31  Sumtec  阅读(1692)  评论(2编辑  收藏  举报