Stanislav
Компилятор x86 создает код, который по умолчанию использует инструкции SSE2.
Stanislav
у нас с этим как то был косяк :) да
Constantine
там это настройка
Constantine
правда я не уверен, что win 10 запускается без SSE2
Constantine
и win vista даже
Stanislav
угу, но вот в 2012 точно там было ссе2 по умолчанию, у заказчика был оченьдревний проц который в это не умел
Constantine
вроде по умолчанию после 2014 вижак компилит без поддержки XP
Constantine
а там XP должна стоять
Stanislav
Constantine
у нас сейчас на XP даже сайт в фаерфоксе не работает из-за 2048-битных сертификатов :D
Stanislav
короче если не отключить, то будет ССЕ по умолчанию
Constantine
а в чем практическая полезность?
Constantine
да
vladislav
не квик сорт разве?
vladislav
думал она везде по дефолу
vladislav
в чём?
Stanislav
https://habrastorage.org/storage1/61a272a8/54806d34/69954080/310f329f.png
Stanislav
если примут станешь звиздой :)
Danil
https://habrahabr.ru/post/205290/
Danil
вот еще классная сортировочка
Constantine
сколько практическая разница с реализацией типа мс std::sort
Constantine
на интах?
Constantine
все эти асимптотики в данном случае можете оставить)
Constantine
вам рассказать про асимптотики фибоначчиевых куч?)
Constantine
короче сколько разница
Constantine
size 100000 std::sort 3.619371 это в каких единицах
Constantine
миллисекунды?
Constantine
ну дампы такие, что реализация хуже std::sort
Constantine
короче пишу сорт2
Constantine
который ифает что последовательность уже упорядочена
Danil
sleep sort one love
Constantine
а, это та самая легендарная сортировка из явы?
Constantine
которая ронялась тестом на 16млн?
Danil
наркотики https://www.youtube.com/watch?v=kPRA0W1kECg
Constantine
готов в /холивар с любым, кто считает, что надо учить алгоритмы сортировки :)
Constantine
а есть бенчи на олмост сортед? как там определяется?
Constantine
линейное число инверсий подойдет?
Constantine
ну можно покодить немножко
Constantine
я бы взял вектор 1...N и потом 10N сделал свопов соседних
Constantine
просто бенч на стринг левый
Constantine
там есть два бенча нормальных - бенч на инты и бенч на компаратор
Constantine
просто число вызовов компаратора на рандомной последовательности
Constantine
то, что они зависят от фазы луны?
Constantine
"я написал и протестил но запускал командой Run на вижачке"
Constantine
"я не выставил 64-битный режим"
Constantine
да я буст буду сначала час качать)
Constantine
я могу тебе исходников накидать, если интерфейс покажешь
Constantine
на стандарте примерно 14
Constantine
для этого мне надо качать сорсы и компилить, а мне лень)
Constantine
а исходники я в блокноте могу
Constantine
так мне аутпут нужен бенчей, интересно жи
Constantine
поэтому я предлагаю аутпут бенчей в обмен на исходники бенчей :)
Constantine
мое дело предложить
Constantine
ну, в моей текущей вселенной timsort это сам по себе мартышкин труд :)
Constantine
потому что я много разной информации в гугле читал, и по статистике 90% авторов этой инфы попросту не разбираются, что пишут
Constantine
это безумно заметно, когда начинаешь читать инфу по темам, в которых реально разобрался
Constantine
Ага, тут недавно инфа была
Constantine
https://arxiv.org/pdf/1705.11035.pdf
Constantine
тестом размером 9 опровергли работу D. P. Dobkin, L. Snyder, 1979
Constantine
просто в практической области оригинальную работу 1993 года читать странно
Constantine
процессоры по-другому работали)
Constantine
а всякие статьи "мы тут пореализовывали методы" пишет обычно нубло
Constantine
http://webcache.googleusercontent.com/search?q=cache:lMk9YY-awqsJ:www.cccg.ca/proceedings/2003/26.ps+&cd=3&hl=en&ct=clnk&gl=ru
Constantine
ага, а еще они не заметили, что D. P. Dobkin, L. Snyder, 1973 содержит ошибку
Constantine
хотя метод реализовывали
Constantine
или забыли вообще перепроверить все доказательства в работе :)
Constantine
кстати, а есть специалисты? я слышал краем уха, что структуры типа set<int> реализуемы с log log, что там с константами
Constantine
там важно, что int, разумеется нельзя разогнать красно-черное
Constantine
потому что есть порог сортировки n * log n
Constantine
фигня в том, что если std::sort не устраивает, то timsort это как раз попытка специфичного решения
Constantine
да, я уже нашел его
Constantine
не успел прочитать
Constantine
вообще я в свое время изучал вопрос о поведении декартовых (любых подобных merge-based) деревьев на недосортированных массивах... пытаюсь вспомнить судорожно
Vladislav
Это теоретически невозможно в общем случае
Constantine
Да, я это уже сказал)
Constantine
Слава, что ты думаешь о timsort? Ну, кроме того, что из-за него на КФ нельзя яву положить на объектах :D
Constantine
вообще я в свое время изучал вопрос о поведении декартовых (любых подобных merge-based) деревьев на недосортированных массивах... пытаюсь вспомнить судорожно
Там совершенно точно получалось, что если хранить отрезки в качестве treap, суммарно запросы "посортить подотрезок" и "изменить число" выполняются быстрее квадрата
Vladislav
Слава, что ты думаешь о timsort? Ну, кроме того, что из-за него на КФ нельзя яву положить на объектах :D
Про cf - ну это скорее квиксорт в джаве плохо реализован для примитивных типов, а не преимущество тимсорта