popcount & google.sparsegroup

阅读更多关于《popcount & google.sparsegroup》

ubuntu+gcc4.3 ,尝试修改 google.sparsetable 中的 sparsegroup,修改完成,不启用 -mpopcnt,sparsetable_unittest 和 hashtable_unittest 都通过了。启用-mpopcnt以后,发现硬件不支持,报非法指令错误,公司的电脑太烂了! 继续阅读

google.sparsegroup 可以更好

阅读更多关于《google.sparsegroup 可以更好》

sparsegroup 是 google.sparseXXXX (sparsehashmap)系列中最底层的一个数据结构,sparseXXX 的互相依赖如下: 继续阅读

google.tcmalloc 要点

阅读更多关于《google.tcmalloc 要点》

线程缓存(thread cache)

加锁(locking)

加锁的开销是比较大的(cpu要同步 cache),一般要几十个时钟周期,特别是 cpu 较多的时候,锁冲突概率大大增加。 继续阅读

这样反贪如何?

阅读更多关于《这样反贪如何?》

类似于囚徒困境,立这样一条法律:行贿者保留自己向受贿者行贿的证据,事后告发该受贿者;对于该告发行为,法律严惩该受贿者,而该行贿者不受任何处罚继续阅读

google.sparsetable 实现细节

阅读更多关于《google.sparsetable 实现细节》

与现有的一些“标准”实现不同,sparsehashtable 使用二次探测法,而不是链接,来解决hash冲突。sparsetable 就更奇特了,它是一个两级结构,第一级使用直接索引法,而第二级使用的是顺序查找
继续阅读

gcc 4.5

阅读更多关于《gcc 4.5》

只拣一些有用的:
The -fshow-column option is now on by default. This means error messages now have a column associated with them. 继续阅读

终于可以优雅的捕获 shell heredoc 内容了

阅读更多关于《终于可以优雅的捕获 shell heredoc 内容了》

看下面的示例: 继续阅读

shell heredoc 微妙之处

阅读更多关于《shell heredoc 微妙之处》

here doc 的一般用法是:

[cmd] <<word
here-document
delimiter

继续阅读

通过管道向 hadoop put 文件

阅读更多关于《通过管道向 hadoop put 文件》

使用 hadoop file shell 可以方便地向 hdfs put 文件,但是,该 shell 不支持从管道读取数据并放到 hdfs 文件中。它仅支持这样的 put 命令: 继续阅读

shell 中验证管道是否正确执行

阅读更多关于《shell 中验证管道是否正确执行》

象这样的 shell 代码:  prog1 | prog2 | prog3 | prog4

$? 只能得到最后一个命令的返回值,该 如何检查整个命令是否全部正确执行?

有一个数组变量PIPESTATUS,保存了最近一个管道命令中所有子命令的返回值

该返回值与 $? 一样,每次命令都会改写它,因此,要保存它就必须马上!

用以下代码可以检查管道命令: