请问各位大神如何知道c语言编译器如CodeC:Blocks运行一个程序时所用的时间和内存呢?

C语言 码拜 6年前 (2015-05-11) 267次浏览 0个评论
 

由于在网上OJ提交答案时题目经常有要求限制时间和内存等,如:Time Limit: 1500/500 MS (Java/Others)     Memory Limit: 65536/65536 K (Java/Others)

请问有什么办法能在本地运行一个c程序时知道它所用的时间和内存?

无profiler不要谈效率!尤其在这个云计算、虚拟机、模拟器、CUDA、多核 、多级cache、指令流水线、多种存储介质、……满天飞的时代!
10分
VMMap 是进程虚拟和物理内存分析实用工具。http://technet.microsoft.com/zh-cn/sysinternals/dd535533
10分
运行时间可编写代码获得,内存的使用情况可使用工具,如VMMap
可用以下代码获得程序运行的毫秒数:

#include <time.h>
#include <windows.h>
int main(void)
{
	clock_t t1, t2;
	t1 = clock();
	//do some work
	Sleep(2000);
	t2 = clock();
	printf("%dms\n", t2 - t1);
	return 0;
}
引用 3 楼 zhangxiangDavaid 的回复:

运行时间可编写代码获得,内存的使用情况可使用工具,如VMMap

你好,我用的是CodeC:Blocks,每次程序运行完后都有在结尾显示运行时间,大致与你给的代码时间一致,但我提交代码到OJ后它显示的时间却跟我的不一样,而且相差很大,请问有没有办法在本地运行C语言程序时就知道代码提交到OJ后的时间?

那说明你还有改进的空间
20分
引用 5 楼 ma815841356 的回复:
Quote: 引用 3 楼 zhangxiangDavaid 的回复:

运行时间可编写代码获得,内存的使用情况可使用工具,如VMMap

你好,我用的是CodeC:Blocks,每次程序运行完后都有在结尾显示运行时间,大致与你给的代码时间一致,但我提交代码到OJ后它显示的时间却跟我的不一样,而且相差很大,请问有没有办法在本地运行C语言程序时就知道代码提交到OJ后的时间?

这个运行时间,跟系统有很大关系,只能用我给的代码大概测算下。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明请问各位大神如何知道c语言编译器如CodeC:Blocks运行一个程序时所用的时间和内存呢?
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!