摘要:最近闲来无事编写了一个异步redis客户端.为了测试其性能逐对redis和ssdb做了一次性能对比测试.首先介绍下测试环境,i5 4核心 3.6主频的台式机器,服务器客户断均运行在同一台机器上.测试内容是1000条hashtable数据,分别有两个属性chianfo和skill,每个属性存放100字... 阅读全文
posted @ 2015-05-08 21:42 sniperHW 阅读(906) 评论(0) 推荐(0) 编辑
摘要:首先从一起多线程无锁算法的事故说起,以下是一个无锁栈的实现测试,但在开-O2以上优化的情况下它却无法正常工作: #include "lf_stack.h" #include "kn_list.h" #include "kn_time.h" #include "kn_thread.h" #includ... 阅读全文
posted @ 2014-12-28 16:10 sniperHW 阅读(430) 评论(0) 推荐(0) 编辑
摘要:对象引用的正确性在多线程环境下是一个复杂的问题,[请参考,处理由引用计数引起的泄漏](http://www.cnblogs.com/sniperHW/archive/2012/12/07/2808130.html).简单来说,我们应该尽量减少使用强引用,否则将有可能产生[处理由引用计数引起的泄漏]一... 阅读全文
posted @ 2014-12-28 12:42 sniperHW 阅读(1350) 评论(0) 推荐(1) 编辑
摘要:[原文](http://www.codeproject.com/Articles/153898/)#1 引言最近对于注重性能的应用程序,我们有了一种能显著提高程序性能的选择:多线程.线程的概念实际上已经存在了很长时间.在过去,多数计算机只有一个处理器,线程主要用于将一个大的任务拆分成一系列更小的执行... 阅读全文
posted @ 2014-12-18 17:33 sniperHW 阅读(14060) 评论(7) 推荐(6) 编辑
摘要:我的新手游项目很快就要进入到寻找发行商的环节,最近几天相对较空闲,逐将工作重心转移到服务器组运维工具的制作上.回想一年之前经历的那个不算成功的端游项目,因为运维工具设计得不合理,使用十分不方便,游戏上线之后搞得我焦头烂额的.之前一直没碰过web相关的技术,最近几天猛看了下php和javascript... 阅读全文
posted @ 2014-12-03 20:17 sniperHW 阅读(1828) 评论(0) 推荐(0) 编辑
摘要:Survive之前采用的是C+lua的设计方式,其中网关服务器全部由C编写,其余服务全部是C框架运行lua回调函数的方式编写游戏逻辑.鉴于一般的手游对服务器端的压力不会太大,便将Survive用distri.lua框架重写了一便,distri.lua天生的支持协程,RPC和数据库访问直接使用同步接口... 阅读全文
posted @ 2014-10-12 08:56 sniperHW 阅读(4457) 评论(3) 推荐(3) 编辑
摘要:P54A (*) Check whether a given term represents a binary treeWrite a predicate istree which returns true if and only if its argument is a list represen... 阅读全文
posted @ 2014-09-28 13:35 sniperHW 阅读(1200) 评论(0) 推荐(0) 编辑
摘要:[L-99: Ninety-Nine Lisp Problems](http://www.ic.unicamp.br/~meidanis/courses/mc336/2006s2/funcional/L-99_Ninety-Nine_Lisp_Problems.html)列表处理类问题的解答,用Sc... 阅读全文
posted @ 2014-09-18 16:15 sniperHW 阅读(487) 评论(0) 推荐(0) 编辑
摘要:最近研究函数式编程,都是haskell和scheme交互着看的,所以笔记中两种语言的内容都有,练习一般也都用两种语言分别实现.本篇练习一些数组有关的问题,之所以与数组相关是因为在命令式编程中以下问题的核心数据结构主要是数组,而在scheme和haskell中主要是用list来实现.scheme中没有... 阅读全文
posted @ 2014-09-17 17:24 sniperHW 阅读(283) 评论(0) 推荐(0) 编辑
摘要:####快速排序快排的详细介绍[见](http://zh.wikipedia.org/zh/%E5%BF%AB%E9%80%9F%E6%8E%92%E5%BA%8F),简单的说就是取输入序列中的首元素m,然后将除首元素m以外的其它元素分成两组,小于等于m的一组和大于m的一组.将3组元素组合成输入队列... 阅读全文
posted @ 2014-09-15 17:06 sniperHW 阅读(294) 评论(0) 推荐(0) 编辑