Java学习笔记之一个计时小程序
2016-01-13 12:06
621 查看
先看一段java的代码
代码的意思应该很容易看懂,就是计算一段代码执行的时间。这里我简单计算了一个0-100000的for循环。
运行结果如下
(不要关注背景代码,那是下面要说的事情)
接着我就想,用cpp实现同样的功能会不会更快?(毕竟人家一直说cpp效率比较高),然后我就去试了试,用的windows api 的timeGetTime函数。下面贴上代码:
接着我就满怀欣喜的准备运行了,我还特意编译了x64的Release版本,然后运行了,下面是结果:
接着我就傻眼了!
[code]class TemplateDemo { public static void main(String[] args) { long x=0; GetTime gt=new GetTime(); gt.getTime(); } } class GetTime { private long startTime; private long endTime; private long countTime; public void start() { startTime=System.currentTimeMillis(); } public void end() { endTime=System.currentTimeMillis(); countTime=endTime-startTime; System.out.println("need time:"+countTime); } public void getTime() { startTime=System.currentTimeMillis(); for(int i=0;i<100000;i++) { System.out.println(i); } endTime=System.currentTimeMillis(); System.out.println("need time in java:"+(endTime-startTime)); } }
代码的意思应该很容易看懂,就是计算一段代码执行的时间。这里我简单计算了一个0-100000的for循环。
运行结果如下
(不要关注背景代码,那是下面要说的事情)
接着我就想,用cpp实现同样的功能会不会更快?(毕竟人家一直说cpp效率比较高),然后我就去试了试,用的windows api 的timeGetTime函数。下面贴上代码:
[code]#include <iostream> #include <time.h> #include <Windows.h> #include <mmsystem.h> using namespace std; class GetTime { public: void getTime() { //startTime=time(NULL); startTime = timeGetTime(); for (int i = 0;i<100000;i++) { cout << i << endl; } //endTime=time(NULL); endTime = timeGetTime(); cout << "need time in cpp:" << endTime - startTime << endl; } private: DWORD startTime; DWORD endTime; }; int main() { GetTime gt; gt.getTime(); cin.get(); return 0; }
接着我就满怀欣喜的准备运行了,我还特意编译了x64的Release版本,然后运行了,下面是结果:
接着我就傻眼了!
相关文章推荐
- 微信获取签名token
- Java微信开发之AirKiss
- 微信XML解析
- Java微信开发之现金红包接口
- 微信支付V3对接过程
- 微信开发网页授权OAuth2.0注意事项
- 桌面小程序,帮助颈椎和帮助登录网页
- ecshop 微信通的 连接。让他自动获得openid 后跳转
- Zabbix之微信订阅号平台报警
- Zabbix之微信订阅号平台报警 推荐
- 基于微信的SDK的学习与使用——实现产品支付
- 微信公众平台开发(111) 现金红包、裂变红包、企业付款
- js实现通用的微信分享组件示例
- 微信web开发者工具
- 微信连wifi portal验证
- 新版微信认证——微信连wifi上网设置教程
- 微信接入详细流程 分享给好友和朋友圈
- 微信分享回调
- “微信应用号对行业影响”之一,app开发速来围观
- 从零开始搭建微信硬件开发环境全过程——1小时掌握微信硬件开发流程