#include <iostream> // std::cout, std::endl
#include <cassert> // assert()
#include <ctime> // clock()
#include <vector> // std::vector
#include "MemoryPool.hpp" // MemoryPool<T>
#include "StackAlloc.hpp" // StackAlloc<T, Alloc>
// 插入元素个数
#define ELEMS 100000
// 重复次数
#define REPS 100
int main()
{
clock_t start;
// 使用 STL 默认分配器
StackAlloc<int, std::allocator<int> > stackDefault;
start = clock();
for (int j = 0; j < REPS; j++) {
assert(stackDefault.empty());
for (int i = 0; i < ELEMS; i++)
stackDefault.push(i);
for (int i = 0; i < ELEMS; i++)
stackDefault.pop();
}
std::cout << "Default Allocator Time: ";
std::cout << (((double)clock() - start) / CLOCKS_PER_SEC) << "\n\n";
// 使用内存池
StackAlloc<int, MemoryPool<int> > stackPool;
start = clock();
for (int j = 0; j < REPS; j++) {
assert(stackPool.empty());
for (int i = 0; i < ELEMS; i++)
stackPool.push(i);
for (int i = 0; i < ELEMS; i++)
stackPool.pop();
}
std::cout << "MemoryPool Allocator Time: ";
std::cout << (((double)clock() - start) / CLOCKS_PER_SEC) << "\n\n";
// 使用vector
std::vector<int> stackVector;
start = clock();
for (int j = 0; j < REPS; j++) {
assert(stackVector.empty());
for (int i = 0; i < ELEMS; i++)
stackVector.push_back(i);
for (int i = 0; i < ELEMS; i++)
stackVector.pop_back();
}
std::cout << "Vector Time: ";
std::cout << (((double)clock() - start) / CLOCKS_PER_SEC) << "\n\n";
return 0;
}

vindy_若飞呀
- 粉丝: 1
最新资源
- 微信小程序 蓝牙实现.zip
- A191基于springboot+vue的可追溯果蔬生产过程的管理系统(LW文档+完整前后端代码+sql脚本+开发文档+全套软件)
- 基于多智能体协调的车路协同关键技术研究仿真平台_城市规模交通信号控制仿真系统_多智能体算法优化与深度强化学习模型集成_实时交通流模拟与信号灯智能调度_用于提升城市交通效率与减少拥堵.zip
- taro + vue3 开发微信小程序的模板.zip
- 基于ghost的微信小程序版博客.zip
- 微信小程序 自定义tabbar.zip
- 微信小程序-家居电商(1).zip
- 基于强化学习的智能空战决策系统_深度强化学习_多智能体对抗_空战模拟器_OpenAIGym环境_自主决策算法_无人机与战斗机对抗_战术机动与武器使用_实时动态环境_奖励函数设计_.zip
- 基于多算法融合的信号源仿真系统_包含信号生成调制解调噪声模拟频谱分析波形重构参数优化实时处理多线程计算数据可视化性能评估误差校正动态调整模型验证实验对比.zip
- 基于ROS的智能车轨迹跟踪算法的仿真与设计项目_2021年江苏理工学院王博的毕业设计_通过ROS系统实现智能车轨迹跟踪算法的仿真与设计_包括PID法轨迹跟踪_纯跟踪结合PID的轨迹.zip
- 多进程并发环境模拟与低级调度算法仿真实现_操作系统实验项目_通过程序仿真掌握并发环境原理进程PCB与控制操作原语进程切换以及进程调度算法的实现步骤_设计并实现时钟中断产生模块文件操.zip
- 微信小程序开发资源汇总.zip
- VIENNA电路控制算法Psim仿真项目_虚拟零序解耦滞环控制数字控制抛物线法电力电子变换器仿真模型_用于研究和优化Vienna整流器的控制策略性能比较与验证_基于Psim平台的电.zip
- 多肉物语的微信小程序.zip
- 微信小程序-云课堂.zip
- 基于HivisionIDPhotos + Uniapp 实现的微信小程序端.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


