On 8 Nov 2010, at 20:45, Mathieu Bouchard wrote:

> On Sun, 7 Nov 2010, Hans-Christoph Steiner wrote:
> 
>> As far as I understand it, Pd only does the 20% idle thing when its not 
>> really doing anything.  So if Pd is working hard, it'll stop spending 20% of 
>> the CPU idling.
> 
> It's not a real idle thing, it's a 20 % usage reported by 'top' while the 
> user assumes that Pd shouldn't be doing anything. For example, you open pd, 
> open no patches, and then 'top' reports 20 % usage and the computer gets a 
> bit warmer than when Pd is not open.
> 
> Can anyone run Apple Shark on this, so that we know what it is doing when 
> it's doing that ?
> 

pd doing 'nothing':

        10.6%   10.6%   mach_kernel     ml_set_interrupts_enabled
        9.4%    9.4%    DspFuncLib      
iZRedist::DSP::Denoise::processWithLookahead(int, float* const*, int)
        6.7%    6.7%    DspFuncLib      
iZRedist::DSP::FftImpl::FftComplex_InPlace(iZRedist::DSP::Cmplx*) const
        6.3%    6.3%    DspFuncLib      
DspFuncHelper::process_IIR_xmm_LR(float*, float*, float*, float*, unsigned int)
        3.8%    3.8%    DspFuncLib      iZRedist::Util::Log(float)
        2.8%    2.8%    AppleHDA        NativeInt32ToFloat32_X86
        2.5%    2.5%    DspFuncLib      iZRedist::DSP::FftImpl::FftReal(float 
const*, iZRedist::DSP::Cmplx*) const
        2.3%    2.3%    DspFuncLib      
DspFuncDRC::_dynamicRangeControl(float*, float*, unsigned long, unsigned long)
        2.0%    2.0%    mach_kernel     lo_mach_scall

Drilling down:

        10.6%   10.6%   mach_kernel     ml_set_interrupts_enabled
        0.0%    4.3%    mach_kernel      thread_dispatch
        0.0%    3.0%    mach_kernel      thread_continue
        0.0%    0.9%    mach_kernel      semaphore_destroy
        0.0%    0.7%    mach_kernel      chudxnu_cpu_alloc
        0.0%    0.4%    mach_kernel      inval_copy_windows
        0.0%    0.4%    mach_kernel      fpnoextflt
        0.0%    0.3%    mach_kernel      semaphore_signal_internal
        0.0%    0.2%    mach_kernel      thread_call_enter1_delayed
        0.0%    0.2%    mach_kernel      wait_queue_unlink
        0.0%    0.1%    mach_kernel      wait_queue_sub_clearrefs
        0.0%    0.0%    mach_kernel      wait_queue_assert_wait
        0.0%    0.0%    mach_kernel      ast_taken
        0.0%    0.0%    mach_kernel      wait_queue_set_unlink_all
        9.4%    9.4%    DspFuncLib      
iZRedist::DSP::Denoise::processWithLookahead(int, float* const*, int)
        0.0%    9.4%    DspFuncLib       iZRedist::DSP::Denoise::Process(float 
const* const*, unsigned int, unsigned int, float* const*, unsigned int)
        0.0%    9.4%    DspFuncLib        iZRedist::ANREngine::Process(unsigned 
int, float*)
        0.0%    9.4%    DspFuncLib         
iZRedist::ANRProcess(iZRedist::ANREngine*, unsigned int, float*)
        0.0%    9.4%    DspFuncLib          
DspFuncNoiseCanceller::process(unsigned long, unsigned long)
        0.0%    9.4%    DspFuncLib           DspFuncManager::process(void 
const*, void const*, unsigned long, unsigned long)
        0.0%    9.4%    AppleHDA              
AppleHDAEngine::convertInputSamples_StereoToStereo_32(void const*, void*, 
unsigned long, unsigned long, _IOAudioStreamFormat const*, IOAudioStream*)
        0.0%    9.4%    AppleHDA               
AppleHDAEngine::convertInputSamples(void const*, void*, unsigned long, unsigned 
long, _IOAudioStreamFormat const*, IOAudioStream*)
        0.0%    9.4%    IOAudioFamily           
IOAudioStream::readInputSamples(IOAudioClientBuffer*, unsigned long)
        0.0%    9.4%    IOAudioFamily            
IOAudioEngineUserClient::performClientInput(unsigned long, 
IOAudioClientBufferSet*)
        0.0%    9.4%    IOAudioFamily             
IOAudioEngineUserClient::performClientIO(unsigned long, unsigned long, bool, 
unsigned long, unsigned long, unsigned long)
        0.0%    9.4%    mach_kernel                iokit_user_client_trap
        0.0%    9.4%    mach_kernel                 get_user_regs
        6.7%    6.7%    DspFuncLib      
