会员
周边
捐助
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
Orlion
https://blog.fanscore.cn
博客园
首页
新随笔
联系
管理
订阅
2024年10月11日
使用AVX2指令集加速推荐系统MMR层余弦相似度计算
摘要: 原文:blog.fanscore.cn/a/62/ 1. 背景 前一段时间公司上线了一套Go实现的推荐系统,上线后发现MMR层虽然只有纯计算但耗时十分离谱,通过pprof定位问题所在之后进行了优化,虽然降低了非常多但是我们认为其中还有优化空间。 可以看到日常平均耗时126ms,P95 360ms。
阅读全文
posted @ 2024-10-11 11:03 orlion
阅读(229)
评论(3)
推荐(2)
编辑
2024年9月2日
又一个Rust练手项目-wssh(SSH over Websocket Client)
摘要: 原文地址https://blog.fanscore.cn/a/61/ 1. wssh 1.1 开发背景 公司内部的发布系统提供一个连接到k8s pod的web终端,可以在网页中连接到k8s pod内。实现原理大概为通过websocket协议代理了k8s pod ssh,然后在前端通过xterm.js
阅读全文
posted @ 2024-09-02 09:47 orlion
阅读(527)
评论(0)
推荐(3)
编辑
2023年5月24日
与世界分享我刚编的mysql http隧道工具-hersql原理与使用
摘要: 原文地址:[https://blog.fanscore.cn/a/53/](https://blog.fanscore.cn/a/53/) # 1. 前言 本文是[与世界分享我刚编的转发ntunnel_mysql.php的工具](https://blog.fanscore.cn/a/47/)的后续,
阅读全文
posted @ 2023-05-24 22:02 orlion
阅读(583)
评论(0)
推荐(1)
编辑
2023年2月14日
redis georadius源码分析与性能优化
摘要: 原文地址: https://blog.fanscore.cn/a/51/ 背景 最近接到一个需求,开发中使用了redis georadius命令取附近给定距离内的点。完工后对服务进行压测后发现georadius的性能比预期要差,因此我分析了georadius的源码,并对原始的实现方案进行了优化,总结
阅读全文
posted @ 2023-02-14 22:11 orlion
阅读(1238)
评论(2)
推荐(1)
编辑
2021年1月23日
深入理解原子操作的本质
摘要: 原文地址:https://blog.fanscore.cn/p/34/ 引言 本文以go1.14 darwin/amd64中的原子操作为例,探究原子操作的汇编实现,引出LOCK指令前缀、可见性、MESI协议、Store Buffer、Invalid Queue、内存屏障,通过对CPU体系结构的探究,
阅读全文
posted @ 2021-01-23 18:39 orlion
阅读(2798)
评论(2)
推荐(0)
编辑
2021年1月4日
golang unsafe.Pointer与uintptr
摘要: 原文地址:https://blog.fanscore.cn/p/33/ 先说结论 uintptr 是一个地址数值,它不是指针,与地址上的对象没有引用关系,垃圾回收器不会因为有一个uintptr类型的值指向某对象而不回收该对象。 unsafe.Pointer是一个指针,类似于C的void *,它与地址
阅读全文
posted @ 2021-01-04 20:19 orlion
阅读(1081)
评论(0)
推荐(0)
编辑
2020年12月16日
x64架构下Linux系统函数调用
摘要: 原文链接:https://blog.fanscore.cn/p/27/ 一、 函数调用相关指令 关于栈可以看下我之前的这篇文章x86 CPU与IA-32架构 在开始函数调用约定之前我们需要先了解一下几个相关的指令 1.1 push pushq 立即数 # q/l是后缀,表示操作对象的大小 pushl
阅读全文
posted @ 2020-12-16 09:55 orlion
阅读(1582)
评论(0)
推荐(0)
编辑
2020年12月2日
IEEE754标准浮点数表示与舍入
摘要: 原文地址:https://blog.fanscore.cn/p/26/ 友情提示:本文排版不太好,但内容简单,请耐心观看,总会搞懂的。 1. 定点数 对于一个无符号二进制小数,例如101.111,如果我们要用2个字节即16位来存储它,我们可以约定用高8位存储小数点前的数字,用低8位存储小数点后的数字
阅读全文
posted @ 2020-12-02 20:16 orlion
阅读(3689)
评论(0)
推荐(2)
编辑
2020年11月6日
理解内存对齐
摘要: 原文地址: https://blog.fanscore.cn/p/24/ 相信大家都听说过内存对齐的概念,不过这里还是通过一个现象来引出本篇话题。 一、求一个结构体的size 猜下下面这个结构体会占用多少字节 type S struct { B byte // Go中一个byte占1字节,int32
阅读全文
posted @ 2020-11-06 07:23 orlion
阅读(945)
评论(2)
推荐(4)
编辑
2020年10月23日
PHP实现Bitmap的探索 - GMP扩展使用
摘要: 原文地址:https://blog.fanscore.cn/p/22/ 一、背景 公司当前有一个用户群的系统,核心功能是根据不同的条件组去不同的业务线中get符合条件的uid列表,然后存到redis中的bitmap中。 举个🌰,如果一个用户群中有两个用户: 3和7,即[3,7],用bitmap表示
阅读全文
posted @ 2020-10-23 22:23 orlion
阅读(1481)
评论(0)
推荐(0)
编辑
下一页
公告