From 164a71e8068329b43634bbbb05b19d350ce378fa Mon Sep 17 00:00:00 2001 From: sletz Date: Thu, 19 Mar 2009 10:14:26 +0000 Subject: [PATCH] Tim Blechmann optimization patch (inlining some heavy used methods). git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@3447 0c269be4-1314-0410-8aa9-9f06e86f4224 --- ChangeLog | 6 ++++- common/JackConnectionManager.cpp | 5 ---- common/JackConnectionManager.h | 7 ++++- common/JackEngineControl.cpp | 43 ------------------------------- common/JackEngineControl.h | 44 +++++++++++++++++++++++++++----- common/JackFrameTimer.h | 2 +- common/JackGraphManager.cpp | 5 ---- common/JackGraphManager.h | 6 ++++- common/JackTransportEngine.cpp | 6 ----- common/JackTransportEngine.h | 6 ++++- linux/wscript | 1 + 11 files changed, 60 insertions(+), 71 deletions(-) diff --git a/ChangeLog b/ChangeLog index 25ba5dd8..70c39e33 100644 --- a/ChangeLog +++ b/ChangeLog @@ -22,7 +22,11 @@ Torben Hohn --------------------------- Jackdmp changes log ---------------------------- +--------------------------- + +2009-03-19 Stephane Letz + + * Tim Blechmann optimization patch (inlining some heavy used methods). 2009-03-12 Stephane Letz diff --git a/common/JackConnectionManager.cpp b/common/JackConnectionManager.cpp index c84f535e..5108ddcd 100644 --- a/common/JackConnectionManager.cpp +++ b/common/JackConnectionManager.cpp @@ -83,11 +83,6 @@ bool JackConnectionManager::IsLoopPathAux(int ref1, int ref2) const // External API //-------------- -int JackConnectionManager::GetActivation(int refnum) const -{ - return fInputCounter[refnum].GetValue(); -} - /*! \brief Connect port_src to port_dst. */ diff --git a/common/JackConnectionManager.h b/common/JackConnectionManager.h index 94af4c0d..b95261d6 100644 --- a/common/JackConnectionManager.h +++ b/common/JackConnectionManager.h @@ -440,7 +440,12 @@ class SERVER_EXPORT JackConnectionManager void DirectConnect(int ref1, int ref2); void DirectDisconnect(int ref1, int ref2); - int GetActivation(int refnum) const; + int GetActivation(int refnum) const + { + return fInputCounter[refnum].GetValue(); + } + + // Graph void ResetGraph(JackClientTiming* timing); diff --git a/common/JackEngineControl.cpp b/common/JackEngineControl.cpp index b75dcf25..41cf71ef 100644 --- a/common/JackEngineControl.cpp +++ b/common/JackEngineControl.cpp @@ -33,44 +33,6 @@ static inline jack_time_t JACK_MAX(jack_time_t a, jack_time_t b) return (a < b) ? b : a; } -void JackEngineControl::CycleIncTime(jack_time_t callback_usecs) -{ - // Timer - fFrameTimer.IncFrameTime(fBufferSize, callback_usecs, fPeriodUsecs); -} - -void JackEngineControl::CycleBegin(JackClientInterface** table, - JackGraphManager* manager, - jack_time_t cur_cycle_begin, - jack_time_t prev_cycle_end) -{ - fTransport.CycleBegin(fSampleRate, cur_cycle_begin); - CalcCPULoad(table, manager, cur_cycle_begin, prev_cycle_end); -#ifdef JACK_MONITOR - fProfiler.Profile(table, manager, fPeriodUsecs, cur_cycle_begin, prev_cycle_end); -#endif -} - -void JackEngineControl::CycleEnd(JackClientInterface** table) -{ - fTransport.CycleEnd(table, fSampleRate, fBufferSize); -} - -void JackEngineControl::InitFrameTime() -{ - fFrameTimer.InitFrameTime(); -} - -void JackEngineControl::ResetFrameTime(jack_time_t cur_cycle_begin) -{ - fFrameTimer.ResetFrameTime(fSampleRate, cur_cycle_begin, fPeriodUsecs); -} - -void JackEngineControl::ReadFrameTime(JackTimer* timer) -{ - fFrameTimer.ReadFrameTime(timer); -} - void JackEngineControl::CalcCPULoad(JackClientInterface** table, JackGraphManager* manager, jack_time_t cur_cycle_begin, @@ -126,9 +88,4 @@ void JackEngineControl::NotifyXRun(float delayed_usecs) fMaxDelayedUsecs = delayed_usecs; } -void JackEngineControl::ResetXRun() -{ - fMaxDelayedUsecs = 0.f; -} - } // end of namespace diff --git a/common/JackEngineControl.h b/common/JackEngineControl.h index e8d6c8e5..a4e2adcd 100644 --- a/common/JackEngineControl.h +++ b/common/JackEngineControl.h @@ -119,18 +119,48 @@ struct SERVER_EXPORT JackEngineControl : public JackShmMem {} // Cycle - void CycleIncTime(jack_time_t callback_usecs); - void CycleBegin(JackClientInterface** table, JackGraphManager* manager, jack_time_t cur_cycle_begin, jack_time_t prev_cycle_end); - void CycleEnd(JackClientInterface** table); + void CycleIncTime(jack_time_t callback_usecs) + { + // Timer + fFrameTimer.IncFrameTime(fBufferSize, callback_usecs, fPeriodUsecs); + } + + void CycleBegin(JackClientInterface** table, JackGraphManager* manager, jack_time_t cur_cycle_begin, jack_time_t prev_cycle_end) + { + fTransport.CycleBegin(fSampleRate, cur_cycle_begin); + CalcCPULoad(table, manager, cur_cycle_begin, prev_cycle_end); +#ifdef JACK_MONITOR + fProfiler.Profile(table, manager, fPeriodUsecs, cur_cycle_begin, prev_cycle_end); +#endif + } + + void CycleEnd(JackClientInterface** table) + { + fTransport.CycleEnd(table, fSampleRate, fBufferSize); + } // Timer - void InitFrameTime(); - void ResetFrameTime(jack_time_t callback_usecs); - void ReadFrameTime(JackTimer* timer); + void InitFrameTime() + { + fFrameTimer.InitFrameTime(); + } + + void ResetFrameTime(jack_time_t callback_usecs) + { + fFrameTimer.ResetFrameTime(fSampleRate, callback_usecs, fPeriodUsecs); + } + + void ReadFrameTime(JackTimer* timer) + { + fFrameTimer.ReadFrameTime(timer); + } // XRun void NotifyXRun(float delayed_usecs); - void ResetXRun(); + void ResetXRun() + { + fMaxDelayedUsecs = 0.f; + } // Private void CalcCPULoad(JackClientInterface** table, JackGraphManager* manager, jack_time_t cur_cycle_begin, jack_time_t prev_cycle_end); diff --git a/common/JackFrameTimer.h b/common/JackFrameTimer.h index fb5ee934..703a90be 100644 --- a/common/JackFrameTimer.h +++ b/common/JackFrameTimer.h @@ -73,7 +73,7 @@ class SERVER_EXPORT JackTimer \brief A class using the JackAtomicState to manage jack time. */ -class JackFrameTimer : public JackAtomicState +class SERVER_EXPORT JackFrameTimer : public JackAtomicState { private: diff --git a/common/JackGraphManager.cpp b/common/JackGraphManager.cpp index c34ea5d4..ae5f3351 100644 --- a/common/JackGraphManager.cpp +++ b/common/JackGraphManager.cpp @@ -101,11 +101,6 @@ int JackGraphManager::SuspendRefNum(JackClientControl* control, JackSynchro* tab return manager->SuspendRefNum(control, table, fClientTiming, usec); } -JackClientTiming* JackGraphManager::GetClientTiming(int ref) -{ - return &fClientTiming[ref]; -} - // Server void JackGraphManager::DirectConnect(int ref1, int ref2) { diff --git a/common/JackGraphManager.h b/common/JackGraphManager.h index ed32041a..67d482e7 100644 --- a/common/JackGraphManager.h +++ b/common/JackGraphManager.h @@ -120,7 +120,11 @@ class SERVER_EXPORT JackGraphManager : public JackShmMem, public JackAtomicState int ResumeRefNum(JackClientControl* control, JackSynchro* table); int SuspendRefNum(JackClientControl* control, JackSynchro* table, long usecs); - JackClientTiming* GetClientTiming(int refnum); + JackClientTiming* GetClientTiming(int refnum) + { + return &fClientTiming[refnum]; + } + void Save(JackConnectionManager* dst); void Restore(JackConnectionManager* src); diff --git a/common/JackTransportEngine.cpp b/common/JackTransportEngine.cpp index 861b123e..66f96cf2 100644 --- a/common/JackTransportEngine.cpp +++ b/common/JackTransportEngine.cpp @@ -86,12 +86,6 @@ int JackTransportEngine::SetTimebaseMaster(int refnum, bool conditionnal) } } -void JackTransportEngine::GetTimebaseMaster(int& refnum, bool& conditionnal) -{ - refnum = fTimeBaseMaster; - conditionnal = fConditionnal; -} - // RT bool JackTransportEngine::CheckAllRolling(JackClientInterface** table) { diff --git a/common/JackTransportEngine.h b/common/JackTransportEngine.h index 1d201f66..9602516d 100644 --- a/common/JackTransportEngine.h +++ b/common/JackTransportEngine.h @@ -144,7 +144,11 @@ class SERVER_EXPORT JackTransportEngine : public JackAtomicArrayState