自定义博客皮肤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)
  • 收藏
  • 关注

原创 L1 Cache其实挺快的

都减去300之后,1300/2000,这就尴尬了,还是老老实实push/pop吧。然后看一下pinsrd/pextrd 4个寄存器的的时间: 2300K左右。然后看一下push/pop 4个寄存器的的时间: 1600K左右。先空跑一趟,记录一下循环的开销。

2023-04-23 15:31:19 67

原创 设备通讯中,有时会遇到大小端的问题,需要“交换字节序“

原代码:int k = 0;for(k = 0;k+=2)优化1://要留下\0的位置k++)pdst[k] =ntohs(psrc[k]);//\0结尾,防止访问时越界优化2:优化2:.align 64# 要求: AVX2# dst,src: 不要求地址32字节对齐, 但是要求大小是32字节的整数倍# srcc:src有效数据的长度, 可以不是32字节的整数倍.align 64ret# 要求: AVX512VL + AVX512BW。

2023-04-23 15:26:49 186

原创 SIMD CRC16 AVX512

之前写了个pshufb + pdep版本的, 速度就快了2,3倍, 最近学习了AVX512, 就拿AVX512写了下, 果然是AVX512啊, 快了近百倍:.codeadd rcx, 8add rcx, 8add rcx, 8add rcx, 8add rcx, 8add rcx, 8add rcx, 8retendint i;for (i = 0;i < 16;i++)int main()count++)i < 32;i++)

2023-04-23 15:05:19 132

原创 AT&T嵌入汇编中, 如何表达 {k1}{z}

intel:gas:":::);

2023-04-23 14:57:33 49

原创 极其低效的sprintf

/循环sprintf, 首先不说这个方法是错误的方法, 就是它的效率, 就是所有方法中最慢的, 超级慢的那种(好像GCC12之后对它有所优化)//循环sprintf, 首先不说这个方法是错误的方法, 就是它的效率, 就是所有方法中最慢的, 超级慢的那种(好像GCC12之后对它有所优化)项目中遇到个需求, 要把TCP接收到的数据写到日志中, 直接二进制写的话, 不好查看, 就需要把二进制数据以16进制字符串的方式写到日志中.andq rdx, 0x0f #最后的零头数量在rdx中,最后用换码法进行转换。

2023-04-23 14:53:01 1000

原创 itoa整数转字符串

linux itoa

2023-04-23 14:38:49 69

原创 intrin用起来有点不方便哦

SIMD intrin内置函数

2023-01-05 15:37:35 420

原创 SIMD PCMPISTRI有个坑哦

SIMD PCMPISTRI strstr

2023-01-05 15:33:02 69

原创 MASM 整数转字符串

MASM

2023-01-05 15:21:57 178

原创 SIMD CRC16

SIMD CRC16

2023-01-05 14:26:37 158 1

空空如也

空空如也

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

TA关注的人

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