相关疑难解决方法(0)

是DateTime.Now是测量函数性能的最佳方法吗?

我需要找到一个瓶颈,并且需要准确地测量时间.

以下代码段是衡量性能的最佳方法吗?

DateTime startTime = DateTime.Now;

// Some execution process

DateTime endTime = DateTime.Now;
TimeSpan totalTimeTaken = endTime.Subtract(startTime);
Run Code Online (Sandbox Code Playgroud)

.net c# performance datetime timer

466
推荐指数
14
解决办法
6万
查看次数

Linq .Any VS.Exists - 有什么区别?

在集合上使用Linq,以下代码行之间有什么区别?

if(!coll.Any(i => i.Value))
Run Code Online (Sandbox Code Playgroud)

if(!coll.Exists(i => i.Value))
Run Code Online (Sandbox Code Playgroud)

更新1

当我反汇编.Exists它看起来没有代码.

更新2

任何人都知道为什么这个没有代码?

c# linq collections

396
推荐指数
6
解决办法
30万
查看次数

什么是一些好的.NET Profilers?

您在使用.net程序时使用了哪些分析器,您会特别推荐哪些?

.net c# profiler profiling

374
推荐指数
12
解决办法
31万
查看次数

测量代码执行时间

我想知道程序/功能/订单需要多长时间才能完成测试.

这是我做的,但我的方法是错误的'因为如果秒的差异为0则无法返回经过的毫秒:

请注意,睡眠值为500毫秒,因此经过的秒数为0,则无法返回毫秒数.

    Dim Execution_Start As System.DateTime = System.DateTime.Now
    Threading.Thread.Sleep(500)

    Dim Execution_End As System.DateTime = System.DateTime.Now
    MsgBox(String.Format("H:{0} M:{1} S:{2} MS:{3}", _
    DateDiff(DateInterval.Hour, Execution_Start, Execution_End), _
    DateDiff(DateInterval.Minute, Execution_Start, Execution_End), _
    DateDiff(DateInterval.Second, Execution_Start, Execution_End), _
    DateDiff(DateInterval.Second, Execution_Start, Execution_End) * 60))
Run Code Online (Sandbox Code Playgroud)

有人能告诉我更好的方法吗?也许有一个TimeSpan

解决方案:

Dim Execution_Start As New Stopwatch
Execution_Start.Start()

Threading.Thread.Sleep(500)

MessageBox.Show("H:" & Execution_Start.Elapsed.Hours & vbNewLine & _
       "M:" & Execution_Start.Elapsed.Minutes & vbNewLine & _
       "S:" & Execution_Start.Elapsed.Seconds & vbNewLine & _
       "MS:" & Execution_Start.Elapsed.Milliseconds & vbNewLine, _
       "Code execution time", MessageBoxButtons.OK, …
Run Code Online (Sandbox Code Playgroud)

.net c# vb.net datetime timespan

104
推荐指数
6
解决办法
14万
查看次数

你如何将秒表刻度转换为纳秒,毫秒和秒?

这是一个非常基本的问题......非常令人尴尬,但这里有:

我有一个C#代码的秒表块.我以刻度确定经过的时间,然后想要转换为ns,ms,s.我知道频率是由秒表类提供的,并且它是转换所必需的.

谢谢

c#

60
推荐指数
5
解决办法
7万
查看次数

如何测量函数运行的时间?

我想看一个函数运行多长时间.所以我在表单上添加了一个计时器对象,我出来了这段代码:

private int counter = 0;

// Inside button click I have:
timer = new Timer();
timer.Tick += new EventHandler(timer_Tick);
timer.Start();
Result result = new Result();
result = new GeneticAlgorithms().TabuSearch(parametersTabu, functia);
timer.Stop();
Run Code Online (Sandbox Code Playgroud)

和:

private void timer_Tick(object sender, EventArgs e)
{
    counter++;
    btnTabuSearch.Text = counter.ToString();
}
Run Code Online (Sandbox Code Playgroud)

但这并不算什么.为什么?

.net c# performance timer stopwatch

39
推荐指数
8
解决办法
4万
查看次数

创建PerfMon计数器以记录每次调用的平均值(C#)

如何使用PerfMon计数器记录C#中方法的平均执行时间?

到目前为止,我只找到了增加或减少PerfMon计数器的示例代码.

c# perfmon

22
推荐指数
2
解决办法
3万
查看次数

如何计算MVC中执行动作所花费的时间

我想计算任何操作所花费的时间并将其保存在数据库中。我不在所有行动中使用秒表。

我正在寻找一种可以应用于整个项目 asp.net MVC 的方法,换句话说,每次执行操作时都会发生一个事件?

c# asp.net-mvc

4
推荐指数
1
解决办法
2704
查看次数

.Net 秒表和 Powershell

我有一个 powershell 脚本,目前通过任务调度程序每 4 小时运行一次。它会清理驱动器,完成后它会向我发送一封电子邮件,告诉我它移动了什么以及执行此任务所需的时间和位置。

但是,我似乎对它最后显示的时间有问题。我最近收到一封电子邮件,说它花了 4 分钟,而我知道它花了将近 30 分钟。

基本结构如下所示:

$StopWatch = new-object system.diagnostics.stopwatch
$StopWatch.Start()

Do { All this stuff }       
While(This condition is false)

$StopWatch.Stop()
$Minutes = $StopWatch.elapsed.minutes
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么?这东西只是读取系统时间,然后在.elapsed访问时将其与当前时间进行比较,对吗?

.net powershell stopwatch

3
推荐指数
1
解决办法
3583
查看次数

如果我两次拨打C#DateTime.UtcNow,我保证在第二次通话中得到更晚的时间吗?

在C#中,如果我DateTime.UtcNow在同一个进程中调用两次,是否可以保证第二次调用的时间晚于第一次调用?

背景是我们有一个应用程序通过调用记录每个任务的开始时间和结束时间DateTime.UtcNow,对于一个任务,我们观察到结束时间甚至早于开始时间.对于cource,我们的应用程序足够复杂,因此在深入调查之前,我不能排除其他可能性,但至少想要了解它是否可能在以后调用DateTime.UtcNow返回更早的时间.

提前致谢.

c# datetime

2
推荐指数
1
解决办法
193
查看次数

C#如何衡量经过的时间?

我想记录执行自定义方法所需的时间,但我以前从未使用过计时器类或方法,我知道我做错了.

这就是我所拥有的.

System.Timers.Timer Time;
int Mili = 0 ;

data = Generate();

Time.Enabled = true;
BSort= BubbleSort(data);

Time.Enabled = false;
Run Code Online (Sandbox Code Playgroud)

c# elapsedtime

0
推荐指数
1
解决办法
888
查看次数

如何在c#中使用秒表计算执行实际时间?

我在一个方法中尝试了以下代码:

Trace.Write("START "+Datetime.now);
//DATABASE METHOD CALL 
SaveData();
Trace.Write("END "+Datetime.now);
Run Code Online (Sandbox Code Playgroud)

output window手动计算时间.

如何使用stopwatch(启动/重置/停止)来获得正确的执行时间?

c# asp.net-mvc

-4
推荐指数
1
解决办法
4050
查看次数