swarm-support
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: profiling


From: Christopher Mackie
Subject: RE: profiling
Date: Fri, 31 Jan 2003 02:06:42 -0500

As for Swarm++, I've noticed elist threads mentioning this, but haven't had a 
chance to try it out yet.  I do think Swarm.NET would be a very useful 
direction if the goal is to maximize the potential user base.  I'm told you can 
get .NET (Rotor) on RedHat, BSD, and OS-X now.  I guess Heatbugs++ or Heatbugs# 
on Linux or a G4, or even Linux/OS-X Heatbugs.VB, strange as that sounds, is 
actually within our grasp.    
 
Re: profiling, I agree with what I take to be your general point: if I were 
doing nothing but Swarm programming, I'd find a profiler that got the most out 
of gcc and ObjC objects--it would simplify the setup and ensure max information 
for the tuning process.  Quantify does do UNIX and gcc (though I've yet to see 
a profiler that brags specifically about ObjC capabilities--maybe an OS-X 
specific one?).  It's really a C/C++/Java profiler that also does VisualXXX and 
.NET, not a specifically "Visual C++", etc., profiler (the fact that there's a 
UNIX version proves that it isn't VisualC only).  But the marketing materials 
cloud the distinction--deliberately, I think, in order to pitch the Windows 
product as tightly integrated with Visual Studio (which it is).
 
Even under Windows, time spent in Swarm/Cygwin/gcc is not invisible, nor is 
time spent in an object compiled with a non-Microsoft compiler.  You don't need 
source, or to recompile, so third-party objects are accessible--Quantify has 
*very* impressive forensic internals (they should be impressive: they take a 
long time to initialize, and are huge resource hogs).  You do get more info 
from objects compiled in one of the languages it 'officially' supports, 
including standard C/C++, but not ObjC per se.  Under UNIX, you should do even 
better with Swarm details, since the compiler focus is on cc/gcc, but I haven't 
had the chance to test that out.   
 
--Chris

        -----Original Message----- 
        From: Marcus G. Daniels [mailto:address@hidden 
        Sent: Thu 1/30/2003 10:23 AM 
        To: address@hidden 
        Cc: 
        Subject: Re: profiling
        
        

        Return-Path: address@hidden
        X-OriginalArrivalTime: 30 Jan 2003 15:25:44.0353 (UTC) 
FILETIME=[DB29A910:01C2C873]
        
        Christopher Mackie wrote:
        
        >I don't play with ObjC-Swarm, so I don't have anything useful to 
contribute: I'm sure some longtime Swarmers will.  I imagine I'd use gprof.
        >
        >My current favorite profiler is one my employer gives me for free:  
Rational's Quantify.  *Very* nice--does Java/C/C++/VB/.NET, which is handy b/c 
the current project (which has needed major tweaking) is all C++ and lives in 
Visual Studio.NET.
        > 
        >
        Keep in mind that even with Java/Swarm the kernel is the same, and that
        must be compiled with GCC and use the GNU Objective C runtime.   How
        would Quantify deal with DLLs from a non-Microsoft compiler?  Does it
        use instrumentation installed by the Microsoft compiler?  Would the
        result be that time spent in Swarm would be invisible?
        
        By the way, Swarm can generate IDL and C++ interface stubs right now
        (for XPCOM).   With a little work this could be adapted for the
        freely-available .NET SDK.  The IDL wouldn't be needed for .NET, and the
        adapted C++ stubs could link against libobjc runtime functions compiled
        in GCC with stdcall attributes.  Presto, Swarm in .NET.
        
        
                          ==================================
           Swarm-Support is for discussion of the technical details of the day
           to day usage of Swarm.  For list administration needs (esp.
           [un]subscribing), please send a message to <address@hidden>
           with "help" in the body of the message.
        
        

<<winmail.dat>>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]