由于在网上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; } |
|
你好,我用的是CodeC:Blocks,每次程序运行完后都有在结尾显示运行时间,大致与你给的代码时间一致,但我提交代码到OJ后它显示的时间却跟我的不一样,而且相差很大,请问有没有办法在本地运行C语言程序时就知道代码提交到OJ后的时间? |
|
那说明你还有改进的空间
|
|
20分 |
这个运行时间,跟系统有很大关系,只能用我给的代码大概测算下。 |