跳至正文

技术

编译优化PGO

PGO的介绍

基本概念

PGO是一个可以平均提高任何程序5%~8%性能的技术,全称是Profile Guided Optimization,它的思路其实很简单,就是编译器在对变量和函数如何放置排布和使用问题上,其实是有很大的自由权利的。

这里没有一个绝对的最优解,同一段代码,在对于不同应用场景的最优[……]

继续阅读

TCP-Jersey拥塞控制介绍

  • 技术

介绍

TCP-Jersey拥塞控制算法在中文世界里的描述非常的少,有点好奇信号和丢包共同控制的算法是怎样的,就翻译了这篇论文,链接在最后。

传统TCP拥塞控制

传统TCP的拥塞控制算法是使用拥塞控制窗口来实现的,TCP发送端在发送时除了要兼容接收端的接收窗口,自己这边的发送窗口,还需要考虑拥塞控制窗[……]

继续阅读

Unix编程艺术 读书笔记

1 哲学

  • 性能—时间的指数曲线对软件开发过程所引发的结果,就是每过18个月,就有一半的知识会过时。Unix并不承诺让你免遭此劫,只是让你的知识投资更趋稳定
  • 策略相对短寿,而机制才会长存
  • 对于程序员和开发人员来说,如果完成某项任务所需要付出的努力对他们是个挑战却又恰好还在力所能及的范围内,他们就会觉[……]

    继续阅读

Python高性能编程 读书笔记

主题

在当python的函数越短,通常意味着性能越高!

这不是笑话,在不改变算法的情况下,同一个功能是一定存在一个最短指令集的,当python代码变短意味着指令码变少,那多的指令码就在底层以CPU指令码的形式转移了。

这叫做同算法指令集数量守恒。 ——本人

第二章 通过性能分[……]

继续阅读

关于vim的搜索功能

  • 技术

几个tag

调查了好一阵子,总算弄清楚了几个东西的差别,简单记一下,几个tag:

  • ctags,vim用的
  • etags,emacs用的
  • cscope,生成的索引相比上面两个索引,信息会多一些,并且包含了一个搜索的指令,可以搜索函数在哪里被调用,以及可以做全局搜索,但是仅限于C/C++
  • gtags[……]

    继续阅读

一本书读懂TCP/IP 读书笔记

TCP/IP是什么

互联网包含因特网,因特网包含万维网。

物理层

物理层解决最基础的传送通道,涉及问题主要是建立、维护和释放物理链路所需的机械的、电气的/光学的、功能的和规程的特性

数据链路层

在相邻的网络节点之间提供简单的、传输以帧为单位的数据,同时它还负责数据链路的[……]

继续阅读

代理服务器的理解

nginx是反向代理,就一直知道反向代理是访问服务,但访问的实际是中间服务器,中间服务器代理到实际服务器去获取结果,再返回到客户端。

其实我一直没有get到反向代理的含义是什么,今天读这篇文章就get到了。

正向代理是连接一台中间服务器,所有的请求都由服务器代理转发,核心不是后端的业务,[……]

继续阅读

[转] CAP定理的证明

  • 技术

CAP介绍

在理论计算机科学中,CAP定理(CAP theorem),又被称作布鲁尔定理(Brewer’s theorem),它指出对于一个分布式计算系统来说,不可能同时满足以下三点:

  • 一致性(Consistency) (等同于所有节点访问同一份最新的数据副本)
  • 可用性(Availabil[……]

    继续阅读