Cách tốt nhất để lập hồ sơ thực thi javascript là gì? [đóng cửa]


94

Có một trình biên dịch tốt cho javascript không? Tôi biết rằng firebug có một số hỗ trợ cho mã cấu hình. Nhưng tôi muốn xác định số liệu thống kê trên quy mô dài hơn. Hãy tưởng tượng bạn đang xây dựng rất nhiều mã javascript và bạn muốn xác định đâu là điểm nghẽn thực sự trong mã. Lúc đầu, tôi muốn xem thống kê hồ sơ của mọi hàm javascript và thời gian thực thi. Tiếp theo sẽ là bao gồm các hàm DOM. Điều này kết hợp với các hành động làm chậm mọi thứ như thao tác trên cây kết xuất sẽ rất hoàn hảo. Tôi nghĩ điều này sẽ mang lại ấn tượng tốt nếu hiệu suất bị giết trong mã của tôi, trong quá trình chuẩn bị DOM hoặc trong các bản cập nhật cho cây / hình ảnh kết xuất.

Có cái gì đó gần với những gì tôi muốn không? Hay đâu sẽ là công cụ tốt nhất để đạt được nhiều nhất những gì tôi đã mô tả? Nó có phải là một trình duyệt tự biên dịch cộng với công cụ javascript được nâng cao bởi chức năng hồ sơ không?


Nếu NODE_ENV=production node --prof app.jskhông, hãy xem stackify.com/node-js-profilers hoặc softwarerecs.stackexchange.com để biết các lựa chọn thay thế.
Cees Timmerman

Câu trả lời:


63

Firebug

Firebug cung cấp một báo cáo hồ sơ rất chi tiết. Nó sẽ cho bạn biết mỗi lần gọi phương thức mất bao lâu trong một bảng khổng lồ (chi tiết).

console.profile([title])
//also see
console.trace()

Bạn cần gọi console.profileEnd ()để kết thúc khối hồ sơ của mình. Xem API bảng điều khiển tại đây: http://getfirebug.com/wiki/index.php/Console_API

Blackbird

Blackbird ( trang chính thức ) cũng có một hồ sơ đơn giản hơn (có thể tải xuống từ đây )


Tôi đã viết rằng tôi biết firefox. Tôi muốn có thêm số liệu thống kê từ trình duyệt ảnh hưởng đến việc thực thi javascript.
Norbert Hartl

1
Ditto trên Firebug và bạn có thể cấu hình trực tiếp từ bảng điều khiển nếu bạn không muốn viết mã nó.
Chris B

1
Firebug chỉ là công cụ tốt nhất mà bạn sẽ nhận được.
Sasha Chedygov

1
Điều tương tự cũng hoạt động trong Trình kiểm tra Web Safari
olliej

9
Firebug là tốt và tất cả, nhưng tôi không thể tin rằng có rất nhiều người ở đây hô vang "Firebug, Firebug!" ngay sau khi OP nói rõ ràng rằng anh ta muốn lập hồ sơ mã của mình từ nhiều trình duyệt.
JMTyler

20

Công cụ dành cho nhà phát triển của Chrome có một hồ sơ được tích hợp sẵn.


2
+1, Speed ​​Tracer là tốt và điều quan trọng (như OP đã đề cập) phải lập hồ sơ mã của bạn trong không chỉ Firefox để xem ảnh hưởng của trình duyệt riêng lẻ như thế nào.
JMTyler


4

Firebug + Firefox là phải có. Và thanh công cụ dành cho nhà phát triển của IE 8 cũng được tích hợp sẵn một hồ sơ (IE 8 đi kèm với thanh công cụ dành cho nhà phát triển).


4

Trình kiểm tra web của Safari 4 cũng bao gồm một hồ sơ (mặc dù phiên bản trong nightlies được cải tiến với các lệnh gọi hàm đệ quy). Trình kiểm tra web cũng hỗ trợ các API hồ sơ của Firebug.


4

Đối với JavaScript, XmlHttpRequest, Truy cập DOM, Thời gian Hiển thị và Lưu lượng mạng cho IE6, 7 & 8, bạn có thể sử dụng Phiên bản dynaTrace AJAX MIỄN PHÍ


làm ơn, hướng dẫn cách cài đặt nó dưới dạng addon / extension trong trình duyệt.
T.Todua
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.