自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

横云断岭的专栏

日落黄金台金黄落日--微信公众号:横云断岭的专栏

  • 博客(9)
  • 资源 (4)
  • 收藏
  • 关注

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

原文:http://morepypy.blogspot.com/2011/08/we-need-software-transactional-memory.html这是pypy开发者写的一篇blog,里面提到了Python,Java等多线程实现的情况,还有一个很有意思的东东:STM(Software Transactional Memory)。简单记录下一些心得和想法(很可能有不对的地方:

2012-07-30 19:02:33 7204 1

原创 详细解析boost中bind的实现

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

2012-07-26 01:41:52 15622 14

原创 C++ 中cout<<endl的实现

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

2012-07-22 22:36:35 7975

原创 Kryo简介及代码阅读笔记

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

2012-07-19 19:07:49 36391 1

原创 Redis中的双向链表的实现

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

2012-07-15 23:45:34 1793

原创 测试Go语言的interface的效率

interface是Go语言中的一大特点,甚至说是灵魂也不为过。interface应该会在Go程序中大量出现和使用,因为有必要了解和测试下它的效率。测试思路:使用vector包,测试原生的IntVector和用interface包装后的vector的效率。Go1中去掉了vector包,不过当时我把vector的代码保留了一份,在代码库里应该也能找到。我找到了一个版本的:

2012-07-10 11:57:22 3784 3

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

前言:现代的cpu都有流水线,分支预测功能,CPU的分支预测准确性可以达到98%以上,但是如果预测失败,则流水线失效,性能损失很严重。CPU使用的分支预测技术可以参考:处理器分支预测研究的历史和现状.pdf同时多线程处理器上的动态分支预测器设计方案研究.pdf正确地利用这些特性,可以写出高效的程序。比如在写if,else语句时,应当把大概率事件放到if语句中

2012-07-09 00:47:54 4643 3

原创 vitess中rpc兼容http请求的技巧

vitess是google的一个mysql项目,用go和python实现。https://code.google.com/p/vitess/vitess中用rpc方式来中转mysql的请求,其中rpc的实现很有意思,兼容了http请求。兼容http请求有明显的好处:1.可以用现成的监控工具来监控服务是否正常,不用另外写插件2.可以方便地实现查询信息功能,不用另外再开发工具或者界面

2012-07-08 00:17:53 2898

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

一前言:以前刚开始用java连接mysql时,都是连猜带蒙的。比如:一个Statement,Connection何时关闭?Connection能不能先于Statement关闭?ResultSet是怎样存放数据的?怎样才能高效操纵ResultSet?PrepareStatement到底是怎样回事?连接池是怎样工作的?二、从JDBC driver代码分析:在

2012-07-06 15:32:11 4593 2

The XA Specification XA规范

The XA Specification XA规范

2014-02-20

处理器分支预测研究的历史和现状

处理器分支预测研究的历史和现状。 一篇介绍cpu分支预测技术的文章。

2012-07-08

同时多线程处理器上的动态分支预测器设计方案研究.pdf

同时多线程处理器上的动态分支预测器设计方案研究。 一篇关于分支预测的论文

2012-07-08

QT 提问的程序代码

QT 提问的程序代码 QT 提问的程序代码 QT 提问的程序代码 QT 提问的程序代码 QT 提问的程序代码

2010-12-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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