Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 09.08.2019
Сообщений: 88
1

std::sort

25.02.2020, 15:28. Показов 1266. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
1. в std::sort реализован introsort?
2. почему std::sort работает во много раз быстрей в сборке Release чем в Debug. С чем это связано?
Поподробней пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.02.2020, 15:28
Ответы с готовыми решениями:

Отличие std::sort От std::qsort
Пишу доклад по программированию, собственно выбрал тему сортировок. вот сейчас хочу расписать...

std::sort + std::lower_bound
тема такая: есть класс person: class Person{ private: string name_; string adress_; long...

std::sort()
Доброго времени суток! Есть некая структура: struct member { int latency; ...

std::sort
Достоинства и недостатки делаю таблицу, достоинств и недостатков std::Sort. собственно, не...

3
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
25.02.2020, 15:32 2
Цитата Сообщение от LexaNoob Посмотреть сообщение
2. почему std::sort работает во много раз быстрей в сборке Release чем в Debug. С чем это связано?
Потому что в релизе всё быстрее работает. Там включена оптимизация и отключена всякая дебажная муть.
1
Эксперт CЭксперт С++
5113 / 4552 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
25.02.2020, 15:36 3
LexaNoob, чем вообще отличается Release от Debug Вы в курсе?
В Release обычно включается оптимизация, которая приводит к более эффективному коду. Например, под локальные переменные по возможности выделяются регистры...
В Debug же код формируется "как читается, так и пишется", т.е. исходный текст фактически перекодируется один к одному. Например, если переменная в памяти, то сначала загружается в регистр, что-то делается, потом записывается в память. Если обращений к переменной много, то каждый раз это происходит. А это затраты времени... Суть ясна?
1
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
25.02.2020, 15:43 4
Цитата Сообщение от LexaNoob Посмотреть сообщение
1. в std::sort реализован introsort?
Похоже на то, в майкрософте
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
    void _Sort_unchecked(_RanIt _First, _RanIt _Last, _Iter_diff_t<_RanIt> _Ideal, _Pr _Pred)
    {   // order [_First, _Last), using _Pred
    _Iter_diff_t<_RanIt> _Count;
    while (_ISORT_MAX < (_Count = _Last - _First) && 0 < _Ideal)
        {   // divide and conquer by quicksort
        auto _Mid = _Partition_by_median_guess_unchecked(_First, _Last, _Pred);
        // TRANSITION, VSO#433486
        _Ideal = (_Ideal >> 1) + (_Ideal >> 2); // allow 1.5 log2(N) divisions
 
        if (_Mid.first - _First < _Last - _Mid.second)
            {   // loop on second half
            _Sort_unchecked(_First, _Mid.first, _Ideal, _Pred);
            _First = _Mid.second;
            }
        else
            {   // loop on first half
            _Sort_unchecked(_Mid.second, _Last, _Ideal, _Pred);
            _Last = _Mid.first;
            }
        }
 
    if (_ISORT_MAX < _Count)
        {   // heap sort if too many divisions
        _Make_heap_unchecked(_First, _Last, _Pred);
        _Sort_heap_unchecked(_First, _Last, _Pred);
        }
    else if (2 <= _Count)
        {
        _Insertion_sort_unchecked(_First, _Last, _Pred);    // small
        }
    }
1
25.02.2020, 15:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.02.2020, 15:43
Помогаю со студенческими работами здесь

algorithm std::sort
Почему так делать нельзя? #include &lt;algorithm&gt; using namespace std; class T { private:...

std::sort с лямбдой
Здравствуйте! Есть такая структура: struct FNote // Falling note { enum class Type {...

Сортировка массива c++ std :: sort()
Дан двумерный массив символов char M, надо отсортировать его при помощи std :: sort(), построчно,...

Итератор для std::sort
template&lt;typename T&gt; struct iterator { iterator() :value(nullptr) {} iterator(T*value)...

Абстрактный класс и std::sort
Добрый день, Не компилируется строка: std::vector&lt;mtl::io::QtFile*&gt; *vec; ......

Std::sort сортировка вектора объектов
Добрый день. Пытаюсь выполнить сортировку вектора объектов с помощью функции сравнения ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru