Memory Reordering Caught in Act

前言: 首先是翻译的几篇文章,作者是一个老外,虽然文章是几年前的,但是很值得一读。 最近不知道写些什么东西,拿这个先凑几篇其次有关什么memory ordering,memory reordering,memory model这些名词,可能很多时候直接e文,没有翻译,个人习惯。Memory R...

2016-10-19 15:13:17

阅读数 2888

评论数 0

个人数据搜索

有时间再仔细讲讲。

2014-10-24 14:11:48

阅读数 4966

评论数 0

Leveldb源码分析--22

14 DB的查询与遍历之214.4 DBIterLeveldb数据库的MemTable和sstable文件的存储格式都是(user key, seq, type) => uservalue。DBIter把同一个userkey在DB中的多条记录合并为一条,综合考虑了userkey的序号、删除标...

2013-11-26 18:01:53

阅读数 10853

评论数 7

Leveldb源码分析--20

12 DB的打开先分析LevelDB是如何打开db的,万物始于创建。在打开流程中有几个辅助函数:DBImpl(),DBImpl::Recover, DBImpl::DeleteObsoleteFiles, DBImpl::RecoverLogFile, DBImpl::MaybeScheduleC...

2013-07-12 15:03:32

阅读数 10093

评论数 2

Leveldb源码分析--18

11 VersionSet分析之1Version之后就是VersionSet,它并不是Version的简单集合,还肩负了不少的处理逻辑。这里的分析不涉及到compaction相关的部分,这部分会单独分析。包括log等各种编号计数器,compaction点的管理等等。11.1 VersionSet接...

2013-06-03 10:52:20

阅读数 8303

评论数 0

Leveldb源码分析--10

6 SSTable之46.6 遍历Table6.6.1 遍历接口Table导出了一个返回Iterator的接口,通过Iterator对象,调用者就可以遍历Table的内容,它简单的返回了一个TwoLevelIterator对象。见函数实现:Iterator* NewIterator(const R...

2013-03-23 09:28:33

阅读数 7760

评论数 0

Leveldb源码分析--8

6 SSTable之2 6.4 创建sstable文件 了解了sstable文件的存储格式,以及Data Block的组织,下面就可以分析如何创建sstable文件了。相关代码在table_builder.h/.cc以及block_builder.h/.cc(构建Block)中...

2013-03-09 11:48:36

阅读数 8853

评论数 2

moosefs分布式文件系统实施配置方案

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://zyw1209.blog.51cto.com/1266169/580272   基于linux下分布式文件系统方案   前言: 现在有大量的企业采用共享存储服...

2012-05-23 16:48:40

阅读数 4404

评论数 1

规模是个大问题

一旦系统达到了一定的规模,很多看起来本该不是问题的问题也会一个一个接连跳出来。 而更麻烦的是这些问题在刚开始可能根本就没有被考虑过。 特别是分布式集群系统。 前面提到过系统透明度的问题,这是其中一个,另一个密切相关的就是系统日志的存储与查询问题。 小规模集群的情况下,使用一个单主机可能就够...

2012-02-15 10:26:23

阅读数 2596

评论数 2

apache mod_dav框架的dav_hooks_propdb结构真的烂透了

apache的mod dav框架,其他说来还行,但是对于dead properties的dav_hooks_propdb结构真的烂透了。摘取做更新、删除操作的几个hook函数: dav_error * remove(...) dav_error * store(...) dav_er...

2011-12-02 17:38:23

阅读数 2169

评论数 0

一个C语言的惨痛教训

一个c语言动态库开发的惨痛教训,作为警示,希望大家不要碰到这类问题。 背景 交代下背景,最近的一个项目,apache module开发,使用的是c语言。这个其实比较无奈,apache mod_dav.h中声明的dav_error结构体,其中一个字段就是const char *names...

2011-11-30 09:58:42

阅读数 4871

评论数 2

CRC32算法详细推导(2)

<br />CRC算法详解(2)<br />初见Table-Driven<br /> <br />变换到上面的方法后,我们离table-driven的方法只有一步之遥了,我们知道一个字节能表示的正整数范围是0~255,步骤1中的计算就是针对reg的高...

2010-06-15 11:13:00

阅读数 5880

评论数 5

CRC32算法详细推导(1)

<br />CRC算法详解(1)<br />作为blog再次发出来,详细描述一下CRC32算法的推导过程。CRC算法的数学基础<br />CRC算法的数学基础就不再多啰嗦了,到处都是,简单提一下。它是以GF(2)多项式算术为数学基础的,GF(2)多项式中只有一个...

2010-06-14 23:55:00

阅读数 42122

评论数 5

字符串分割函数

<br />最近与字符串打交道相对多些,C++最痛苦的地方就是对字符串的操作太麻烦了,繁琐。<br /> <br />很多时候都会需要一个字符串分割函数,还可能是把诸如 “key1=value1 & key2=value2”形式的字符串分割称key/va...

2010-06-07 23:43:00

阅读数 4357

评论数 5

设计模式之策略模式

设计模式之策略模式<br /> 策略模式的定义<br />先来看看什么是策略模式:<br /> 定义和封装一个算法家族,并使这个家族种的各个算法可以相互替换,以使得算法可以独立于使用它的客户端而演变。UML如下所示。<br /> 这里的算...

2010-06-06 20:39:00

阅读数 2349

评论数 0

面试时的那点事

面试时的那点事      算来毕业也将近两年了,从刚回写程序开始,面试过的公司是屈指可数,难说算坏算好啊。主席老人家说过要在战斗中壮大自己,看来我历练的还远远不够,不过在有限的斗争中,也总结了些许,与大家共勉之。      说来有些问题太过于tricky,如果过分沉浸在这些奇巧淫技里,反倒害了自己...

2010-05-12 22:15:00

阅读数 4748

评论数 6

C/C++语言实现动态数组

C/C++语言实现动态数组C数组的小问题     这里说的动态数组是可以根据需要动态增长占用内存的数组,比如程序初始分配了100个元素,可是运行了一段时间后区区100个空间不能满足了,现在需要400个,怎么办呢;那肯定需要再额外分配300个。     C语言有realloc()函数来解决空间扩充的...

2010-03-09 12:29:00

阅读数 13628

评论数 22

开源网络框架HPServer0.2.10版发布

HPServer是一个为并发高性能网络服务应用而开发的,轻量级的开源网络框架,以C++作为开发语言。HPServer的一些特性:    采用事件驱动的机制,并且统一支持I/O事件、定时器事件和Signal事件;    支持精度为ms的定时器;    内建支持Acceptor,Connector组件...

2010-03-05 18:12:00

阅读数 7450

评论数 15

Inside CRT: Debug Heap Management

转一篇好文,关于VC CRT Debug状态下的Heap管理;你将理解内存地址值为0xCC,0xCD,0xDD,0xFD到底代表着什么,e文的。Inside CRT: Debug Heap ManagementWhen you compile a debug build of your progr...

2010-02-26 20:41:00

阅读数 2293

评论数 0

DLL导出类的问题

转载一篇讨论有关DLL的导出类的文章转载地址:http://hi.baidu.com/zhuangzi200323/blog/item/7c8982318b359fae5fdf0e6d.htmlDLL导出类的问题DLL动态链接库是程序复用的重要方式,DLL可以导出函数,使函数被多个程序复用,DLL...

2010-02-26 13:08:00

阅读数 2827

评论数 1

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