473,570 Members | 3,036 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

C# App Profiling

I'm posting this here and on the VS Forum (C#) and on XP Embedded ng

I have an XPe system that runs a .NET (C#) app that works with external hw
via USB ports. The app consists of a number of C# DLLs plus wrappers around
the hw dll APIs (ie platform invoke.

On a 1 Gig system the system maxes out at 100% CPU usage.
On a 1.9 Duo system it runs at about 33% (total) CPU usage.

The code written by someone else needs some profiling etc.
I suspect there are some busy waits that are polling for events rather than
the sw being event driven. I am about to try to improve the app.

Q What tools should I use to profile the app. Any whitepapers or other
references?

--
David Jones
Software Developer
(Embeddded Systems)
Victorian Partnership of Advanced Computing
Melbourne, Victoria Australia
Oct 14 '07 #1
7 4472
David Jones vpac org<davidj <ATDOTwrote:
Q What tools should I use to profile the app. Any whitepapers or other
references?
The profiler in Visual Studio Team Edition is good. It is not in Pro
edition.

Red Gate software kindly gave me a trial copy of their ANTS Profiler. I
discovered that it does not support ILX and just crashed on all but the
most trivial of F# programs as a consequence. Hopefully they'll fix it soon
because it looked like a really nice program.

--
Dr Jon D Harrop, Flying Frog Consultancy
http://www.ffconsultancy.com/products/?u
Oct 14 '07 #2
bob

Hi,
Red Ant has already been suggested, you may want to try JetBrains
Profiler also.
Bob
On Sat, 13 Oct 2007 19:09:00 -0700, David Jones vpac org<davidj
<ATDOTwrote:
>I'm posting this here and on the VS Forum (C#) and on XP Embedded ng

I have an XPe system that runs a .NET (C#) app that works with external hw
via USB ports. The app consists of a number of C# DLLs plus wrappers around
the hw dll APIs (ie platform invoke.

On a 1 Gig system the system maxes out at 100% CPU usage.
On a 1.9 Duo system it runs at about 33% (total) CPU usage.

The code written by someone else needs some profiling etc.
I suspect there are some busy waits that are polling for events rather than
the sw being event driven. I am about to try to improve the app.

Q What tools should I use to profile the app. Any whitepapers or other
references?
Oct 15 '07 #3
On Tue, 16 Oct 2007 10:57:16 +1300, bob
<st************ **@cutthis.adri ley.co.nzwrote:
>
Hi,
Red Ant has already been suggested, you may want to try JetBrains
Profiler also.
Bob
On Sat, 13 Oct 2007 19:09:00 -0700, David Jones vpac org<davidj
<ATDOTwrote:
>>I'm posting this here and on the VS Forum (C#) and on XP Embedded ng

I have an XPe system that runs a .NET (C#) app that works with external hw
via USB ports. The app consists of a number of C# DLLs plus wrappers around
the hw dll APIs (ie platform invoke.

On a 1 Gig system the system maxes out at 100% CPU usage.
On a 1.9 Duo system it runs at about 33% (total) CPU usage.

The code written by someone else needs some profiling etc.
I suspect there are some busy waits that are polling for events rather than
the sw being event driven. I am about to try to improve the app.

Q What tools should I use to profile the app. Any whitepapers or other
references?
The JetBrains profiler, DotTrace,is actually pretty good ...

--
http://bytes.thinkersroom.com
Oct 16 '07 #4
Rad [Visual C# MVP] wrote:
The JetBrains profiler, DotTrace,is actually pretty good ...
Does it support ILX, i.e. other .NET languages?

--
Dr Jon D Harrop, Flying Frog Consultancy
http://www.ffconsultancy.com/products/?u
Oct 17 '07 #5
On Wed, 17 Oct 2007 08:01:36 +0100, Jon Harrop <jo*@ffconsulta ncy.com>
wrote:
>Rad [Visual C# MVP] wrote:
>The JetBrains profiler, DotTrace,is actually pretty good ...

Does it support ILX, i.e. other .NET languages?
Indeed. Profilers don't deal with the program source code itself, but
rather with the compiled executable or class library.

Thus it does not matter what .NET language the application was written
with.

Although having said that having the source code is always good
because you can better analyze the profiler results and establish
problematic code or methods.

I wrote a short tutorial you can take a look at:

http://thinkersroom.com/bytes/2007/1...pplications-i/

--
http://bytes.thinkersroom.com
Oct 18 '07 #6
Rad [Visual C# MVP] wrote:
On Wed, 17 Oct 2007 08:01:36 +0100, Jon Harrop <jo*@ffconsulta ncy.com>
wrote:
>>Does it support ILX, i.e. other .NET languages?

Indeed. Profilers don't deal with the program source code itself, but
rather with the compiled executable or class library.

Thus it does not matter what .NET language the application was written
with.
That is not true of the ANTS profiler by RedGate software, which breaks on
the tail calls (ILX) generated by the F# compiler. I'd like to know if the
same is true of the profiler you cited.

--
Dr Jon D Harrop, Flying Frog Consultancy
http://www.ffconsultancy.com/products/?u
Oct 18 '07 #7
On Thu, 18 Oct 2007 14:59:30 +0100, Jon Harrop <jo*@ffconsulta ncy.com>
wrote:
>Rad [Visual C# MVP] wrote:
>On Wed, 17 Oct 2007 08:01:36 +0100, Jon Harrop <jo*@ffconsulta ncy.com>
wrote:
>>>Does it support ILX, i.e. other .NET languages?

Indeed. Profilers don't deal with the program source code itself, but
rather with the compiled executable or class library.

Thus it does not matter what .NET language the application was written
with.

That is not true of the ANTS profiler by RedGate software, which breaks on
the tail calls (ILX) generated by the F# compiler. I'd like to know if the
same is true of the profiler you cited.
Really? Wow. I didn't know that.
Hmm.

Let me investigate DotTrace and see whether it trips up as well.

--
http://bytes.thinkersroom.com
Oct 19 '07 #8

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
3698
by: James Sleeman | last post by:
Hi all, I'm trying to find a performance problem I've got in a reasonably large system I'm writing. Anyway, I've had a look around at the offerings for profiling php requests... xdebug : seems to make my requests just hit the 30 sec timeout all the time. apd : segfaults every time I make a request dbg : no front-end for linux (I looked...
0
464
by: Irmen de Jong | last post by:
Okay I tried some profiling, but am uncertain about the results I'm getting. They confuse the hell out of me. I have a test program (see below) that essentially has two loops that get called repeatedly. One that is an idle wait loop, and one that is a busy-wait CPU hogger. I wanted to see what profiling results that would give. The total...
3
10975
by: Richard Wallace | last post by:
Hello all, I'm looking for some input on the best tools to use for profiling multithreaded C++ code developed on GNU/Linux and compiled using gcc-3.1. More specifically, the distro in use is RH 7.2 running kernel 2.4.7 with SMP. The box has dual processors. Some of the options I've found are gprof - standard GNU profiler that comes...
6
3738
by: cournape | last post by:
Hi there, I have some scientific application written in python. There is a good deal of list processing, but also some "simple" computation such as basic linear algebra involved. I would like to speed things up implementing some of the functions in C. So I need profiling. I first tried to use the default python profiler, but profiling my...
13
2255
by: Jens Theisen | last post by:
Hello, I want to apologise in advance for this being off topic. It's not neither A C nor a C++ question, but to profiling in general, though I my chances are best to find the answer in the C/C++ community. I have a C++ program to profile and went about it by producing large history files of calling dependencies with associated times. It...
0
2556
by: EdgarSanchez | last post by:
Hello Group, This mail is intended to announce the release of the newest version of SpeedTrace .NET Tracing & Profiling tool, SpeedTrace Pro. This tool is an improvement of the previous version that was launched in this group last year. SpeedTrace Pro has come up with the following new features: · Support .NET Framework 2.0 (Windows...
1
2026
by: =?UTF-8?B?TWFydGluIFDDtnBwaW5n?= | last post by:
Hello, I am searching for a good profiling tool for C# which can be easily embedded into Visual Studio. My objective is to measure the times and counts of every method in my program. If used the Coverage Tool of TestDriven.Net (http://www.testdriven.net/) which worked fine if I have defined any Unit test-cases.
0
2570
by: L'eau Prosper Research | last post by:
Press Release: L'eau Prosper Research (Website: http://www.leauprosper.com) releases new TradeStation 8 Add-on - L'eau Prosper Market Manipulation Profiling Tools Set. L'eau Prosper Market Manipulation Profiling Tools Set is a set of advanced tools that help Serious Traders analyze the market direction, market manipulative behavior and...
0
2339
by: L'eau Prosper Research | last post by:
NEW TradeStation 8 Add-on - L'eau Prosper Market Manipulation Profiling Tools Set By L'eau Prosper Research Press Release: L'eau Prosper Research (Website: http://www.leauprosper.com) releases new TradeStation 8 Add-on - L'eau Prosper Market Manipulation Profiling Tools Set. L'eau Prosper Market Manipulation Profiling Tools Set is a...
9
1795
by: Peter Duniho | last post by:
I'm especially hoping Ben Voigt and/or Bob Powell see this (I saw their names on the m.p.d.f.performance newsgroup :) ) I would have posted to the performance newsgroup, but I see very little on there that actually seems to relate to the _tools_ per se while this newsgroup is actually somewhat related to the tools, and most of the useful...
0
7732
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main...
0
7956
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. ...
0
8152
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that...
0
8000
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the...
0
5247
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert...
0
3684
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in...
1
2136
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
1
1238
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
974
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.