/android-chrome-192x192.png

Bing's Blog

自由 分享 合作

  

二维数据可视化工具-painter

日常开发过程中,时常会遇到一个类似的需求:将某些二维数据可视化。比如,时间与系统内存、时间与CPU、通道与距离等等。

往常我的做法是在代码中嵌入相关的打印,输出到文件中,然后通过其他语言,比如Python解析并可视化,或者直接使用Python解析并可视化。

长期以往,发现这种做法总是写了很多重复的代码。能不能有一个工具,直接输入数据,然后可视化呢?所以,我写了painter


C++闭包二

“多年以前"写过一篇关于C++闭包的文章,现在看来基本是关于lambda的介绍。随着经验的增加,对闭包的理解更加深刻。

轻量级参数解析库-tiny_cmdline

当编写一些命令行版本软件的时候,往往需要涉及到命令行参数的处理。网上能搜索到一些参数处理库,但是对很多需求来说,它们太过庞大,一般也只适合作为黑盒使用。

因此,我编写了一个轻量级的参数解析库,tiny_cmdline,目的就是轻量,让用户容易阅读和定制。


栈buffer对比堆buffer

我印象中一直有这样一个观点:栈内存比堆内存更快。但是自从尝试《十亿行挑战》后,便对其怀疑。 本文将通过实验调查堆内存和栈内存用作buffer时

clockdiff时间差测量原理

clockdiff是iputils库下的一个时间测量工具,用于测量两台设备之间的时间差。基本用法是:

1
clockdiff <destination>

本文主要学习clockdiff测量时间差的原理。


十亿行挑战-C++

十亿行挑战本是一个针对现代Java的性能优化挑战,该挑战没有什么内容是针对Java独占的,因此尝试使用C++实现,限制为C++17版本。


时间同步概述

本文涉及的时间同步协议包括:NTP、PTP。泛泛而谈,以构建对时间同步的基本认识。

当我第一次接触时间同步的概念时,是很疑惑的。为什么要做时间同步?时间同步是什么?为什么会有各种各样的协议?本文将尽量以我的认识从几个方面解答:

  1. 什么是时间同步;
  2. 为什么要做时间同步;
  3. 时间同步协议的基本原理;

1和2是困扰我比较久的问题,3则是可以通过代码和文档直接获得的知识,没有太多的阻塞点。


日志透传工具-channel

在一些嵌入式系统中,如果需要采集长时间的全量日志或者系统性能数据,内存将成为一个瓶颈。是否可以将嵌入式系统中的数据透传到外部机器上,这样内存和性能都没有限制。通过此想法实现了channel这个工具,主要作用就是消息透传。

项目地址:https://github.com/caibingcheng/channel.git