logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

4.SGI STL 二级空间配置器 allocate 与_S_refill 源码解析

本文深入解析了SGISTL二级空间配置器的核心源码,重点剖析了allocate内存分配函数和_S_refill内存池填充函数的实现机制。allocate函数采用双策略分配:大内存(>128B)直接调用一级配置器,小内存通过自由链表复用。_S_refill函数负责在自由链表为空时,批量申请20个内存块(实际可能更少),首块返回用户,剩余块构建链表供后续复用。关键设计包括:8字节对齐、指针类型转

文章图片
#c++#c语言#开发语言
2.SGI STL 内存池 空间配置器重要成员解析

本文深入解析了SGISTL二级空间配置器的核心设计原理。文章首先指出服务器开发中海量小对象分配释放的性能瓶颈,并揭示STL容器默认使用内存池的底层机制。重点剖析了二级空间配置器的关键设计:通过8字节对齐、16条自由链表管理≤128字节的小对象;采用union联合体实现零内存开销的空闲节点复用;使用静态变量记录内存池全局状态;通过volatile关键字保证多线程安全。相比一级配置器直接调用mallo

文章图片
#c++#学习
1.SGI STL vector 内存管理与空间配置器解析

摘要:SGISTL中的vector容器通过自定义空间配置器(Allocator)实现高效内存管理。Allocator将内存分配/释放与对象构造/析构分离,采用二级配置器设计:一级直接封装malloc/free,二级基于内存池优化小块内存分配。vector的push_back/pop_back操作体现了这种分离设计:push_back使用placement new在预分配内存上构造对象,pop_ba

文章图片
#rpc#开发语言#c++ +1
C++ 网络编程项目量化:Valgrind 内存检测与 wrk 压测实战

摘要:本文介绍了C++网络编程中tinyWebServer等项目的性能优化方法。重点讲解Valgrind内存检测工具的使用,包括安装、参数配置和常见内存问题分析;以及wrk压测工具的多线程压测方法,包括安装、参数说明和结果解读。通过量化测试指标(如QPS、延迟等)来提升项目简历的含金量,并对比了不同测试工具的特点,帮助开发者构建高性能、稳定的HTTP服务器。

文章图片
#c++#linux#计算机网络 +1
C++ 项目部署教程(标准生产环境架构:本地编译 + Jenkins云端部署)

本文围绕64 位 MS 环境下标准 C/C++ 工程的一键部署与替代方案展开,提供完整工程结构、编译配置、服务托管与端口占用清理流程,可实现多版本平滑替代。文中给出通用托管脚本与一键部署脚本,支持服务安装、版本更新、端口释放、目录清空等操作,适用于64 位 MS 环境下 C/C++ 工程的标准化、自动化部署,可直接用于生产环境,降低运维成本,提升交付效率。

文章图片
#c++#jenkins#自动化 +3
C++11智能指针详细解析及面试题

本文详细解析C++智能指针的三大核心组件(unique_ptr、shared_ptr、weak_ptr)及其内存管理机制。智能指针基于RAII原则,通过对象生命周期自动管理资源释放,有效解决原始指针常见的内存泄漏、野指针等问题。unique_ptr实现独占所有权,shared_ptr通过引用计数实现共享所有权,weak_ptr则辅助解决循环引用问题。文章深入剖析了智能指针的实现原理、使用场景及最佳

文章图片
#c++#开发语言#面试
到底了