5

Tôi có một không gian làm việc của Visual Studio 2005 Solution, lần lượt có 8 dự án được bao gồm trong đó. Tôi muốn cấu hình mã hoàn chỉnh (tất cả các dự án) và nhận được một số đo lường về các chu kỳ tuyệt đối được thực hiện bởi từng chức năng để thực hiện, hoặc ít nhất là phần trăm chu kỳ tiêu thụ.Mã cấu hình trong Visual Studio 2005

Tôi đã xem trợ giúp cho VS 2005 và cũng có các tùy chọn thiết lập dự án nhưng không thể tìm thấy bất kỳ gợi ý nào trên hwo để nhận thông tin tiểu sử. Bất kỳ trợ giúp nào về việc này đều có lợi.

-AD.

+0

profiling hoặc code-profiling? Tôi chỉ cần gắn thẻ lại một số câu hỏi từ mã-profiling để profiling, bởi vì profiling là thẻ phổ biến hơn ... –

Trả lời

0

Tôi sử dụng Jebrains profiler rất dễ sử dụng và hoạt động rất tốt.

2

Tôi đoán trình biên dịch sẵn có của Visual Studio 2005 đến onyl với Phiên bản dành cho nhà phát triển và Phiên bản Team. Tôi có một phiên bản chuyên nghiệp, có vẻ như doesnot có công cụ trình biên dịch sẵn có.

-AD

1

Chúng tôi sử dụng DevPartner với Visual Studio 2005. Nó cung cấp cho bạn phân tích hiệu suất của các dự án cụ thể trong giải pháp của bạn, bạn muốn xem xét. Chúng tôi cũng sử dụng nó để phân tích quản lý bộ nhớ và phân tích lỗi. Là công cụ thương mại, vì vậy nó không phải là miễn phí.

3

Nếu ứng dụng của bạn không đặc biệt xử lý chuyên sâu, redgate ANTS Profiler là lựa chọn tốt - thống kê theo từng dòng có thể khá tiện dụng và toàn bộ sản phẩm được thiết kế rõ ràng.

Nếu ứng dụng của bạn cần nhiều CPU để hoạt động bình thường, tuy nhiên, hầu hết các trình thu thập .NET trên thị trường sẽ không thể xử lý nó. Chỉ có hai mà tôi đã từng thấy rằng sẽ làm việc cho một ứng dụng trọng lượng thực sự nặng là JetBrains dotTraceYourKit. Cả hai đều rất giống nhau, điều này không có gì đáng ngạc nhiên, bởi vì YourKit dường như đã được bắt đầu bởi một cựu nhân viên của JetBrains. Cá nhân tôi thích dotTrace, nhưng điều đó có thể chỉ vì đó là những gì tôi đã sử dụng trước, và chưa bao giờ có lý do chính đáng để chuyển đổi.

Tôi đã thử nghiệm ANTS, AQTime, DevPartner, GlowCode, Borland OptimizeIt và Intel VTune, và tất cả đều có quá nhiều chi phí để xử lý một ứng dụng đòi hỏi. (VTune là một ngoại lệ có thể, nhưng nó quá phức tạp khủng khiếp để cấu hình và sử dụng mà tôi không bao giờ có thể tìm ra chính xác những gì nó có thể xử lý. Nó cũng rất tốn kém.)

0
Nếu ứng dụng của bạn cần rất nhiều CPU để hoạt động bình thường, tuy nhiên, hầu hết các profilers .NET trên thị trường sẽ không thể xử lý nó.

Tôi đã sử dụng phiên bản dùng thử của trình biên dịch RedGate Ant trên một thuật toán tối ưu hóa thường sử dụng tới 100% CPU trên một máy lõi đơn và mặc dù chậm nó quản lý để thông qua và báo cáo tất cả những gì tôi cần biết. Công cụ cực kỳ hữu ích. Tôi tự hỏi bạn đã chạy loại thuật toán nào trên lược tả của Ant.

Có ai đã sử dụng hồ sơ VS không?

2

Tôi đã sử dụng cả trình lược tả trong DevPartner của Compuware (Tôi vẫn muốn gọi nó là “TrueTime”) và Rational's Quantify. Tôi luôn thích Định lượng tốt hơn, nhưng khi tôi chuyển giữa các công ty DevPartner thường là “tiêu chuẩn”.

Cả hai đều đắt tiền, nhưng họ (dường như) thêm rất nhiều giá trị mà bất kỳ cửa hàng thương mại nào cũng không gặp vấn đề gì khi đầu tư vào một số chỗ ngồi.

Định lượng không yêu cầu xây dựng lại đặc biệt của dự án - điều này thật tuyệt vời. Nó cũng bị rơi ít hơn (không nói nhiều, nó có vấn đề riêng). DevPartner cũng có xu hướng phá vỡ như mỗi phiên bản mới của Visual Stuido đã được phát hành (có lẽ điều này là tốt hơn bây giờ?). Mua thỏa thuận bảo trì hàng năm nếu bạn đi theo cách này.

Điều đó nói rằng, tôi thường chỉ viết một lớp ghi nhớ thời gian xây dựng và rút ra (tệp nhật ký) thời gian trôi qua trong destructor của nó. Tôi đã sử dụng QueryPerformanceCounter. Tôi muốn lớp này ở đầu hàm tôi muốn thời gian. Bạn có thể làm cho nó trở thành một macro, sử dụng bộ tiền xử lý để bao gồm lớp này chỉ dưới một bản xây dựng đặc biệt…

2

Tôi khuyên bạn nên EQATEC profiler cũng bao gồm trong trang của nó một dấu vết.

Cũng miễn phí và dễ sử dụng.

alt text http://www.eqatec.com/tools/profiler/profiler-logo.gif

+0

Nó chỉ cấu hình thời gian dành cho mỗi phương thức và * không * cho mỗi dòng. Nhưng nó hoàn toàn miễn phí. – dummy

+0

Tôi đoán nó * là * miễn phí – embert

+0

Thật vậy, nó hoàn toàn miễn phí. –

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