C#计算代码的执行耗时

第一种方法:System.DateTime.Now

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Example
{
    public class Program
    {
        static void Main(string[] args)
        {
            int sum=0;
            DateTime beforeDT = System.DateTime.Now;
            for (int i = 0; i < 100000; i++)
            {
                sum += i;
            }
            DateTime afterDT = System.DateTime.Now;//获取一个 System.DateTime 对象,该对象设置为此计算机上的当前日期和时间,表示为本地时间
            TimeSpan dt = afterDT.Subtract(beforeDT);//TimeSpan表示一个时间间隔,Subtract()从此实例中减去指定的时间和日期
            Console.WriteLine("程序耗时:‘{0}‘秒", dt);
            Console.ReadLine();
        }
    }
}

第二种方法:Stopwatch

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;

namespace Example
{
    public class Program
    {
        static void Main(string[] args)
        {
            int sum=0;
            Stopwatch sw = new Stopwatch();//Stopwatch提供一组方法和属性,可用于准确地测量运行时间
            sw.Start();
            for (int i = 0; i < 100000; i++)
            {
                sum += i;
            }
            sw.Stop();
            TimeSpan dt = sw.Elapsed;//获取当前实例测量得出的总运行时间
            Console.WriteLine("程序耗时:‘{0}‘秒", dt);
            Console.ReadLine();
        }
    }
}
时间: 2024-11-05 15:55:05

C#计算代码的执行耗时的相关文章

Objective-C 计算代码运行时间

转自:http://www.isaced.com/post-213.html Objective-C 计算代码运行时间 JUN 25 今天看到一篇关于iOS应用性能优化的文章,其中提到计算代码的运行时间,觉得非常有用,值得收藏.不过在模拟器和真机上是有差异的,以此方法观察程序运行状态,提高效率. 第一种:(最简单的NSDate) NSDate* tmpStartData = [NSDate date]; //You code here... double deltaTime = [[NSDate

在 tornado 中异步无阻塞的执行耗时任务

在 linux 上 tornado 是基于 epoll 的事件驱动框架,在网络事件上是无阻塞的.但是因为 tornado 自身是单线程的,所以如果我们在某一个时刻执行了一个耗时的任务,那么就会阻塞在这里,无法响应其他的任务请求,这个和 tornado 的高性能服务器称号不符,所以我们要想办法把耗时的任务转换为不阻塞主线程,让耗时的任务不影响对其他请求的响应. 在 python 3.2 上,增加了一个并行库 concurrent.futures,这个库提供了更简单的异步执行函数的方法. 如果是在

计算代码段的执行时间

计算代码段的执行时间,这段代码用得太多了.决定将其封装成两个宏,方便以后使用. 代码非常easy,就不解释了. #include <stdio.h> #include <sys/time.h> //计时器開始, //使用时,要将要计时的代码段放入TIMER_START和TIMER_STOP之间.详情请看測试样例 //增加do{ }while(0)是为了尽量降低命令冲突 #define TIMER_START() do { struct timeval timerout_start,

深入理解JVM_java代码的执行机制01

本章学习重点: 1.Jvm: 如何将java代码编译为class文件. 如何装载class文件及如何执行class文件. jvm如何进行内存分配和回收. jvm多线程:线程资源同步机制和线程之间交互的机制. 3.1 java代码的执行机制 java源码编译机制. 1.三个步骤: 分析和输入到符号表(Parse and Enter) Parse过程所做的为词法和语法分析. 词法分析:将代码字符串转变为Token序列. 语法分析:根据语法由Token序列生成抽象语法树. Enter过程为将符合好输入

计算代码段的运行时间

计算代码段的运行时间,这段代码用得太多了,决定将其封装成两个宏,方便以后使用. 代码很简单,就不解释了. #include <stdio.h> #include <sys/time.h> //计时器开始, //使用时,要将要计时的代码段放入TIMER_START和TIMER_STOP之间,详情请看测试例子 //加入do{ }while(0)是为了尽量减少命令冲突 #define TIMER_START() do { struct timeval timerout_start, ti

代码在线执行工具(PHP,Java,C++ 等)

http://www.it1352.com/Onlinetools 支持几十种语言的在线运行. 缺点:对请求频率限制太严格了,一分钟不到十次吧...可以清理浏览器 Cookie 之后重新访问.必须用示例中的 Rextester 类作为类名. 可以嵌入到自己网站,比如 Java 嵌入语句如下: <iframe src="http://www.it1352.com/Onlinetools/OnlineCompileCommon/4?c_height=100&r_height=100&a

如何撤销浏览器注入JS代码的执行效果?

如何撤销浏览器注入JS代码的执行效果? 可用的方法: 放弃所有本地修改,整体重新reload当前的URL(这相当于大粒度的savepoint/snapshot,应确保用户数据/视图状态能够按期望恢复) 内核实现immutable的DOM树,对DOM树的每个修改均产生一个新的版本快照,修改可以直接回退,比如提供一个document.revertTo方法 immutable数据结构上实现MVCC事务,事务本身的执行是原子的,但是并没有考虑用户如何手工反转事务 实现细粒度的对应每个业务逻辑层次写操作的

java基础复习一、代码块执行顺序

1 /** 2 * 代码块执行顺序的测试 3 * 执行顺序 静态代码块>main代码块>构造代码块>构造函数>普通代码块 4 * @author Administrator 5 * 6 */ 7 public class ClassDemo01 { 8 static { 9 System.out.println("这是一个静态代码块"); 10 } 11 { 12 System.out.println("这是一个构造代码块"); 13 } 1

如何在代码中执行apk安装

import java.io.File; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.widget.Button; public class MainActivity extends Activity { /** Called when th