Оптимизировать программу

Уровень сложности:

Необходимо написать программу, которая что то делает, допустим считает при помощи вложенных циклов и оптимизировать ее, так чтоб при добавлении счетчика времени работы программы была заметна оптимизация встроенных циклов.

Цель данной задачи — научиться оптимизировать код программ так, чтобы они выполнялись за более короткий период времени, при этом программа должна решать поставленную задачу в полном объеме.

К сожалению, решения данной задачи пока нет. Если Вы решили эту задачу, сообщите нам, и мы выложим её на сайте.

E-mail : admin@cppstudio.com

Следующие статьи помогут вам в решении данной задачи:
Автор: Marienko L.
Дата: 13.01.2014
Поделиться:

Комментарии

  1. Lee Amstrong

    g++ -O3 mycode.cpp
    Оптимизировал, проверяй.

  2. Oleg Sam

    К примеру есть функция

    void buble_sort( int *mas, int sz )

    {

    for( int i = 1; i < sz; ++i )

    for( int j = sz — 1; j >= i; —j )

    {

    if( mas[ j — 1 ] > mas[ j ] )

    {

    int tmp = mas[ j — 1 ];

    mas[ j — 1 ] = mas[ j ];

    mas[ j ] = tmp;

    }

    }

    }

    //вот оптимизация без изменения алгоритма

    //цель убрать повторное вычесления индекса для массива

    void buble_sort2( int *mas, int sz )

    {

    int *p1, *p2, *p3;

    int *end = mas + sz;

     

    for( p1 = mas + 1; p1 < end; ++p1 )

    for( p2 = end — 1, p3 = p2 — 1; p2 >= p1; —p2, —p3 )

    {

    if( *p3 > *p2 )

    {

    int tmp = *p3;

    *p3 = *p2;

    *p2 = tmp;

    }

    }

    }

     

  3. Denis Makarov

    простите, что надо то? inline к функции, вызываемой 1000 раз, подписать?

Оставить комментарий

Вы должны войти, чтобы оставить комментарий.