Hướng dẫn dùng execution timer trong PHP
answer 195 Trên các hệ thống unixoid (và trong php 7+ trên Windows), bạn có thể sử dụng getrusage , như:
Lưu ý rằng bạn không cần tính toán chênh lệch nếu bạn sinh ra một cá thể php cho mọi thử nghiệm. 195 hữu ích 5 bình luận chia sẻ answer 447 Nếu tất cả những gì bạn cần là thời gian đồng hồ treo tường, thay vì thời gian thực hiện CPU, thì thật đơn giản để tính toán:
Lưu ý rằng điều này sẽ bao gồm thời gian mà PHP đang chờ đợi các tài nguyên bên ngoài như đĩa hoặc cơ sở dữ liệu, vốn không được sử dụng cho max_execut_time. 447 hữu ích 2 bình luận chia sẻ answer 89 Phiên bản ngắn hơn của câu trả lời của Talal7860
Như đã chỉ ra, đây là 'thời gian treo tường' chứ không phải 'thời gian cpu' 89 hữu ích 0 bình luận chia sẻ answer 68 Cách dễ nhất:
68 hữu ích 1 bình luận chia sẻ answer 31
31 hữu ích 2 bình luận chia sẻ answer 21 Tôi đã tạo một lớp ExecutTime ngoài câu trả lời phihag mà bạn có thể sử dụng ngoài hộp:
sử dụng:
21 hữu ích 3 bình luận chia sẻ answer 11 Gringod tại developerfusion.com đưa ra câu trả lời hay này:
Từ ( http://www.developerfusion.com/code/2058/determine-execut-time-in-php/ ) 11 hữu ích 0 bình luận chia sẻ answer 8 Cách rẻ nhất và bẩn nhất để làm điều đó chỉ đơn giản là thực hiện Một gợi ý: thời gian thực thi PHP của bạn hiếm khi sẽ là điều khiến cho kịch bản của bạn hết thời gian chờ. Nếu một kịch bản hết thời gian, nó hầu như sẽ luôn là một cuộc gọi đến một tài nguyên bên ngoài. Tài liệu microtime PHP: http://us.php.net/microtime 8 hữu ích 0 bình luận chia sẻ answer 8 Tôi nghĩ bạn nên nhìn vào xdebug. Các tùy chọn định hình sẽ giúp bạn bắt đầu tìm hiểu nhiều mục liên quan đến quá trình. http://www.xdebug.org/ 8 hữu ích 1 bình luận chia sẻ answer 6 Sẽ đẹp hơn nếu bạn định dạng đầu ra giây như:
sẽ in
Điều này tốt hơn nhiều
6 hữu ích 0 bình luận chia sẻ answer 2 Tôi đã viết một chức năng kiểm tra thời gian thực hiện còn lại. Cảnh báo: Đếm thời gian thực hiện là khác nhau trên Windows và trên nền tảng Linux.
Sử dụng:
2 hữu ích 0 bình luận chia sẻ answer 1 Bạn chỉ có thể muốn biết thời gian thực hiện các phần của tập lệnh của mình. Cách linh hoạt nhất để các bộ phận thời gian hoặc toàn bộ tập lệnh là tạo 3 hàm đơn giản (mã thủ tục được đưa ra ở đây nhưng bạn có thể biến nó thành một lớp bằng cách đặt bộ đếm thời gian lớp {} xung quanh nó và thực hiện một vài điều chỉnh). Mã này hoạt động, chỉ cần sao chép và dán và chạy:
1 hữu ích 0 bình luận chia sẻ answer 0 Để thay thế, bạn chỉ có thể đặt dòng này trong các khối mã của mình và kiểm tra nhật ký php, đối với các chức năng thực sự chậm, nó khá hữu ích:
Để gỡ lỗi nghiêm trọng, hãy sử dụng XDebug + Cachegrind, xem https://blog.nexcess.net/2011/01/29/diagnose-slow-php-execut-with-xdebug-and-kcachegrind/ 0 hữu ích 0 bình luận chia sẻ answer 0 Mở rộng hơn nữa về câu trả lời của Hamid, tôi đã viết một lớp trợ giúp có thể được bắt đầu và dừng lại nhiều lần (để định hình bên trong một vòng lặp).
0 hữu ích 0 bình luận chia sẻ answer 0 Để hiển thị phút và giây bạn có thể sử dụng:
0 hữu ích 0 bình luận chia sẻ answer 1 trả lại microtime (đúng) - $ _SERVER ["REQUEST_TIME_FLOAT"]; 1 hữu ích 0 bình luận chia sẻ |