笔迹-工匠之芯

穷则独善其身,达则兼济天下

IO读取缓冲器-BufReader

一. IO问题思考IO读取缓冲器,顾名思义就是针对系统的IO读取操作添加一层缓冲层,有这层缓冲层到底有啥好处呢?针对这个问题,我先问大家以下几个问题. 对于IO读取操作,无论针对的是对象,还是针对网络,每次IO操作均需要陷入内核调用,频繁内核调用会严重影响性能,请问有没有什么办法优化这部分? 针对网络IO读取过程,网络时好时坏,如何让网络IO能够发挥最大的性 …

开源: 高性能网络监听库-NetHandle

NetHandle这是一个库,方便构建高性能TCP服务端应用程序,站在Go语言的巨人肩膀上 项目地址: https://github.com/gitsrc/NetHandle 一. 特点 高性能,低资源消耗 非常简单易用的开发接口 支持众多协议,TCP,UDP,UNIX 二. 安装go get -u github.com/gitsrc/NetHandle …

源码阅读:YAF框架系列文章(3) - (yaf_application.c)

这个文件主要围绕Yaf_Application类的注册,这里,按照倒叙的方式来进行讲解。 一、注册yaf_application类 1YAF_STARTUP_FUNCTION(application) { 2//定义一个zend_class_entry实例变量 3 zend_class_entry ce; 4 5/* 初始化一个CLASS ENTRY …

高级编程:PHP扩展的 INI 配置文件操作

Extension INI Entries (扩展INI配置项)Defining php.ini directives (i.e., INI entries) in an extension is easy. Most of the work involves setting up the global struct explained earlier in …

源码阅读:YAF框架系列文章(2) - (yaf.c)

这个文件是yaf框架的整体组成框架文件,因为yaf的设计思路是模块化的,因此在这个文件中进行了总体整合。整合的思路分为以下几个部分。 INI配置文件的解析 注册系统使用的常量 注册各个模块 对扩展模块的各个生命期做拦截监控 注册扩展模块 一、INI配置文件解析功能 在php_yaf.h文件中对于全局变量进行了定义工作,随后在yaf.c中进行了声明工作,声明操 …

源码阅读:YAF框架系列文章(1) - (php_yaf.h)

这个文件的核心使命是构建yaf基础定义,这部分定义主要包括 对于内核函数的宏定义 对于框架变量类型的宏定义 对于框架所使用的全局变量进行定义 一、对于内核函数进行宏定义 1#define YAF_STARTUP_FUNCTION(module) ZEND_MINIT_FUNCTION(yaf_##module) 2#define …

检测并分析PHP扩展的内存泄露

1. 背景描述基于C/C++开发的程序,内存管理是很大程度上的工作,我们在这篇文章里来给大家讲解一下如何监控程序体可能存在的内存泄露。 工欲善其事必先利其器,这里选择使用 Valgrind 工作来进行内存监控。http://valgrind.org/ 2. Valgrind工具安装1 git clone …

编程笔记:C动态连接库编程

动态链接库,可以方便程序体扩展功能、更新组件,相对于编译时连接,具有更大的灵活性,下面我们从三个方面来讲解一个案例。 库函数定义在这里,我们首先定义一个简单的加法函数。 1#include <stdio.h> 2 3int add(int a,int b){ 4 return a+b; 5} 动态链接库编译我们通过编译命令对于源码文件进行编译, …