Tôi muốn theo dõi hiệu suất mã của mình để tôi lưu trữ thời gian bắt đầu và kết thúc bằng cách sử dụng System.DateTime.Now
. Tôi lấy sự khác biệt giữa hai là thời gian mã của tôi để thực thi.Đồng hồ bấm giờ và sử dụng System.DateTime.Now cho các sự kiện thời gian
Tôi nhận thấy rằng sự khác biệt dường như không chính xác. Vì vậy, tôi đã thử sử dụng một đối tượng Stopwatch
. Điều này hóa ra là nhiều, chính xác hơn nhiều.
Bất cứ ai có thể cho tôi biết lý do tại sao Stopwatch
sẽ chính xác hơn so với tính toán sự khác biệt giữa thời gian bắt đầu và kết thúc sử dụng System.DateTime.Now
?
BTW, tôi không nói về phần mười phần trăm. Tôi nhận được khoảng 15-20% sự khác biệt.
Dựa trên nhận xét của bạn về câu trả lời của Kelsey, tôi muốn được xem mã ghi lại thời gian bắt đầu và thời gian dừng. Một sự khác biệt 11 giây (rất lớn) là không có gì để làm với sự khác biệt chính xác của hai lớp, do đó, một cái gì đó khác đã được đi vào. –
Ngoài ra, nếu bạn chỉ quan tâm đến 'TimeSpan' giữa hai ngày, tốt hơn nên sử dụng' DateTime.UtcNow' thay vì 'DateTime.Now', vì bạn thường không muốn thay đổi giờ ban ngày và giờ địa phương khác các biến thể ảnh hưởng đến kết quả. –
@DanielPryden, Xem [Trường hợp chống lại DateTime.Now] (http://codeofmatt.com/2013/04/25/the-case-against-datetime-now/), làm cho điểm đó chính xác. +1 –