
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
一、背景:正常默认编译下,调用成功,没有发生任何错误,调用成功。但O2优化条件下,却发生了Segmentation fault错误。这一般表明代码存在内存错误访问的情况。二、检测代码发生Segmentation fault的位置:两种方式第一种1.编译代码添加-g参数2.unlimit -c unlimited,使代码发生Segmentation f
一、现象1.线上服务(内存分配采用tcmalloc)出现瞬时内存上涨的情况(如按G级别上涨),且长时间不释放内存。二、问题定位1.确定内存是泄漏还是tcmalloc的空闲内存(我这边的是空闲内存,并不是内存泄漏)1)可以通过增加代码,支持打印tcmalloc内存分配统计信息。char* stats_buffer = new char[4096];MallocExtension::instance(
这是因为当用基类引用派生类的时候,如果此时对基类进行delete操作,对于没有虚函数析构函数,那么只会调用基类的析构函数,而对派生类的析构函数不会进行析构相关文章转载:http://www.cnblogs.com/lixiaohui-ambition/archive/2012/07/13/2589716.html
当发现long long的值不足以存放一些组合数值的时候,可以考虑使用__int128
一、描述1.linux下redis默认才用epoll来完成io的多路复用,将当前需要监听的io事件交由操作系统来完成。当有相应关注的io事件到来的时候,操作系统则会通知用户程序相关的信息,这样即使采用单线程也能监听多个io事件。2.采用单线程来处理网络请求,除了1的epoll外,还有两个原因:2.1 redis的数据结构是基于内存来实现的,因此其效率极高,即使单线程也能得到很高
这是因为当用基类引用派生类的时候,如果此时对基类进行delete操作,对于没有虚函数析构函数,那么只会调用基类的析构函数,而对派生类的析构函数不会进行析构相关文章转载:http://www.cnblogs.com/lixiaohui-ambition/archive/2012/07/13/2589716.html
当发现long long的值不足以存放一些组合数值的时候,可以考虑使用__int128
cuda大致在使用的时候,会涉及到global memory,local memory, share memory, register memoy而其中在方法里面如果前缀什么都不加的话, 如float num[15], 这时候数组可能会存放在register memory或者在 local memory其中说明下local memory的作用,其是用于存放在方法中声明的动态数组、复杂数据结
原文:At every instruction issue time, the SIMT unit selects a warp that is ready to execute and issues the next instruction to the active threads of the warp. A warp executes one common instruction at
当发现float的性能瓶颈在带宽的话,可以考虑将float转换为half计算,其实对于浮点数进行计算,16浮点数half的精度已经很足够了。







