堆区 栈区 常量区 I/O操作耗时测试
来源:互联网 发布:淘宝卖家7天不发货 编辑:程序博客网 时间:2024/06/10 00:53
- (void)longOperation{ NSLog(@"start"); //性能测试:开始时间 NSTimeInterval start = CACurrentMediaTime(); for (NSInteger i = 0; i < 1000000; i++) { //栈区// int a = 10;//耗时0.017035 //常量区// NSString *str = @"hduisahf";//耗时0.012035 //堆区// NSString *str = [NSString stringWithFormat:@"haha %zd",i];//耗时0.8s //I/O操作,输出/输入 NSLog(@"%zd",i);//耗时最长 } NSLog(@"over %f",CACurrentMediaTime() - start);}
结论:
- 空的for循环不耗时,相当于计算机在数数
- 操作内存的栈区速度很快;栈区存储空间地址是连续的,不需要花时间去寻址;
- 操作内存的常量区速度很快;内存空间只开辟一次;相对于操作栈区的内存空间耗时一些
- 操作内存的堆区速度相对栈区和常量区要慢些;堆区内存空间不连续,需要寻址;
- I/O(input/output)操作是很耗时的; (把数据从内存输出到外接设备,或者由外接设备输入到内存).
阅读全文
0 0
- 堆区 栈区 常量区 I/O操作耗时测试
- C++ 常量区 堆区 栈区
- c++ 栈区 堆区 常量区
- 文字常量区 堆 栈
- Linux 开发过程中I/O操作的效率测试
- I/O文件测试
- C++I/O操作
- I/O操作
- I/O操作
- 文件I/O操作
- 文件I/O操作
- 文件I/O操作
- JAVA I/O操作
- java I/O操作
- I/O 文件操作
- 文件I/O操作
- I/O操作
- I/O 文件操作
- ROS的launch文件
- Sequelize 中文API文档
- 重写方法声明Override
- Bootstrap相关特性
- HttpClient学习笔记
- 堆区 栈区 常量区 I/O操作耗时测试
- 小火车(链表)
- 系统调用和库函数的区别
- 高德地图定位及导航开发流程
- HDU-1217-Arbitrage
- Java中的内存处理机制和final、static、final static总结
- 哈夫曼树的构造和编码
- Java中ArrayList集合
- 矩乘dp 总结