diff options
Diffstat (limited to 'ACE/performance-tests/Misc/basic_func.h')
-rw-r--r-- | ACE/performance-tests/Misc/basic_func.h | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/ACE/performance-tests/Misc/basic_func.h b/ACE/performance-tests/Misc/basic_func.h new file mode 100644 index 00000000000..bbaf4d4cfb9 --- /dev/null +++ b/ACE/performance-tests/Misc/basic_func.h @@ -0,0 +1,77 @@ +// $Id$ + +// ============================================================================ +// +// = LIBRARY +// performance-tests/Misc +// +// = FILENAME +// basic_func.h +// +// = DESCRIPTION +// For use with basic_perf.cpp. +// +// = AUTHOR +// David Levine +// +// ============================================================================ + +#ifndef BASIC_FUNC_H +#define BASIC_FUNC_H + +#include "ace/ACE.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +extern int A,BB,C,D,E,F; + +// If your compiler optimizes away Empty_Iteration_Test::run (), then +// #defining ACE_HAS_OPTIMIZED_NULL_FUNCTIONS may help produce more +// reasonable numbers. +#if defined (_MSC_VER) + // MSVC 5.0 needs it . . . +# define ACE_HAS_OPTIMIZED_NULL_FUNCTIONS +#endif /* _MSC_VER */ + +#if defined (ACE_HAS_OPTIMIZED_NULL_FUNCTIONS) +# define EXPR(R,A,BB,C,D) (R=(A*BB + C*D)) +# define DO_SOMETHING EXPR(A,BB,EXPR(F,A,E,C,BB),EXPR(BB,F,A,D,E),EXPR(E,BB,F,A,C)); +#else /* ACE_HAS_OPTIMIZED_NULL_FUNCTIONS */ +# define DO_SOMETHING +#endif /* ACE_HAS_OPTIMIZED_NULL_FUNCTIONS */ + + +// An external (global) function. +void func (); + + +// A class with no virtual functions. +class Foo +{ + public: + void inline_func () { DO_SOMETHING } + void func (); +}; + + +// A class with a virtual function. +class Foo_v +{ + public: + virtual ~Foo_v (); + void inline_func () { DO_SOMETHING } + void func (); + virtual void v_func (); +}; + + +// A derived class. +class Foo_d_v : public Foo_v +{ + public: + virtual void v_func (); +}; + +#endif /* BASIC_FUNC_H */ |