Làm cách nào để tôi có thể chuẩn bị một số mã PHP nhất định? Tôi có thể sử dụng tính giờ để tính toán sự khác biệt, tôi chỉ không chắc chắn nếu nó là giải pháp tốt nhất hiện có.Đo lường hiệu suất PHP
Trả lời
Hãy xem XDebug Profiler để đánh giá hiệu suất và hơn thế nữa.
Profiler Xdebug là một công cụ mạnh mẽ cung cấp cho bạn khả năng phân tích mã PHP của bạn và xác định tắc nghẽn hoặc thường thấy mà phần của mã của bạn là chậm và có thể sử dụng một tăng tốc độ.
Và nếu bạn đang sử dụng Linux, hãy sử dụng kcachegrind để trực quan hóa các tệp hồ sơ kết quả. –
XDebug là mát mẻ nhưng nếu bạn không muốn cài đặt thư viện này, bạn có thể thử như sau:
gì tôi sử dụng để xác định vị trí cổ chai có thể là:
$benchmark_start = microtime(true);
// Code goes here
$benchmark_stop = microtime(true);
$benchmark_total = $benchmark_stop - $benchmark_start;
echo "The script took ". $benchmark_total." seconds";
phức tạp hơn một chút Ví dụ về hồ sơ thủ công sử dụng bộ hẹn giờ
hoạt động hoàn hảo cho tôi, đặc biệt khi tôi được yêu cầu sắp xếp mọi thứ trên một số máy chủ trực tiếp chỉ với quyền truy cập FTP.
không cần phải đề cập rằng việc định hình là cách quan trọng hơn (và hữu ích) trên máy chủ trực tiếp, thay vì trên máy tính của nhà phát triển nhà kính.
$TIMER['start']=microtime(TRUE);
// some code
$query="SELECT ...";
$TIMER['before q']=microtime(TRUE);
$res=mysql_query($query);
$TIMER['after q']=microtime(TRUE);
while ($row = mysql_fetch_array($res)) {
// some code
}
$TIMER['array filled']=microtime(TRUE);
// some code
$TIMER['pagination']=microtime(TRUE);
if ('127.0.0.1' === $_SERVER['REMOTE_ADDR']) { //I set my IP here
echo "<table border=1><tr><td>name</td><td>so far</td><td>delta</td><td>per cent</td></tr>";
reset($TIMER);
$start=$prev=current($TIMER);
$total=end($TIMER)-$start;
foreach($TIMER as $name => $value) {
$sofar=round($value-$start,3);
$delta=round($value-$prev,3);
$percent=round($delta/$total*100);
echo "<tr><td>$name</td><td>$sofar</td><td>$delta</td><td>$percent</td></tr>";
$prev=$value;
}
echo "</table><>";
}
Tôi hầu như không gọi điều này phức tạp. – raveren
ồ vâng, bạn nói đúng! thiên tài sẽ là từ thích hợp hơn –
- 1. Java Đo lường hiệu suất
- 2. Đo lường hiệu suất của khách hàng
- 3. Đo lường hiệu suất Javascript (jQuery) và các phương pháp hay nhất (không tải thời gian)
- 4. đo lường hiệu suất của một chương trình thông thường-lisp
- 5. Làm cách nào để sử dụng bộ lọc để đo lường hiệu suất?
- 6. Đo lường trên trang web
- 7. cách đo hiệu suất ngủ đông?
- 8. Phạm vi đo lường tài liệu đo lường với Javadoc và Ant
- 9. Đo hiệu suất của thuật toán phân loại
- 10. Cách tạo bộ hẹn giờ có độ phân giải cao trong Linux để đo lường hiệu suất chương trình?
- 11. Làm cách nào để đo lường hiệu suất của trang web javascript nặng trên máy tính khách?
- 12. Đơn vị đo lường API trong Java?
- 13. Đo lường chiến dịch với BroadcastReceiver riêng
- 14. GetTickCount() thực sự đo lường điều gì?
- 15. Hiệu suất mảng PHP
- 16. Cách đo hiệu suất của chuỗi được quản lý trong .NET
- 17. Cách đo Hiệu suất Máy tính Từ xa?
- 18. Tại sao các phép đo hiệu suất lại khác nhau?
- 19. Đo và giám sát Node.JS hiệu suất máy chủ
- 20. Hiệu suất của Bộ đếm hiệu suất
- 21. Cách đo hiệu suất mạng (cách thức giao thức mạng điểm chuẩn)
- 22. Đo lường ngẫu nhiên tốt và đơn giản
- 23. Làm thế nào để đo lường sự tranh chấp khóa?
- 24. SONAR - Phạm vi mã đo lường bằng Cobertura
- 25. Sử dụng VS2010 Profiler để đo lường bộ nhớ
- 26. Làm thế nào để đo lường sự tranh chấp mutex?
- 27. Phạm vi đo lường tài liệu với Doxygen
- 28. Đo lường khả năng kiểm tra của mã C#
- 29. Đơn vị đo lường được thể hiện như thế nào?
- 30. Thống kê quá trình đo lường trong Linux
Tất cả chúng ta đều không sống trong thế giới tốt nhất. Bộ hẹn giờ khá dễ sử dụng và có tính di động cao. Nó sẽ đưa bạn một vài phút để xác định vị trí một nút cổ chai. –