From 355daa934d4b442929ecb9975e96848688539468 Mon Sep 17 00:00:00 2001 From: Andrey Astafyev Date: Thu, 23 Dec 2021 13:45:39 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9C=D0=B5=D0=B4=D0=BB=D0=B5=D0=BD=D0=BD?= =?UTF-8?q?=D1=8B=D0=B5=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=B8=20?= =?UTF-8?q?=D0=B4=D0=BB=D1=8F=20=D1=82=D0=B5=D1=81=D1=82=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20=D1=80=D0=B5=D0=B6=D0=B8=D0=BC?= =?UTF-8?q?=D0=B0=20=D0=BF=D1=80=D0=BE=D1=84=D0=B8=D0=BB=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/myx-cmake-example-features/main.cpp | 40 +++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/src/myx-cmake-example-features/main.cpp b/src/myx-cmake-example-features/main.cpp index 82f1c6f..bb8053d 100644 --- a/src/myx-cmake-example-features/main.cpp +++ b/src/myx-cmake-example-features/main.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include /** @@ -29,6 +30,40 @@ int unused( int a ) } +/** + * \brief Медленная функция + */ +int slowFunction() +{ + constexpr int size = 16 * 1024; + double a[size]; + for ( int i = 0; i < size; i++ ) + { + a[i] = QRandomGenerator::global()->bounded( 4 ); + for ( int j = 0; j < i; j++ ) a[i] += sin( a[j] ); + a[0] += a[i]; + } + return( qRound( a[0] ) ); +} // slowFunction + + +/** + * \brief Быстрая функция + */ +int fastFunction() +{ + constexpr int size = 8 * 1024; + double a[size]; + for ( int i = 0; i < size; i++ ) + { + a[i] = QRandomGenerator::global()->bounded( 4 ); + for ( int j = 0; j < i; j++ ) a[i] += sin( a[j] ); + a[0] += a[i]; + } + return( qRound( a[0] ) ); +} + + /** * \brief Основная функция * \param argc Количество параметров командной строки @@ -67,6 +102,11 @@ int main( int argc, char** argv ) QObject::connect( &app, SIGNAL(aboutToQuit()), &p, SLOT(process())); QTimer::singleShot( 100, &app, SLOT(quit())); + #ifdef PROFILE + qCritical() << "Slow: " << slowFunction(); + qCritical() << "Fast: " << fastFunction(); + #endif + int arr[3]; qCritical() << arr[2]; return( QCoreApplication::exec() );