摘要: 0. 比赛 公司里的第三届XX中间件性能挑战赛 我和另外两个P5组队参加,队名为“db kernel”。最后获得了第八,应该是P5里的最高排名。 以下简单扼要地介绍一下题目,以及我们的解题思路,真的非常简单扼要。 1. 题目 题目主要解决的是NewSQL领域中使用最频繁的一个场景:分页排序,其对应的 阅读全文
posted @ 2017-05-17 22:33 ohmhong 阅读(498) 评论(0) 推荐(0) 编辑
摘要: convert_int_to_char函数在使用时出现过一个BUG。 当使用值是13200020099时,返回的字符串是"13200020111",结果是错误的。 在gcc编译器里,使用32位整型时对一个数value除于100时会默认优化成先将value乘以0x51eb851f再右移37位;而使用l 阅读全文
posted @ 2017-05-17 22:21 ohmhong 阅读(475) 评论(0) 推荐(0) 编辑
摘要: 0. 前言 其实基本都没什么机会做这么一个基础的优化,一般基础库里就有函数可以直接拿来用。 这里以snprintf为基准,给大家展示一下每一个优化带来的些许收益。 1. 优化过程 1.1 最初使用的是snprintf 1.2 除10和模10, buf就地reverse 由于每次模10之后产生的都是个 阅读全文
posted @ 2017-03-01 22:48 ohmhong 阅读(883) 评论(0) 推荐(0) 编辑
摘要: 1. 写在前面 说起B+树,大家应该都很熟悉。B+树是一种平衡的多路搜索树,广泛在操作系统和数据库系统用作索引。相比于内存的存取速度,磁盘I/O存取的开销要高上几个数量级。而将B+树用作索引时,它可以在查找过程有效地减少磁盘I/O操作次数。 一般涉及B+Tree的书籍和文章都会提到它广泛用作外存的索 阅读全文
posted @ 2016-11-08 14:25 ohmhong 阅读(2488) 评论(2) 推荐(4) 编辑
摘要: 来某厂接近半年了,几乎没写过C++代码,说实话还真的有点手生。最近刚好有一个需求,然而我感觉我也没有办法用C++以外的语言去实现它。于是还是花了几天时间用C++完成编码,这是一个简单的任务执行引擎,它被我称作panguan。写这 篇文章主要记录一下开发过程中的一些思路和想法。不足之处,劳烦大家给予指 阅读全文
posted @ 2016-11-07 17:38 ohmhong 阅读(1632) 评论(3) 推荐(6) 编辑