摘要: 昨天我在一篇博文中提到用 GetThreadTimes 這個Win32 API 來獲取線程實際運行時間。今天我又深入研究了一下,發現這個API 返回的時間并不準確。
閱讀全文
posted @ 2009-03-11 15:57
|
|||
隨筆分類 - 操作系統
摘要: 昨天我在一篇博文中提到用 GetThreadTimes 這個Win32 API 來獲取線程實際運行時間。今天我又深入研究了一下,發現這個API 返回的時間并不準確。
閱讀全文
posted @ 2009-03-11 15:57
摘要:早上看到老趙寫的這個性能計數器,感覺很實用,不過老趙用了很多.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
|
|||