Sự khác biệt giữa 'bản thân' và 'tổng số' trong Hồ sơ CPU Chrome của JS


229

Sự khác biệt giữa các cột 'tự' và 'tổng' trong cấu hình CPU Chrome của mã Chrome là gì?

nhập mô tả hình ảnh ở đây


13
Thời gian tự gần như không bao giờ hữu ích trong phần mềm nghiêm trọng, vì gần như toàn bộ thời gian dành cho việc gọi hệ thống / thư viện / DB / IO, v.v., vì vậy bộ đếm chương trình dành rất ít thời gian thực tế, tính theo phần trăm, trong mã của bạn, trừ khi bạn xảy ra để viết một số loại vòng lặp chặt chẽ. Nó có thể cho bạn biết rất nhiều thứ được sử dụng trong một thói quen hệ thống, nhưng điều đó không tốt cho bạn. Bạn cần biết phần nào trong mã của bạn gây ra nhiều thời gian để sử dụng.
Mike Dunlavey

Nếu một chức năng bị chặn bằng cách gọi đối tượng tích hợp (như gửi XMLHttpRequest không đồng bộ), thời gian tự có thể rất hữu ích. Trong các trường hợp như vậy, các chức năng này, trong khi bị tắc nghẽn, có thể không hiển thị ở đầu các phép đo tổng thời gian.
Konstantin

Câu trả lời:


303

self là bao nhiêu thời gian đã dành để làm công việc trực tiếp trong chức năng đó.

total là bao nhiêu thời gian đã dành cho chức năng đó và trong các chức năng mà nó được gọi.


11
Vì vậy, bản thân sẽ chỉ là báo cáo nội tuyến, và không phải chức năng gọi? Và tổng cộng là tất cả các mã thực thi bên trong cuộc gọi?
CoolUserName

42
Ngẫu nhiên, vì mọi người dường như đang tìm thấy đây là một câu trả lời hữu ích: Điều này đúng với các trình biên dịch nói chung, không chỉ trong Chrome.
duskwuff -inactive-

2
Điều gì sẽ xảy ra nếu một hàm gọi chính nó đệ quy? Làm thế nào bạn sẽ đọc chính xác sau đó?
David Limkys

3
Liên kết tài liệu ở đây (tại phần 'Xem chi tiết chức năng') . Self time: Mất bao lâu để hoàn thành việc gọi hàm hiện tại, chỉ bao gồm các câu lệnh trong chính hàm đó, không bao gồm bất kỳ hàm nào mà nó gọi. Total time: Thời gian cần thiết để hoàn thành lệnh gọi hiện tại của hàm này và bất kỳ hàm nào mà nó gọi.
Iman Mahmoudinasab

Và những gì ngữ nghĩa của tỷ lệ phần trăm hiện được hiển thị dọc theo giá trị bản thân và tổng thời gian? Tôi có nghĩa là nó là một phần trăm của những gì trong những gì?
jayarjo

10

Self Time: Đối với một hàm, là lượng thời gian để thực thi mã trong hàm (các câu lệnh nội tuyến). Kiểm tra hiệu suất của các chức năng riêng lẻ được gọi là phân tích từ dưới lên.

Tổng thời gian: Đối với một chức năng, là thời gian tự của chức năng đó và thời gian tự của tất cả các chức năng mà chức năng đó gọi. Kiểm tra hiệu suất của các chức năng cùng với calle của chúng là phân tích từ trên xuống.

Lưu ý: Chỉ vì một chức năng có thời gian tự cao, không có nghĩa là chính chức năng đó không hiệu quả. Nó cũng quan trọng để xem xét chức năng đó được gọi bao nhiêu lần.

Bài viết của Intel

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.