unit tests
  • Установка Google Test
    • через VS 2022
  • Что тестировать как тестировать
    • Test Suites
  • Google Test примеры
  • Параметризация примеры
  • Функции expect и assert
    • EXPECT_*
  • Пример setUP() TearDown()
  • Тестирование производительности
  • Профилирование
    • ЦП Аналитика
    • Пример
  • пример тестирование записи в файл
  • 📚Tasks
    • Задание на повторение
    • Задание calculate_average
    • Задание
    • Задание 2
    • Задание 3
    • Задание Интеграционное тестирование
    • Задание 4 треугольник интеграция
    • Задание кошелек
    • Кошелек интеграция
    • Задачи профилирование
    • Задание Task
  • Пример
Powered by GitBook
On this page

Пример

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    const int SIZE = 1000000; // Размер массива
    std::vector<int> arr(SIZE);

    // Заполнение массива случайными числами
    for (int i = 0; i < SIZE; ++i) {
        arr[i] = rand();
    }

    // Сортировка массива
    std::sort(arr.begin(), arr.end());

    // Вывод отсортированного массива
    std::cout << "Отсортированный массив:\n";
    for (int i = 0; i < SIZE; ++i) {
        std::cout << arr[i] << " ";
    }
    std::cout << std::endl;

    return 0;
}
  1. Анализ времени выполнения:

    • Visual Studio Profiler позволяет нам измерить время выполнения каждой функции в программе. Проанализировав результаты, мы обнаруживаем, что большая часть времени тратится на сортировку массива.

  2. Анализ утечек памяти:

    • Мы также используем Visual Studio Profiler для анализа утечек памяти. Программа запускается под управлением инструмента для выявления утечек памяти. Профилировщик обнаруживает, что программа не освобождает память после выполнения.

Выводы:

  1. Сортировка массива:

    • Оптимизируем сортировку, используя более эффективный алгоритм или распараллеливая ее. Например, заменим std::sort на алгоритм быстрой сортировки (QuickSort) или сортировку слиянием (MergeSort).

    • В результате мы сможем существенно уменьшить время выполнения программы.

  2. Утечка памяти:

    • Исправим проблему утечки памяти, удалив все выделенные ресурсы перед завершением программы. Например, очистим вектор arr после его использования с помощью метода clear().

    • Это поможет предотвратить утечку памяти и обеспечить более стабильное поведение программы.

PreviousЗадание Task

Last updated 1 year ago