iZRedist::DSP::FftImpl::FftComplex_InPlace(iZRedist::DSP::Cmplx*) const
        0.0%    6.6%    DspFuncLib       iZRedist::DSP::FftImpl::FftReal(float 
const*, iZRedist::DSP::Cmplx*) const
        0.0%    4.0%    DspFuncLib        iZRedist::DSP::Fft::FftRealCcs(float 
const*, float*)
        0.0%    4.0%    DspFuncLib         
iZRedist::DSP::OversampledFilterbank::Decompose(float const* const*, int, 
float* const*, int, int)
        0.0%    4.0%    DspFuncLib          
iZRedist::DSP::Denoise::processWithLookahead(int, float* const*, int)
        0.0%    4.0%    DspFuncLib           
iZRedist::DSP::Denoise::Process(float const* const*, unsigned int, unsigned 
int, float* const*, unsigned int)
        0.0%    4.0%    DspFuncLib            
iZRedist::ANREngine::Process(unsigned int, float*)
        0.0%    4.0%    DspFuncLib             
iZRedist::ANRProcess(iZRedist::ANREngine*, unsigned int, float*)
        0.0%    4.0%    DspFuncLib              
DspFuncNoiseCanceller::process(unsigned long, unsigned long)
        0.0%    4.0%    DspFuncLib               DspFuncManager::process(void 
const*, void const*, unsigned long, unsigned long)
        0.0%    4.0%    AppleHDA                  
AppleHDAEngine::convertInputSamples_StereoToStereo_32(void const*, void*, 
unsigned long, unsigned long, _IOAudioStreamFormat const*, IOAudioStream*)
        0.0%    4.0%    AppleHDA                   
AppleHDAEngine::convertInputSamples(void const*, void*, unsigned long, unsigned 
long, _IOAudioStreamFormat const*, IOAudioStream*)
        0.0%    4.0%    IOAudioFamily               
IOAudioStream::readInputSamples(IOAudioClientBuffer*, unsigned long)
        0.0%    4.0%    IOAudioFamily                
IOAudioEngineUserClient::performClientInput(unsigned long, 
IOAudioClientBufferSet*)
        0.0%    4.0%    IOAudioFamily                 
IOAudioEngineUserClient::performClientIO(unsigned long, unsigned long, bool, 
unsigned long, unsigned long, unsigned long)
        0.0%    4.0%    mach_kernel                    iokit_user_client_trap
        0.0%    4.0%    mach_kernel                     get_user_regs
        0.0%    2.7%    DspFuncLib        
iZRedist::DSP::FftImpl::InvFftReal(iZRedist::DSP::Cmplx*, float*) const
        0.0%    0.0%    DspFuncLib       iZRedist::DSP::Fft::FftRealCcs(float 
const*, float*)
        6.3%    6.3%    DspFuncLib      
DspFuncHelper::process_IIR_xmm_LR(float*, float*, float*, float*, unsigned int)
        0.0%    6.2%    DspFuncLib       DspFuncEQ::_equalizer(float*, float*, 
unsigned long)
        0.0%    6.2%    DspFuncLib        DspFuncEQ::process(unsigned long, 
unsigned long)
        0.0%    6.2%    DspFuncLib         DspFuncManager::process(void const*, 
void const*, unsigned long, unsigned long)
        0.0%    4.3%    AppleHDA            
AppleHDAEngine::clipOutputSamples(void const*, void*, unsigned long, unsigned 
long, _IOAudioStreamFormat const*, IOAudioStream*)
        0.0%    4.3%    IOAudioFamily        
IOAudioStream::clipOutputSamples(unsigned long, unsigned long)
        0.0%    4.3%    IOAudioFamily         IOAudioStream::clipIfNecessary()
        0.0%    4.3%    IOAudioFamily          
IOAudioStream::processOutputSamples(IOAudioClientBuffer*, unsigned long, 
unsigned long, bool)
        0.0%    4.3%    IOAudioFamily           
IOAudioEngineUserClient::performClientOutput(unsigned long, unsigned long, 
IOAudioClientBufferSet*, unsigned long, unsigned long)
        0.0%    4.3%    IOAudioFamily            
IOAudioEngineUserClient::performClientIO(unsigned long, unsigned long, bool, 
unsigned long, unsigned long, unsigned long)
        0.0%    4.3%    mach_kernel               iokit_user_client_trap
        0.0%    4.3%    mach_kernel                get_user_regs

So we're spending 17% CPU calling get_user_regs()?

Jamie



_______________________________________________
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to