关于优化的几点

今天上课,讲后台应用程序优化,老师讲的很好,从cpu、磁盘、网络三部分入手。晚上看了《深入理解计算机系统》第五章。

 

之前自己先考虑了一下,会从分析瓶颈、数据结构优化、设计模式应用角度——偏应用了。汗。

 

1. cpu处理流水线。取指、译码、执行、写回。

 

    提高流水线预测分支的效率;剔除数据相关性、提高流水线并发;

 

    拿出一个cpu专门处理网卡中断,其余的cpu每个一个进/线程;

 

    以下优化有什么问题:       

 

        void twiddle1()
        {
            *xp += *yp
            *xp += *yp
        }
        优化成:
        void twiddle2()
        {
            *xp += 2* *yp
        }

 

     预分配、预计算、内存复用、对象复用;

 

2. 随机写改成顺序写;mmap文件到内存。

 

3. select 遍历 fd;epoll使用rb-tree保存信息,并使用callback机制。

    但后者在大部分fd都有事件到来时并不比前者有优势,其优势在于同时只有比较少的客户端有读写事件时。

 

    网络环境比较稳定(内网)时使用ET方式、网络不稳定、碎包比较多时使用LT。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值