Lưu ý: time.clock() đã deprecated từ Python 3.3 và xóa bỏ từ Python 3.8. Bài viết này chỉ mang tính tham khảo lịch sử.
Hành vi khác nhau theo Platform
| Platform | time.time() | time.clock() (Python 2/3.0-3.2) |
| Unix/Linux | Wall-clock (UTC epoch) | CPU time của process hiện tại |
| Windows | Wall-clock (UTC epoch) | Wall-clock kể từ lần gọi đầu tiên (QueryPerformanceCounter) |
Khác biệt chính
- time.time(): Trả về giây từ epoch UTC. Bị ảnh hưởng nếu người dùng đổi giờ hệ thống (NTP, DST, manual).
- time.clock():
- Unix: CPU time (user + system) của process - tốt cho profiling thuật toán.
- Windows: Wall-clock kể từ lần gọi đầu tiên - tốt cho benchmark elapsed time.
- Thay đổi giờ hệ thống: Ảnh hưởng
time.time(), không ảnh hưởng time.clock() (trên Unix).
Khuyến nghị hiện đại (Python 3.3+)
| Mục đích | Hàm thay thế |
| Benchmark elapsed time (wall-clock) | time.perf_counter() |
| CPU time profiling | time.process_time() |
| Timestamp UTC | time.time() |
| Benchmark code snippet | timeit module |
Ví dụ so sánh (Python 2 / 3.0-3.2)
import time
# Wall-clock
t0 = time.time()
time.sleep(1)
t1 = time.time()
print("time.time():", t1 - t0) # ~1.0 giây
# CPU time (Unix) / Wall-clock since first call (Windows)
t0 = time.clock()
time.sleep(1)
t1 = time.clock()
print("time.clock():", t1 - t0) # Unix: ~0.0, Windows: ~1.0