hengyunabc的专栏

日落黄金台金黄落日 -- 横云断岭

详细解析boost中bind的实现

写在前面的话 在C++11之后,std::bind是C++标准库的一个组件了。一开始想弄个C++11的实现来研究下,发现里面用到了可变参数模板(代码变得非常神奇). http://llvm.org/svn/llvm-project/libcxx/trunk/include/functional...

2012-07-26 01:41:52

阅读数:13313

评论数:19

为什么我们需要STM(Software Transactional Memory)

原文:http://morepypy.blogspot.com/2011/08/we-need-software-transactional-memory.html 这是pypy开发者写的一篇blog,里面提到了Python,Java等多线程实现的情况,还有一个很有意思的东东:STM(Softwa...

2012-07-30 19:02:33

阅读数:5360

评论数:1

C++ 中cout<<endl的实现

话说像下面的语句,应该大家都明白这是通过重载operator cout<<123; cout 但是像 cout 是怎样实现的? 起初猜想endl是一个class或者struct,再通过一个friend函数来实现的。 但是翻下stl的实现,原来endl是一个函数! tem...

2012-07-22 22:36:35

阅读数:4145

评论数:0

Kryo简介及代码阅读笔记

更新:2012-08-01 版本 2.16长时间运行可能会导致OOM,版本2.18有bug,不能正确序列化map和collection。 真是悲剧,所用的每一个版本都有bug。不过从代码来看,作者有时的确比较随便。。测试用例也少。。(比起msgpack少多了) ==================...

2012-07-19 19:07:49

阅读数:33130

评论数:1

Redis中的双向链表的实现

不得不说,数据结构书上的代码都是不实际的。 C语言的代码写得比较少,因此多记录下有用的代码。 adlist.h: /* adlist.h - A generic doubly linked list implementation * * Copyright (c) 2006-2010...

2012-07-15 23:45:34

阅读数:1513

评论数:0

测试Go语言的interface的效率

interface是Go语言中的一大特点,甚至说是灵魂也不为过。 interface应该会在Go程序中大量出现和使用,因为有必要了解和测试下它的效率。 测试思路: 使用vector包,测试原生的IntVector和用interface包装后的vector的效率。 Go1中去掉了ve...

2012-07-10 11:57:22

阅读数:3178

评论数:3

测试多线程对多核cpu的分支预测的影响

前言: 现代的cpu都有流水线,分支预测功能,CPU的分支预测准确性可以达到98%以上,但是如果预测失败,则流水线失效,性能损失很严重。 CPU使用的分支预测技术可以参考: 处理器分支预测研究的历史和现状.pdf 同时多线程处理器上的动态分支预测器设计方案研究.pdf 正确地...

2012-07-09 00:47:54

阅读数:3984

评论数:3

vitess中rpc兼容http请求的技巧

vitess是google的一个mysql项目,用go和python实现。https://code.google.com/p/vitess/ vitess中用rpc方式来中转mysql的请求,其中rpc的实现很有意思,兼容了http请求。 兼容http请求有明显的好处: 1.可以用现成的监控...

2012-07-08 00:17:53

阅读数:2459

评论数:0

Mysql Java驱动代码阅读笔记及JDBC规范笔记

一前言: 以前刚开始用java连接mysql时,都是连猜带蒙的。比如: 一个Statement,Connection何时关闭? Connection能不能先于Statement关闭? ResultSet是怎样存放数据的?怎样才能高效操纵ResultSet? PrepareStat...

2012-07-06 15:32:11

阅读数:4157

评论数:2

提示
确定要删除当前文章?
取消 删除
关闭
关闭