posted @ 2009-03-11 15:57
随笔分类 - 操作系统
摘要: 昨天我在一篇博文中提到用 GetThreadTimes 这个Win32 API 来获取线程实际运行时间。今天我又深入研究了一下,发现这个API 返回的时间并不准确。
阅读全文
摘要:早上看到老赵写的这个性能计数器,感觉很实用,不过老赵用了很多.C# 3.0 的新语法,还用了 VISTA 和 Server 2008 下特有的Win32 API,对于还在用C#2.0 或者还工作在 XP 或者 Server 2003 下的兄弟们,只能望代码心叹了。应老赵的要求,我修改了他的代码,增加了对低版本C# 和 低版本windows 操作系统的支持。
阅读全文
posted @ 2009-03-10 14:10
摘要:32位Windows操作系统下单个进程的用户模式内存访问的限制是2G,如果在boot.ini中设置了/3G开关,则最大为3G,超过3G将无法访问。由于Hubble.net 项目是一个数据库系统,必须要考虑使用大内存缓存数据的问题,于是最近对这个问题进行了一些研究。其实这块的技术是现成的,32位操作系统下只有通过 AWE的方式来扩展内存。这块的文章也很多,但很少有.net 下如何使用的实例,我做了一个类似MemoryStream的封装,可以让.Net程序员轻松操作AWE内存,从而使其程序轻松突破2G内存的限制。
阅读全文
posted @ 2008-11-06 14:00
摘要: 今天对 .net 2.0 的 System.Runtime.Remoting.Channels.Ipc 做了一个相同的测试,测试结果是每秒传输速度为 33MB。 由于底层技术都是一样的,我估计其比我这个例子(180MB每秒)慢的主要原因应该是在序列化上。另外今天对我这个例子进行了一些补充,增加了对流方式的支持,并做了一个通过流方式传输文件的例子。
阅读全文
posted @ 2008-06-13 13:43
摘要:用Remoting做进程间通讯,效率较低,于是做了一个采用管道技术进行进程间通讯的例子,在1.8G 双核计算机上每秒钟可以发送180M数据。
阅读全文
posted @ 2008-06-12 15:40
摘要:最近项目中需要通过程序自动设置windows 防火墙,查了一下资料,可以通过命令行netsh firewall来实现。封装了一个类来实现对允许放开的程序(Allowed program)进行管理。管理其他内容比如放开端口等方法是类似的。
阅读全文
posted @ 2008-05-20 15:22