2009-03-06 32 views
8

Tôi mới làm quen với điều này và đang cố gắng tìm hiểu.Hồ sơ là gì?

  • Cấu hình là gì?
  • Các công cụ miễn phí khác nhau dành cho lược tả .NET, Java EE là gì?
  • Javascript có thể được lược tả không?
  • Nếu có, theo công cụ nào?
  • Và cuối cùng, các profilers này hoạt động như thế nào?

Trả lời

11

Đo lường hồ sơ các phần khác nhau của mã chạy bao lâu. Javascript có thể được cấu hình với con đom đóm: http://getfirebug.com/js.html

+0

+1 để đề cập đến firebug và giải thích hồ sơ. – Ramesh

5

profiling là đo thời gian thực hiện và tương quan với các lớp/phương pháp/chức năng khác nhau. (xem liên kết tôi đã cung cấp cho trang wikipedia để biết một số bài bình luận về cách profilers có thể hoạt động)

3

Cách bạn thường sẽ sử dụng hồ sơ của bạn như sau:

  1. Khởi động profiler, cháy lên ứng dụng của bạn bằng cách sử dụng hồ sơ.
  2. Sử dụng ứng dụng của bạn một thời gian hoặc chỉ các tính năng trong ứng dụng mà bạn đã xác định là tắc nghẽn và muốn tối ưu hóa.
  3. Khi đơn đăng ký của bạn bị đóng (hoặc đôi khi thậm chí trước đó), trình hồ sơ có thể trình bày cho bạn chi tiết về thời gian thực hiện cho mỗi chức năng. Một số cũng sẽ cho phép bạn để có được một sự cố của thời gian thực hiện trên mỗi dòng hoặc chức năng trong một trong các chức năng này, do đó bạn có thể thấy nơi cpu hầu hết thời gian đã được sử dụng lên bằng cách sử dụng một cách tiếp cận từ trên xuống.
  4. Thông thường, một số chức năng trong ứng dụng của bạn sẽ mất nhiều thời gian để thực thi. Sau khi xem xét các kết quả lược tả của bạn, bạn sẽ có thể xác định chúng và loại bỏ các vấn đề về hiệu năng.
4

Hãy suy nghĩ về trình biên dịch là các trình gỡ rối cho các lỗi thời gian thực thi. Hồ sơ được thực hiện rất nhiều như debuggers quá, ngoại trừ rằng thay vì cho phép bạn dừng chương trình và poke xung quanh, họ chỉ đơn giản là để cho nó chạy và theo dõi bao nhiêu thời gian được chi tiêu trong tất cả các phần của chương trình. Điều này đặc biệt hữu ích nếu bạn có một số mã chạy chậm hơn bạn cần nó chạy, vì bạn có thể tìm ra chính xác nơi mọi thời gian đang diễn ra và tập trung nỗ lực vào việc sửa chữa nút cổ chai đó.

Nhiều nhà phát triển tin rằng bạn nên không bao giờ mã tối ưu hóa tay mà không sử dụng trình thu thập thông tin.

+0

+1 để giải thích cách profilers hoạt động – Ramesh

3

Dưới đây là một số profilers NET để bạn có thể thử (miễn phí):

Tôi không phải là một fan hâm mộ lớn trong số này.Tôi muốn giới thiệu một trong những sản phẩm thương mại để có được kết quả tốt nhất:

Ngoài ra hãy xem Brad Adams bài đăng trên blog Profilers for the CLR.NET Application Profiler.

Cá nhân tôi thích dotTrace.

+0

+1 để liệt kê một số trình biên dịch tốt. – Ramesh

0

Wikipedia nói:

Trong công nghệ phần mềm, phân tích hiệu suất, phổ biến hơn ngày nay được gọi là hồ sơ, là điều tra về hành vi của một chương trình sử dụng thông tin thu thập được như chương trình thực thi

Tiếp tục đọc tại đâyhttp://en.wikipedia.org/wiki/Performance_analysis.

Vì vậy, về công cụ javascript Firebug (http://getfirebug.com/index.html#install) là một tùy chọn xuất sắc.

+1

Điều này khiến tôi phát điên khi phân tích hiệu suất và sử dụng profilers được coi là giống nhau - hay đúng hơn, việc đo lường hiệu suất và chẩn đoán hiệu suất được coi là giống nhau. –

0

Hồ sơ là một kỹ thuật để đo thời gian thực hiện và số lần gọi các thủ tục.

Tuy nhiên, đó không phải là cách tốt nhất hoặc thậm chí nhất thiết phải xác định những thứ gây lãng phí thời gian trong mã của bạn. Look here.


Đối với một bài viết trên Wikipedia khác nhau, hãy thử http://en.wikipedia.org/wiki/Performance_tuning#Bottlenecks

Đối với một đơn giản như thế nào-to, hãy thử http://www.wikihow.com/Optimize-Your-Program%27s-Performance

0

Profiling là thước đo thời gian thực hiện ở cấp phương pháp (thống kê chức năng) cũng như bộ sưu tập thông tin mức thời gian chạy như tiêu thụ bộ nhớ, bộ xử lý, luồng và số lớp (số liệu thống kê phi chức năng) được tải trong một khoảng thời gian mà ứng dụng đang chạy. Nó nằm trong phân tích hiệu suất (bộ sưu tập thống kê chức năng và phi chức năng) của ứng dụng được đề cập khi được chạy bởi một người dùng. JConsole là một trong những công cụ tích hợp để lập hồ sơ các ứng dụng Java.

Các vấn đề liên quan