Tôi đã thấy ở một vài nơi gần đây mọi người nói rằng PHP có khả năng đệ quy kém. Gần đây tôi đã viết một hàm đệ quy php cho đồ thị traversal và thấy nó rất chậm so với java. Tôi không biết liệu điều này là do khả năng đệ quy của php hay vì php chậm hơn java nói chung.Khả năng xử lý đệ quy của PHP
Một số googling tiết lộ này (http://bugs.php.net/bug.php?id=1901)
[07 Tháng 8 1999 12:25 UTC] Zeev tại cvs chấm chấm php ròng
PHP 4.0 (Zend) sử dụng ngăn xếp cho dữ liệu chuyên sâu, thay vì sử dụng vùng chứa . Điều đó có nghĩa là các hàm đệ quy đệ quy đáng kể là thấp hơn các ngôn ngữ khác.
Đó là tương đối dễ dàng để kể Zend không sử dụng ngăn xếp cho dữ liệu này, và sử dụng heap thay vì - mà sẽ tăng đáng kể số lượng chức năng đệ quy có thể - trong giá tốc độ giảm. Nếu bạn đang quan tâm đến cài đặt như vậy, hãy để tôi biết, chúng tôi có thể thêm công tắc biên dịch biên dịch.
Điều gì có nghĩa là php sử dụng ngăn xếp cho dữ liệu chuyên sâu? Không php không thiết lập một ngăn xếp thời gian chạy? Ngoài ra, có thật là nói chung rằng đệ quy trong php chậm hơn nhiều so với các ngôn ngữ khác? Và bao nhiêu?
Cảm ơn!
Lỗi cổ đóng kín batman! – cgp
altCognito có một điểm. Bạn có đang sử dụng PHP4 không? Hay bạn đang trên 5? – fennec