Sending Keystrokes to Any App, Calling .NET from an MFC App, and More
http://msdn.microsoft.com/zh-cn/magazine/cc163867%28en-us%29.aspx
向另外一个程序发生键盘动作
Sepia Tone, StringLogicalComparer, and More
http://msdn.microsoft.com/zh-cn/magazine/cc163866%28en-us%29.aspx
介绍了一些用原生api解决问题的例子,比如SetErrorMode
Get Seamless .NET Exception Logging From COM Clients Without Modifying Your Code ****
http://msdn.microsoft.com/zh-cn/magazine/cc188710%28en-us%29.aspx
介绍了怎样让com客户端得到更多的异常信息,包括堆栈,值得阅读代码
Rediscover the Lost Art of Memory Optimization in Your Managed Code
http://msdn.microsoft.com/zh-cn/magazine/cc163856%28en-us%29.aspx ****
介绍了成员排序对结构大小的影响,怎样用内存池(ObjectPool)提高内存效率,怎样使用CLR profiler测试性能,值得尝试
A Fundamental Turn Toward Concurrency in Software
http://www.drdobbs.com/web-development/184405990
文章介绍了硬件发展的趋势,以及对软件开发的影响。文章指出,主频的提高不再像过去那么快,现在是向超线程和多核时代发展,唯一和过去类似的是缓存还在增大。现在提高程序性能不再是免费午餐,在编程方式上需要有所改变。
要关注以下几点:
要提高性能很大程度上要依靠并发
Cache miss对性能的影响很大
CPU-bound程序会增多(Perhaps a less obvious consequence is that applications are likely to become increasingly CPU-bound.)
编程语言会采取应对措施,java已经采取了不少措施,c++还未有什么动作
已经有一些并行的标准,比如pthread和openmp
debug data display, stackframe, transactionscope