FBStringProject 是一个用于比较 std::string 和自定义字符串类 FBString 在多场景下的内存占用和速度的项目。通过测试不同大小的字符串,评估两者在创建、查找和内存使用方面的性能。
FBStringProject/
├── include/
│ ├── FBStringCore.h
│ ├── FBString.h
├── src/
│ ├── FBStringCore.cpp
│ ├── FBString.cpp
│ ├── main.cpp
├── CMakeLists.txt
└── README.md
-
克隆项目:
git clone <repository_url> cd FBStringProject
-
创建构建目录并生成构建文件:
mkdir build cd build cmake .. -
编译项目:
make
-
运行可执行文件:
./FBStringProject
该项目将输出 std::string 和 FBString 在多场景下的内存占用和速度比较结果,并生成相应的性能图表。
如果使用 jemalloc 进行内存分配,可以在生成构建文件时添加 -DUSE_JEMALLOC=ON 选项:
cmake -DUSE_JEMALLOC=ON ..确保你的系统上已经安装了 jemalloc 库。
- 项目背景:开发了一个自定义字符串类
FBString,并与标准库中的std::string进行性能和内存占用的比较。 - 技术栈:使用 C++、CMake、Python(用于生成性能图表)。
- 职责和贡献:
- 设计并实现了
FBString类,支持高效的字符串操作。 - 编写了性能测试,比较
FBString和std::string在多场景下的表现。 - 使用 CMake 管理项目构建,确保跨平台兼容性。
- 设计并实现了
- 成果和影响:
- 通过测试,证明
FBString在特定场景下比std::string更高效。 - 项目代码结构清晰,易于扩展和维护。
- 提升了团队对高效编程的认识。
- 通过测试,证明
main.cpp: 负责调用性能测试函数,并生成性能图表。FBStringCore和FBString: 实现了自定义字符串类,支持多种字符串操作。- 性能测试: 比较
std::string和FBString在创建、查找和内存使用方面的性能。 - Python 脚本生成: 自动生成用于绘制性能图表的 Python 脚本。



