摘要: L1 cache reference0.5 nsBranch mispredict5 nsL2 cache reference7 nsMutex lock/unlock100 nsMain memory reference100 nsCompress 1K bytes with Zippy10,000 nsSend 2K bytes over 1 Gbps network20,000 nsRead 1 MB sequentially from memory250,000 nsRound trip within same datacenter500,000 nsDisk seek10,000,0 阅读全文
posted @ 2012-03-22 17:52 大兵八世 阅读(222) 评论(0) 推荐(0)
摘要: 1. propertyclass C(): def SetIt(self): self.a = 1 def GetIt(self): return self.a content = property(SetIt, GetIt)c = C()c.content = 1print c.content # will print 12. idid(1) # this is a number..3. weakrefimport weakrefclass C(): def func(self): passc = C()c.func()p =... 阅读全文
posted @ 2012-03-22 16:38 大兵八世 阅读(657) 评论(0) 推荐(0)
摘要: Decorate是装饰的意思。如果你了解Decorator设计模式,那么就很好理解Python的Decorator。http://en.wikipedia.org/wiki/Python_syntax_and_semantics#DecoratorsDecorator是一个可调用的python object。Decorator可以用来修改funciton, method 或者类的定义。一个object被传进decotator,然后decorator修改这个object并且返回这个object,最后,这个返回的object绑定到原来的那个object的名字上。Decorator是一个语法糖(sy 阅读全文
posted @ 2012-03-07 03:40 大兵八世 阅读(651) 评论(0) 推荐(0)
摘要: with 关键字的意思就是一种try finally的快捷写法看下面的代码和注释就容易理解with WithWrapper() as ww: print ww # 应该打印 1. 它是WithWrapper().__enter__函数的返回值 print "with body" raise NameError("Error Raised") # 这里如果有异常, WithWrapper().__exit__函数的后三个参数就根据这个异常被赋值。否则三个参数的值都是Noneclass WithWrapper: def __enter__(self): pr 阅读全文
posted @ 2012-03-01 01:55 大兵八世 阅读(357) 评论(0) 推荐(0)
摘要: 来自微软,像讲故事一样介绍技术问题,我喜欢http://msdn.microsoft.com/zh-cn/library/ms974579.aspxWMI is not working properly? This is how we fix it!Run this in cmd.exe with administrator account: winmgmt /verifyrepositoryIf WMI repository is not corrupted, it should say "WMI repository is consistant"If it is cor 阅读全文
posted @ 2012-01-16 15:08 大兵八世 阅读(238) 评论(0) 推荐(0)
摘要: 第一章:Policy-Based Class DesignPolicy Class (Template)下面的这些Creater叫做“policy class (template)”。它们类似于设计模式里的strategy。它们是语法导向(syntax oriented),而不是标记导向(signature oriented)。换句话说,这些Creater定义的是”怎样的语法构造符合其所规范的class”,而不是“必须实例化那些函数”。template <class T>struct OpNewCreator{ static T* Create() { return ... 阅读全文
posted @ 2011-12-28 12:16 大兵八世 阅读(840) 评论(0) 推荐(0)
摘要: 在CSDN有电子书(英文)和源码下载。在此首先感谢上传的大侠!第一章 Introduction to Winsock一般来说WSA开头的函数是Winsock2新加的,少数例外,以下几个在winsock1就有了WSAStartup, WSACleanup, WSARecvEx, and WSAGetLastError头文件和lib文件WINSOCK2.H WS2_32.LIB // For WinSock 2MSWSOCK.H WSOCK32.LIB // For WinSock 1MSWSOCK.H MSWSOCK.DLL // For Microsoft-specific programmi 阅读全文
posted @ 2011-12-08 18:27 大兵八世 阅读(965) 评论(0) 推荐(0)
摘要: 这里有一片文章不错http://freespace.virgin.net/hugo.elias/models/m_perlin.htm原文是英文,要点翻译在这里。有一些应用,需要随机生成一些数。比如用来控制运动,行为或者生成贴图什么的。但是单纯的生成随机数的方法常常会使得输出不那么自然。所以,我们需要Perlin Noise。很多自然现象,事物都有这样的特点。它们看起来是随机的,但是这种随机是分粒度分布的。不同粒度的变量组合起来,构成整个的随机过程。比如山高度,高山(mountain)的高度,粒度很大,中型山(hills)小些,巨石(boulder),小石头(stone)粒度就更小。其它很多东 阅读全文
posted @ 2011-12-02 13:10 大兵八世 阅读(777) 评论(0) 推荐(0)
摘要: 游戏服务器架构探讨登录服,一个游戏服配备一个登录服显然不合适。与WOW一样,有全局的登录服,登录服为所有的游戏服服务。并且登录服的个数可以扩展,用来适应短时间登录人数的变化。用基于DNS的负载均衡系统。通过在DNS中为一个域名配置多个IP地址实现,负载均衡是自动的。数据库。若干个登录服,使用同一个帐号数据库。每个游戏服,使用自己的数据库服务器。同时还有一个中心数据库,保存的是你在网页上注册的帐号,当你选择一个大区的时候要在这个大区激活,其操作就是把你在中心服务器上的帐号拷贝到该大区帐号数据库中早期的地图服:每个服务器跑一个地图。中心服务器记录了地图ID与跑该地图的地图服的端口。客户端请求进入某 阅读全文
posted @ 2011-11-25 13:51 大兵八世 阅读(280) 评论(0) 推荐(0)
摘要: AI中的懒惰(Lazy)问题(1)(蛮有意思的,把这个问题抽出来作为一个topic,我觉得很有意义)提出的问题:AI在边界的两侧,有两种行为,那么当条件在边界来回跳动的时候,AI就会在两种行为之间频繁切换,看起来很傻。文中提出的解决办法其实是两个看待这个问题的角度1. 既然AI在两种行为之间切换,那么就不允许AI即时更新状态,方法是给AI加一个更新的延迟。这样当状态改变以后,AI也要在一定时间之后才进行更新。2. 既然是边界条件导致的AI行为的频繁切换,那么就把边界搞模糊,称为”边界交叉发“,也就是说存在一定的缓冲区,该缓冲区里的状态属于边界的两边,这样边界的切花就需要一定的时间。 阅读全文
posted @ 2011-11-25 09:14 大兵八世 阅读(268) 评论(0) 推荐(0)