zoukankan      html  css  js  c++  java
  • 欢送2012

    新年快乐!2012年就要过去了,本月看代码为主,少动手了,分享两篇文章给大家:

    第一篇是varnish作者Poul henning写的,题为Notes from the Architect,作者的观点可以总结为三点:

    • 相信虚拟存储系统,不要手动进行内存分页管理,而是依赖虚存系统做这件事。不要和虚存系统作对。
    • 减少内存的访问次数,最小化多核心之间对于cache的争夺。
    • 合理调度线程,按最近工作时间来安排,尽可能保证cache已处于热身状态。

    另一篇是LuaJit的作者Josh Haberman在邮件列表里提到的,为什么手写的汇编码会比编译器的好。作者着重讨论的,是编译器的主循环实现。由于编译器难以预测数以百计的可执行路径中,那个是快速路径,那个是慢速路径,走哪一个路径的概率比较大,所以无法很好的生成优化的汇编码。由于条件分支判断失败引致的惩罚较大,因此手写汇编码的确有可能做得比编译器好。

    这两篇文章的启迪在于,现代意义上的编程,已经不再是单纯业务逻辑的考虑,而要通盘考虑计算机系统的储存器结构和CPU指令优化。看来还是要看底层一点的东西了。

  • 相关阅读:
    noip2011 总结
    noip2010 总结
    noip2009 总结
    noip2008 总结
    noip2006总结
    noip2007 总结
    noip2006 总结
    【模板】线段树模板
    【数学】8.30题解-count数页码
    【数论】8.30题解-prime素数密度 洛谷p1835
  • 原文地址:https://www.cnblogs.com/Lifehacker/p/2_interesting_post.html
Copyright © 2011-2022 走看看