ngx_align_ptr
来源:互联网 发布:手机内置软件卸载 编辑:程序博客网 时间:2024/05/16 08:21
typedef unsigned char u_char;#define NGX_POOL_ALIGNMENT 16#define ngx_align_ptr(p, a) \ (u_char *) (((uintptr_t) (p) + ((uintptr_t) a - 1)) & ~((uintptr_t) a - 1))int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); char *p = (char *)malloc(1024); u_char *p10 = ngx_align_ptr(p, 4); u_char *p11 = ngx_align_ptr(p+1, 4); printf("%X %X %d\n\n", p10, p11, p11-p10); u_char *p20 = ngx_align_ptr(p, 8); u_char *p21 = ngx_align_ptr(p+1, 8); printf("%X %X %d\n\n", p20, p21, p21-p20); u_char *p30 = ngx_align_ptr(p, 12); u_char *p31 = ngx_align_ptr(p+1, 12); printf("%X %X %d\n\n", p30, p31, p31-p30); u_char *p40 = ngx_align_ptr(p, 16); u_char *p41 = ngx_align_ptr(p+1, 16); printf("%X %X %d\n\n", p40, p41, p41-p40); u_char *p50 = ngx_align_ptr(p, 32); u_char *p51 = ngx_align_ptr(p+1, 32); printf("%X %X %d\n\n", p50, p51, p51-p50); u_char *p60 = ngx_align_ptr(p, 64); u_char *p61 = ngx_align_ptr(p+1, 64); printf("%X %X %d\n\n", p60, p61, p61-p60); int i; return a.exec();}
Streaming SIMD Extensions
SSE是指令集的简称,它包括70条指令,其中包含单指令多数据浮点计算、以及额外的SIMD整数和高速缓存控制指令。其优势包括:更高分辨率的图像浏览和处理、高质量音频、MPEG2视频、同时MPEG2加解密;语音识别占用更少CPU资源;更高精度和更快响应速度。
AVX扩展指令包含了SSE指令,这也有助于AVX时代的过度。日前的SSEVEX格式也并不需要绝对的转换过程。Intel公司的Benny Eitan先生也提到,出于整体的考虑,Intel公司对于AVX普及的进行并不会太过迅速,并且也不会立刻停止SSE及MMX时代。
目前AMD新推出FMA指令也 是 AVX 指令集中的一部分。
Nginx源码分析--数据对齐posix_memalign和memalign函数
0 0
- ngx_align_ptr
- ngx_align_ptr宏
- ngx_align_ptr宏
- 深入理解ngx_align_ptr宏
- 深入理解ngx_align_ptr宏及内存管理
- 深入理解ngx_align_ptr宏及内存管理
- 堆和栈
- iOS开发 部分常用函数
- 快递巴枪,快递物流扫描枪,快递手持终端
- 微机原理--第二章(5)Pentium 的工作方式
- cas单点登录介绍
- ngx_align_ptr
- easyui filebox 只触发一次 onChange 事件解决方法
- java 集合删除
- Spring框架
- fastext
- nginx配置文件详解中文版
- IOC容器中bean的生命周期
- 【爬虫】简单的Java爬虫,爬取Sogou微信的首页热门文章
- 二维数组中的查找