Saturday, November 03, 2007

杂七杂八,关于我的CPU

刚才翻箱倒柜的时候看到我的CPU盒子了,产生了一些想法。我的CPU是2006年末买的AMD 3800+ X2,频率是2G,L2 cache数量1mb(有点少)。
  • 自从PC进入家庭以来,对大多数的用户来说,CPU都不是性能的瓶颈。而且我认为,全球家庭和办公室都在CPU性能上过度花费,造成了巨大的浪费。究其原因,CPU厂商一直在利用数字,特别是主频率,误导消费者。这个例子充分显现了资本主义的两面性-一方面,它不断的推动科技进步;令一方面-它使人为了追求利润不惜手段。
  • 应该说,买这样一个芯片,我也应该被算作“无知的消费者”。但是偶尔双核芯片还是有明显的好处,比如,一个程序陷入死循环,我可以用另外一个核运行taskman,结束那个进程,整个过程都是立即响应的,如果是单核芯片,响应就会很迟钝,让我等很长时间。Herb Sutter说过一个多核芯片带来性能提升的搞笑理由:流氓件和病毒可以在一个核上运行,不跟用户程序抢时间。其实我买双核芯片的主要考虑是练习concurrent programming。
  • 我的芯片是64位的,但是现在我用的是32位的操作系统,不知道改64位操作系统会怎么样,有一些因素需要考虑:
    1. 我想像memcpy这样的函数(当然程序必须是好的编译器和好的库编译出来的)应该更快,因为一次可以copy 8bytes。
    2. 指针长度加倍了,等于cache变少了。
    3. 正如前面说的,CPU不是性能的瓶颈,或许1,2两点的影响对于一般用户根本可以忽略不计。

Friday, November 02, 2007

Sophie's World cyberspace version - PSObject's World-幻象、本真和幻想的本真

有这样一个世界:在这个世界中,日常生活中所见的一切都是幻象;当人们以哲学家的方式进行思考时,这个世界的一切都是思考的对象。
PowerShell就是这样一个世界。当我们在这个世界里操作一个对象时,我们所见所得的实际上是由PSObject造成的幻象。".psbase"一下,就得到幻象后面的本真(通常是.NET class library的)对象。刚才说过,“这个世界的一切都是思考的对象”,所以这个“幻象”也是一个可供操作的对象,只要".psobject",就可窥见“幻象”的“本真”。不仅如此,通过操作“幻象的本真”,还能改变“本真的幻象”。
呜呼,玄也!