2024年3月27日
CPU如何访问内存 CPU访问内存示意图 进程虚拟地址到物理地址转换示意图 根据逻辑地址A和页面大小D,得到页号P=floor(A/D),页内偏移量W=A%D。 判断越界,如果P≥M则越界,即页号比最大页号M还大就有问题了。 页表项的地址=起始地址F + 页号P × 页面大小D (这个是内存中的页表的物理地址)或者=F+A-W 物理地址E ………
阅读全文
2024年1月3日
参考阅读: https://zhuanlan.zhihu.com/p/473149603……
阅读全文
2023年7月19日
世界变化真快,转眼就到了HTTP3的时代。HTTP协议发展的时间轴是这样的: TCP的问题 TCP存在队头拥塞 QUIC QUIC(Quick UDP Internet Connections)是一种通用、安全、多路复用的传输层新型网络协议。它的目的是替代TCP(目前是互联网上用于数据传输的主流协议)。2012年,QUIC协议由当时还在谷 ………
阅读全文
2023年4月6日
很多时候我们需要对数据进行复制,在申请新的内存空间之后,我们可以用copy、append、for来复制拷贝。性能如何呢? 拷贝测试 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 ………
阅读全文
2023年3月30日
Ascii编码 Base64编码 标准Base64的码表如下: 为了适应网络传输,有些地方将 +/ 字符 替换成 -_ 字符(现实中还存在许多为适应不同场景,自定义各种可见字符来代替+/)。 填充 base64编码时将ascii字符串每3个一组编码成4个base64字符,当最后的ascii字符不足3个时,可以填充特定位(0值)来促成编码, ………
阅读全文
2023年3月28日
参考阅读: https://new.qq.com/rain/a/20210723A029CK00 https://github.com/preytaren/go-doc-zh (完)……
阅读全文
2023年3月22日
前面已经分析过在少量键值对检索的场景下,map的性能不如字符串数组直接检索。当时我们是用字符串数组循环遍历的方式做的测试。而实际上这种方式还有优化的空间。下面我们就来分析下字符串数组如何检索。 字符串== 看下面字符串比较的性能基准测试: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ………
阅读全文
2023年3月21日
JSON以其清晰明快横行,但网络大批量传输数据,序列化反序列化的场景下,和Protobuf这种数据传输协议相比,性能却不尽人意。为了解决JSON编解码性能差的问题,MsgPack给了我们新的选择。 JSON协议 菜鸟教程:https://www.runoob.com/json/json-syntax.html JSON 的两种结构: 1、 ………
阅读全文
2023年3月20日
开发中经常需要用到map数据类型,主流编程语言也都实现了类似的功能,比如叫哈希、散列、map等等,实现数据结构都类似,性能不相上下。网上有很多关于map实现解析的文章。参考: https://www.jianshu.com/p/0a777dc7f7ae ………
阅读全文
2023年3月20日
社区有人弄了个http库,用它可以大幅提升net/http标准库的性能。 项目地址:https://github.com/valyala/fasthttp 参考阅读: https://zhuanlan.zhihu.com/p/408572315 https://zhuanlan.zhihu.com/p/367927669 ………
阅读全文