CodeIgniter性能优化

-》index.php

  • 作用:加载了部分全局变量,文件路径等入口
  • 优化:干掉了整个web文件,调整了部分路径

-》core/CodeIgniter.php

  • 作用:ci的核心文件,基本上加载了整个模块
  • 优化:进入内部优化

-》加载common.php

作用:框架特别基本的一些函数log,show,error,is_xxx等,800行左右代码
优化:暂时未处理

-》composer autoload func
-》加载benchmark

  • 作用:benchmark性能追查工具,设置了全局的开始和结束时间
  • 优化:直接干掉,全局处理。但是性能需要卡,就在index中初始化了一个入库的timer
// 定义全局开始追查
list($msec, $sec) = explode(' ', microtime());
define('START_TIME', (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000));
// 定义全局uuid
define('UUID', uniqid('xxx', true));

-》实例化hooks和预变量

  • 作用:设计特别棒,对于一些hook或者针对不同模块的预加载函数。
  • 优化:直接干掉,7,8个hook后期用到再针对性添加

-》加载config

  • 作用:对应的是ci的get_config等函数,加载了base_url,uri,cache path等 。
  • 优化:直接干掉,全局变量占用需要自己加就行,这种不可控的干掉

-》加载扩展mbstring,iconv,hash,stardard

  • 作用:一些额外的扩展。
  • 优化:直接干掉,试了下干掉对功能不影响,ci写的太全面了,后期可以通过加载自己的lib弥补。

-》load 组件utf8,uri

  • 作用:uri路由方式处理,utf8的处理。
  • 优化:直接干掉。

-》load router [4ms]

  • 作用:路由。
  • 优化:干不掉。
  • 额外:laravel 据说是使用COC最好的框架,看了下ci的router也不错,基本上都是遵循COC

-》load output,input

  • 作用:output和浏览器交互输出的处理组件,input包括获取数据array_merge等等。
  • 优化:干掉,需要自己写

-》autoload package,cinfig,helper,language,driver,lib,model,db,cache

  • 作用:各种各样的组建了。
  • 优化:全不加载

-》404 &empty$…handle

  • 作用:异常处理。
  • 优化:加载

-》controller remap(测试性能写了个remap)

  • 作用:指向其他controller。
  • 优化:无

-》controller 业务逻辑

  • 到此将整个框架过程优化完成,初始一下4-5ms感觉还不错。

转载--原文点击