Thời lượng là gì?

Thời lượng là lượng thời gian cần thiết để một quá trình hoàn thành. Để sử dụng một ví dụ trong thế giới thực: nếu bạn nhìn vào đồng hồ và ghi chú thời gian, sau đó ra ngoài đi bộ, sau đó quay lại và thấy rằng mười lăm phút đã trôi qua, thời gian đi bộ của bạn là mười lăm phút.

Máy tính chứa phần cứng đặc biệt để đo thời gian và hệ điều hành bao gồm các lệnh bạn có thể sử dụng để đo thời gian chương trình chạy.

Trong các máy tính hiện đại, thời gian có thể được đo bằng các đồng hồ khác nhau.

  • RTC (đồng hồ thời gian thực) sử dụng tinh thể thạch anh rung với tần số không đổi để theo dõi "thời gian của con người": năm, tháng, ngày, giờ, phút và giây. Tuy nhiên, tần số của nó (32768 Hz) quá chậm để đo các phân số thời gian nhỏ hơn 1/32768 của một giây. Các CPU hiện đại có thể hoàn thành một hoạt động nhanh hơn nhiều so với điều này, do đó RTC không thể đo chính xác thời lượng của một quy trình máy tính.
  • PIT (bộ đếm thời gian lập trình) là bộ đếm phần cứng có thể kích hoạt ngắt khi đạt được tổng số đếm nhất định. Một PIT phổ biến là mạch tích hợp Intel 8253, ban đầu được thiết kế để sử dụng với bộ xử lý Intel 8080. Nó hoạt động ở tần số 1.193182 MHz. Nó được sử dụng làm đồng hồ hệ thống bởi nhiều hệ điều hành, bao gồm cả Windows và Linux.
  • TSC (bộ đếm dấu thời gian) là một thanh ghi 64 bit nằm trên tất cả các CPU x86 hiện đại. Nó đếm các chu kỳ xung nhịp CPU riêng lẻ và lần đầu tiên được giới thiệu với dòng CPU Intel của Pentium. Lúc đầu, nó rất hữu ích trong việc cung cấp đồng hồ có thể đo các phân số thời gian nhỏ hơn RTC hoặc PIT. Tuy nhiên, nó yêu cầu CPU hoạt động ở tốc độ không đổi để có được phép đo chính xác. Các CPU mới hơn có thể thay đổi tần số (chẳng hạn như vào chế độ "turbo" để tăng tốc độ tạm thời hoặc giảm tốc độ xuống tốc độ thấp hơn khi không sử dụng để tiết kiệm năng lượng). Vì vậy, TSC, trong khi vẫn hữu ích cho các mục đích khác, không còn đáng tin cậy để đo thời gian không đổi.
  • HPET (bộ đếm thời gian chính xác cao) là bộ hẹn giờ phần cứng, được phát triển bởi Intel và Microsoft, có sẵn trên các máy tính được sản xuất sau năm 2005. Trong chipset CPU trên bo mạch chủ, HPET thường được đặt trên cầu nam. Nó đếm thời gian trong 64 bit ở mức tối thiểu 10 MHz và sử dụng ba bộ đếm "bộ so sánh" (32 bit hoặc 64 bit) để đạt được phép đo thời gian chính xác cao. HPET được sử dụng cho nhiều mục đích trong máy tính của bạn, chẳng hạn như đồng bộ hóa luồng âm thanh khi phát video.

Chính xác nhất trong các phương pháp thời gian này là HPET .

Làm thế nào để thời gian một quá trình trên máy tính của bạn

Có nhiều cách khác nhau để tìm hiểu một quá trình mất bao lâu để hoàn thành trên máy tính của bạn.

Trong Windows Command Prompt

Trong Windows Command Prompt, không có cách dựng sẵn nào để tính thời gian cho lệnh. Tuy nhiên, có ít nhất một cách đơn giản để tìm hiểu khi lệnh của bạn bắt đầu và dừng. Bạn có thể tạo một tệp bó sử dụng biến môi trường % time% . Chẳng hạn, nếu bạn tạo một tệp bó có tên mytime.bat và cung cấp cho nó các dòng sau:

 @echo tắt đặt dấu thời gian =% time %% * echo Bắt đầu:% timestart% echo Kết thúc:% time% 

Biến % time% là thời gian hiện tại và % * là mọi thứ sau tên lệnh. Vì vậy, đến thời điểm lệnh dir, ví dụ:

 thư mục thời gian của tôi c: \ 
 Ổ đĩa trong ổ C là Windows10 Số sê-ri Khối là 5CB6-BCD6 Thư mục của c: \ [ danh sách thư mục ... ] 28 Tệp (s) 4, 500, 506 byte 12 Dir (s) 23, 807, 946, 752 byte miễn phí Bắt đầu: 19: 31: 18.87 Kết thúc: 19 : 31: 18, 89 

Lưu ý: Phương pháp này không chính xác. Nó không đo thời gian CPU, chỉ có thời gian "đồng hồ treo tường". Vì vậy, các chương trình khác chạy trên máy tính của bạn sẽ ảnh hưởng đến thời gian hiển thị. Ngoài ra, thời lượng phải được tính toán thủ công, bằng cách trừ thời gian "bắt đầu" khỏi thời gian "kết thúc".

Trong Windows PowerShell

Trong Windows PowerShell, bạn có thể tìm hiểu chương trình sẽ mất bao lâu để chạy bằng cách bắt đầu với lệnh ghép ngắn Đo-Lệnh . Nói chung, nó được sử dụng như thế này:

 Lệnh-Lệnh { lệnh } 

Lệnh sẽ chạy, nhưng bất kỳ đầu ra nào sẽ không được hiển thị. Thay vào đó, đầu ra sẽ hiển thị thông tin về thời gian cần thiết để hoàn thành lệnh . Ví dụ:

 Lệnh-Lệnh {dir} 
 Ngày: 0 Giờ: 0 Phút: 0 giây: 0 Milliseconds: 14 Ticks: 142200 TotalDays: 1.64583333333333E-07 TotalHours: 3.95E-06 TotalMinutes: 0.000237 TotalSeconds: 0.01422 TotalMilliseconds 

Trong Linux

Trong Linux, bạn có thể thêm tiền tố vào bất kỳ lệnh shell nào bằng lệnh time để đo thời lượng của nó. Chẳng hạn, lệnh sau sẽ tìm thấy bất kỳ tệp nào trong hoặc bên dưới thư mục hiện tại có chứa từ hy vọng và báo cáo mất bao lâu để tìm thấy chúng:

 thời gian tìm / nhà / myuser -iname '* hy vọng *' 
 /home/myuser/files/computer-hope.jpg /home/myuser/backup/hope-backup.zip thực 0m0.298s người dùng 0m0.164s sys 0m0.088s 

Không giống như Lệnh-Lệnh, thời gian Linux hiển thị tất cả đầu ra từ lệnh đang được định thời gian. Sau đó, nó báo cáo ba lần: thời gian của người dùng (bao nhiêu thời gian lệnh thực sự đã chạy), thời gian sys (nhân đã dành bao nhiêu thời gian để thực hiện các tác vụ hệ thống cần thiết) và thời gian thực (tổng thời gian đã trôi qua).

  • Cách đặt hoặc thay đổi ngày giờ của máy tính.

Điều khoản phần cứng, điều khoản phần mềm