内存分配器 (Memory Allocator)

对于大多数开发者而言,系统的内存分配就是一个黑盒子,就是几个API的调用。有你就给我,没有我就想别的办法。实际深入进去时,才发现这个领域里也是百家争鸣,非常热闹。有操作系统层面的内存分配器(Memory Allocator),有应用程序层面的,有为实时系统设计的,有为服务程序设计的。但他们的目的确认一样的,平衡内存分配的性能和提高内存使用的效率。优化内存的对策总体就是两点:一是能不用就不用,代码里可能隐藏着不必要内存分配。二是能少用就少用,特别避免频繁分配,因为那样只会增加内存碎片,到了极端时即使仍有内存可...
阅读(13618) 评论(5)

WebKit加载流程 - 概述

之前写了几篇加载流程的说明,是从下向上看,有点只见树木不见森林的感觉。经过最近一段时间的学习,有了能加以概括抽象的方法。 WebKit加载流程和页面组成是直接相关的,页面就是WebKit要加载的对象。所以WebKit负责加载的类也与负责页面管理的类相对应。Apple关于WebView的说明里清楚表现了页面视图上的MVC结构:一个页面从元素上也有其层次结构,并且和加载类对应。...
阅读(6233) 评论(5)

Android SQLite性能分析

作为Android预置的数据库模块,SQLite精致而且强大,对它的深入理解对于提升应用的性能非常重要。这里对SQLite的性能和内存进行了一些测试分析,对比了不同操作的执行性能和内存占用的情况,粗略地列在这里算是作个小结。...
阅读(11979) 评论(6)

Perl & Python编写CGI

最近偶然玩了一下CGI,收集点资料写篇在这里留档。 现在想做HTTP Cache回归测试了,为了模拟不同的响应头及数据大小,就需要一个CGI按需要传回指定的响应头和内容,这是从老外的测试页面学习到的经验。CGI其实就是使用STDIN和环境变量作为输入,  STDOUT做为输出,依照Http协议生成对应的数据。一. 数据输出数据输出遵循HTTP协议,分为四部分:  状态行 (Status Line)...
阅读(3555) 评论(0)

转换GDB调用栈到流程图

如果你想在GDB调试时把调用堆栈保存下来归档,那下面这个脚本就方便你了。原理是将调用堆栈的函数抽取出来,再完成调用关系就可以了。稍加改动就可以同时读取多个调用栈,生成一张流程图。...
阅读(5276) 评论(5)

程序员看数据分析

“世上有三种谎言:谎言、该死的谎言和统计” ------这是一句著名的西方谚语,其中让统计有如此名声的非平均值莫属了,可见数据分析并不能只是简单地求和、求平均。  作为程序员现在也开始接触到大量数据,也需要有数据分析的工作。比如在发布前进行一系列的测试,对测试结果进行分析,以便决定能否正式上线。 本人不是学习统计的,这里只是总结一下工作中使用R进行数据可视化分析的经验。概括为三个步骤:...
阅读(5153) 评论(1)

Chrome的无痕浏览实现初探

一. 功能定义 首先要从功能上明确无痕浏览的作用和目的。涉及的功能包括: Bookmark, History (Input, Browse, Download, Forms/Auto complete), SSL Certs,Cookie, Local Storage, WebSQL, Application Cache, HTTP Cache, Disk Cache, Web App/Plu...
阅读(6431) 评论(0)

职业发展关键在做,而不在学

说到职业发展, 谈得最多的问题莫过于:"我应该学什么?我应该往哪个方向做?" 而我认为常常反思"我要做什么"才能为职业发展提供好的动力,才能促进自己去探求学什么。思考问题的立场不再以个人为中心,而是以组织为中心。己欲达则达人,追求双赢。...
阅读(4496) 评论(5)

页面相关的数据存储(缓存及Web Storage)

页面可用的缓存包括:Http Cache, Local Storage, Session Storage以及Application Cache. 它们都可以用来减少请求数量,以提高页面的性能及减少流量消耗,这对于移动端的浏览器来说更为重要 (另外还有Memory Cache, 不过对于前端工程而言是透明的)。...
阅读(8649) 评论(0)

[WebKit]管好页面缓存

“最快的网络请求就是不发请求。” 无论何时有人说到这句话,我都会心一笑。这的确是真理,HTTP Cache对网页速度至关重要。 现在缓存的使用看似正渐入佳境,但还不够。下面HTTP Archive的数据显示在过去一年里(2011), 可以缓存的资源增加了10%,而同时页面资源却增加了12%,页面数据量增加了24%....
阅读(5788) 评论(0)

HTTP缓存思考

HTTP Cache的一个很重要的应用,它包含两个重要的领域: HTTP & Cache。 两个方面都有清楚的定义,很多人进行着各种研究,相关的文档也是数不胜数。下面是整理的一个思维导图,以后再展开。...
阅读(3852) 评论(0)

[WebKit]WebCore之页面加载的设计与实现(三)

关于页面加载,RFC2616(HTTP 1.1)做了很多的定义,WebKit的流程也是遵循这些定义的实现。这部分的实现主要放在之前提出的WebCore Loaders和HTTP Stack中。 比如Chrome Net Stack(里面包含了HTTP Stack的实现)中实现了HTTP Cache, 而Android浏览器则是HTTP Client中实现了HTTP Cache。...
阅读(5337) 评论(0)

[WebKit]WebCore之页面加载的设计与实现(二)

从上次学习WebKit加载已经过去了大半年了,终于又有时间理一次加载流程。期望逐步完善细节,最后能有一个系统的总结。 首先可以这样理解WebKit的加载逻辑,涉及三个主要的组件, 其中HTTP stack为各个平台下使用的HTTP协议模块,WebCore Loaders则依据页面加载及解析过程对加载不同HTML Element的控制,Loading Controller则具体实现了资源加...
阅读(5905) 评论(2)

Android开发中的SQLite优化

关于SQLite的优化,首先是能用SQL语句的,就不要单笔操作, Cursor就更是能不用就不用。比如成批的删除,将条件组装到SQL语句,会比使用CURSOR一条条的查再删效率要高很多(若干年前就曾使用存储过程代替单笔操作,将一次批量计算时间从一晚上缩到了一小时以内)。其次是对操作的优化:对于INSERT/UPDATE操作较多时使用事务,如果SELECT操作较多时,使用索引。...
阅读(14904) 评论(2)

几个有用的R小函数

最近写的代码基本是R脚本了,越发感到R的强大。现在用它做一些数据分析以及进行一些模拟。 收几个常的函数在这里。 1. 批次替换data frame中的数据      i. 将所有为0的数据替换为100         res2$valueX[res2$valueX %in% 0]      ii.将NA替换为0          res2$valueX[is.na(re...
阅读(11017) 评论(0)
298条 共20页首页 上一页 1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:1524016次
    • 积分:16767
    • 等级:
    • 排名:第617名
    • 原创:221篇
    • 转载:30篇
    • 译文:47篇
    • 评论:362条
    微博/MSN/EMail

    新浪微博:Horky
    QQ:324014340
    Mail:horky.chen@gmail.com
    微信公众号 (聚焦软件开发):
    博客专栏
    最新评论