自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 硬件角度优化C/C++代码

文章目录一、Prefetcher对性能影响二、CacheCache Size与Cache Line Size 测试cache关联Cache对齐![在这里插入图片描述](https://img-blog.csdnimg.cn/5a278d262b244e59afaaaa19075effa2.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rW36IKy5aSn5Y6m,size_20,color_FF.

2022-02-26 18:52:51 402

原创 C++ 程序的基本组成

文章目录C++ 程序的基本结构一、C++程序生成可执行文件/DLL的流程二、编译的流程1.C++ 程序的表示:2.编译的基本流程(1). 编译将源文件转化为bin,由四步组成:(2). C++ 中, 一个源文件对应一个object File(3). 链接将多个bin组成程序3. C++标准中的编译(Translation)流程三、定义和声明0.实体和名字1. 声明:一个声明将一个或多个名字引入Translation Unit(TU),声明将名字和实体链接起来。2.定义:一个定义是一种将实体定义的特殊声明。.

2021-07-25 18:02:18 1142

原创 How to write good test

文章目录CorrectnessReadabilityCompletenessDemonstrabilityResilienceCorrectnessDoesn’t write depend on known bugs// DO NOT DO THIS!!!int square(int x){ // TODO return 0;}TEST(SqureTest, MathTest){ EXPECT_EQ(0, square(2));}Write Test base on rea.

2021-04-26 21:53:13 216

原创 C++ Exception Safe Code

// basic guarantees: no memory leak and not destroy itself// strong guarantees: no other effect after throw. (vector)// Exception Safe Function: Constructor....// no exception function: destructor, swap, move construtor// 1.1 Basic-Error Detection / t

2021-04-24 23:33:29 195

原创 CPU与GPU统一虚拟内存(CUDA UM)原理

NUMA架构下的CPU与GPU的统一虚拟内存(UVM)实现原理文章目录NUMA架构下的CPU与GPU的统一虚拟内存(UVM)实现原理一、UVM下的CUDA内存管理一、pandas是什么?二、使用步骤1.引入库2.读入数据总结一、UVM下的CUDA内存管理在PCIE接口上插上GPU,就变成了NUMA架构的CPU/GPU,CPU于GPU分离,各自有独自的物理地址:在这种情况下,我们比较熟悉的CUDA编程是用cudaMalloc和cudaHostMalloc分别分配device和host内存,先后

2021-04-06 20:22:42 8167 4

原创 C++ 内存角度的效率和性能优化

算法保证效率,减少对数据结构的访问数据结构优化性能文章目录一、减少内存访问次数1. reserve减少分配内存次数2. Hash Lookup与内存访问二、使用连续存储数据类型1.不要使用List (不连续的内存访问)2. 使用Vector足够大部分情况3. STD::MAP性能差4.Hash表三、反直觉的算法一、减少内存访问次数1. reserve减少分配内存次数// 优化前:多次分配内存std::vector<X> f(int n) { std::vector<X&g

2021-04-01 20:50:46 690

原创 C++ MetaProgramming

C++ MetaProgramming提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、模板的一些基础二、MetaProgramming的常用工具1.enum/static constexpr:`Value` 和`Type`的实现2. Specializations: Check Type3. Partial Specializations: RemoveCV2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术

2021-03-22 23:32:12 428

原创 C++ reference 那些容易被忽视的细节

C++ reference 那些容易被忽视的细节工作之余做个小结。(TE为实体类型,TD为推断类型)一、std::forward 转化规则TE&& -> TE&&const TE& -> const TE&TE&/TE -> TE&二、 关于const TE &&的作用const TE&& 不是特别make sense,在对const 使用std::move和移动构造函数很违反逻

2021-03-16 22:37:34 176

原创 原生Vim中的高效操作

Vim中那些好用的按键Vim中有些按键能极大的提高幸福度,减少用脑,减少肌肉劳损,笔者用了一年Vim+vscode在这里小结下这段时间最常用的按键。文章目录Vim中那些好用的按键一、区间选择:`i`(in) 和 `a`(around)二、查找光标下关键字:`#` 和 `*`三、迅速找到类名:`[{` 和 `]}`四、插入:`A`,`I`,`C`,`S`五、覆盖粘贴当前单词 `viwp`六、多行插入:`数字+o`七、跳转到上次位置:`ctrl-o`,`ctrl-i`八、复制寄存器内容到命令行:`ctrl-

2021-03-13 22:23:11 373

原创 一文讲清C++14的Type-Deduction

C++ Type-Deduction (一)记录一下Type-DeductionType-Deduction 简介在最早的C++98中,Type-Deduction仅用于Template当中,仅有by-value,by-reference,规则相对简单。C++11增加了通用引用,auto/decltype关键字和lambda。C++14增加了decltype(auto),Type-Deduction变化多了。大多数情况下不用考虑Type。但在有些时候,尤其是你要泛化代码,不了解当前Type类型尤其是v

2021-03-13 18:55:35 435

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除