![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Golang
文章平均质量分 78
一个灰
我不是码神
展开
-
内存分配器性能优化
在之前我们提到采用自定义的内存分配器来解决防止频繁 make 导致的 gc 问题。gc 问题本质上是 CPU 消耗,而内存分配器本身如果产生了大量的 CPU 消耗那就得不偿失。经过测试初代内存分配器实现过于简单,产生了很多 CPU 消耗,因此必须优化内存分配器的性能。原创 2024-06-11 19:23:36 · 735 阅读 · 0 评论 -
Monibuca v5 实现零拷贝 BufReader
在开发高 IO 的程序都会面临一个问题,就是如何提供从网络层读取数据的性能。原创 2024-04-22 11:24:24 · 365 阅读 · 0 评论 -
Monibuca v5 实现优雅内存分配器
free(mem)这种分配方式最广为人知,也是最简洁易懂的,因此如果能实现这种方式,是最佳的。设想一下问题:如何在Free的时候知道是哪块内存?如果把这个字节数组直接存储就会回到v4的版本,显然不是我们想要的。我们想要的是在一块大的数组中切割分配,这样才能有效利用内存。原创 2024-04-22 11:15:42 · 324 阅读 · 0 评论 -
重新定义流媒体服务器
背景随着全民直播时代的到来,以及最近疫情的爆发,在线教育行业又变的炙手可热,成为了新的风口。这两者的背后都是依靠着 CDN 以及视频云等基础服务,而这些基础服务的底层又依靠着流媒体服务器这种有着“悠久历史”的特殊服务器软件。为什么说特殊呢,因为这种服务器软件的架构和传统的 Web 服务器有很大的差别。在直播系统或者视频会议系统中,有三大件构成:推流器——采集、编码、协议封包 流媒体服务器——协议解包封包、转发 播放器——协议解包、解码、渲染这三大件有着不同的技术领域,而今天的主角就是..原创 2020-06-02 18:04:35 · 1251 阅读 · 1 评论 -
Go语言实现的流媒体服务器开发框架
项目主页:http://monibuca.com/背景市面上的流媒体服务器不可谓不多,从本人的第一份工作起,就一直接触和研究了形形色色的流媒体服务器,从最早的FCS(全称Flash Communication Server),后来改名为FMS(全称Flash Media Server),到Red5(java语言开发),到CrtmpServer(C++开发),让我对流媒体服务器的基本原理有了深刻...原创 2020-02-21 17:37:10 · 5101 阅读 · 2 评论