
Stanislav
03.06.2017
14:56:15
я ща скажу

Constantine
03.06.2017
14:57:50
ну если 17й есть, интересно даже

Stanislav
03.06.2017
15:00:01
Компилятор x86 создает код, который по умолчанию использует инструкции SSE2.
у нас с этим как то был косяк :) да

Google

Constantine
03.06.2017
15:00:35
там это настройка
правда я не уверен, что win 10 запускается без SSE2
и win vista даже

Stanislav
03.06.2017
15:01:14
угу, но вот в 2012 точно там было ссе2 по умолчанию, у заказчика был оченьдревний проц который в это не умел

Constantine
03.06.2017
15:01:37
вроде по умолчанию после 2014 вижак компилит без поддержки XP
а там XP должна стоять

Stanislav
03.06.2017
15:02:12

Constantine
03.06.2017
15:02:39
у нас сейчас на XP даже сайт в фаерфоксе не работает из-за 2048-битных сертификатов :D

Stanislav
03.06.2017
15:03:14
короче если не отключить, то будет ССЕ по умолчанию


Alexander
03.06.2017
16:06:58
если кому-то хочется поучаствовать в этом, то прошу))
The review for C++ Timsort in Boost will commence tomorrow, June 3, and continue through June 12. I am the review manager. The code can be found here:
https://github.com/boostorg/sort/pull/12
To merge it into a local copy of the Boost.Sort library:
git checkout -b ZaMaZaN4iK-feature_branch/TimSort develop
git pull https://github.com/ZaMaZaN4iK/sort.git \
feature_branch/TimSort
If you want to see a proposed version of the Sort library source with Francisco's changes and Timsort included, download the zip file. Feel free to compare flat_stable_sort with Timsort.
Please answer these questions in reply to this thread:
What is your evaluation of the Timsort implementation?
What is your evaluation of the comments?
Did you try to use the library? With what compiler? Did you have any problems?
How much effort did you put into your evaluation? A glance? A quick reading? In-depth study?
How familiar are you with the details of hybrid and stable sorts?
Would you actually use Timsort if it was in Boost.Sort? If so, how is it better than the next best alternative?
Do you think Timsort should be included in Boost.Sort?
Please ask Alexander Zaitsev any questions you have about Timsort for this review before submitting your final review.
Thanks,
Steven Ross
@antoshkka будет время?

Google

Constantine
03.06.2017
16:08:35
а в чем практическая полезность?

Alexander
03.06.2017
16:09:14

Constantine
03.06.2017
16:09:16
да

Alexander
03.06.2017
16:09:38
ну как сказать... сортировка, которая является крайне хорошим конкурентом интросорту
и которая являет ся сортировкой по умолчанию в джавке и питоне

Владислав
03.06.2017
16:10:12
не квик сорт разве?

Alexander
03.06.2017
16:10:18
нет

Владислав
03.06.2017
16:10:20
думал она везде по дефолу

Alexander
03.06.2017
16:10:47
нет, далеко не везде. Чистого квиксорта почти что нет в природе, ибо фигня получается

Владислав
03.06.2017
16:11:02
в чём?

Stanislav
03.06.2017
16:11:07
https://habrastorage.org/storage1/61a272a8/54806d34/69954080/310f329f.png

Alexander
03.06.2017
16:11:18

Stanislav
03.06.2017
16:13:19
если примут станешь звиздой :)

Grigor
03.06.2017
16:13:35
https://habrahabr.ru/post/205290/
вот еще классная сортировочка

Constantine
03.06.2017
16:15:35
сколько практическая разница с реализацией типа мс std::sort
на интах?

Alexander
03.06.2017
16:16:05
потому что по бенчам проигрывает

Constantine
03.06.2017
16:16:15
все эти асимптотики в данном случае можете оставить)

Google

Alexander
03.06.2017
16:16:27

Constantine
03.06.2017
16:16:50
ну-ену
вам рассказать про асимптотики фибоначчиевых куч?)

Alexander
03.06.2017
16:17:06
и знаю, что такое скрытые контсанты тоже, спасибо

Constantine
03.06.2017
16:17:17
короче сколько разница

Alexander
03.06.2017
16:18:19
My results:
—---------------------------------------------------------------------—
RANDOMIZED SEQUENCE
[int]
size 100000
std::sort 3.619371
std::stable_sort 3.838118
timsort 9.739809
spreadsort 1.929109
[std::string]
size 100000
std::sort 7.197375
std::stable_sort 9.917748
timsort 15.502816
spreadsort 6.131804
REVERSED SEQUENCE
[int]
size 100000
std::sort 1.585152
std::stable_sort 1.987874
timsort 0.387852
spreadsort 3.087485
[std::string]
size 100000
std::sort 3.932890
std::stable_sort 7.475606
timsort 0.695297
spreadsort 10.606990
SORTED SEQUENCE
[int]
size 100000
std::sort 2.136436
std::stable_sort 1.692504
timsort 0.238816
spreadsort 0.245145
[std::string]
size 100000
std::sort 5.130715
std::stable_sort 5.993335
timsort 0.515851
spreadsort 4.301242
—---------------------------------------------------------------------—
My configuration is: Kubuntu 16.10 x64, i7-3630QM, 12 Gib RAM, SSD.


Constantine
03.06.2017
16:18:56
size 100000
std::sort 3.619371
это в каких единицах
миллисекунды?

Alexander
03.06.2017
16:19:38
чтоб я помнил - вангую, что да
уж что не секунды, то это точно))

Constantine
03.06.2017
16:20:29
ну дампы такие, что реализация хуже std::sort

Alexander
03.06.2017
16:20:53
иди почитай вики про тимсорт что ли

Constantine
03.06.2017
16:21:04
короче пишу сорт2

Alexander
03.06.2017
16:21:09
и посмотри, когда её применять надо

Constantine
03.06.2017
16:21:15
который ифает что последовательность уже упорядочена

Alexander
03.06.2017
16:21:25
желаю удачи
буду ждать пулл реквест в Boost.Sort

Grigor
03.06.2017
16:22:00
sleep sort one love

Google

Constantine
03.06.2017
16:22:15
а, это та самая легендарная сортировка из явы?
которая ронялась тестом на 16млн?

Alexander
03.06.2017
16:23:09

Grigor
03.06.2017
16:27:02
наркотики
https://www.youtube.com/watch?v=kPRA0W1kECg

Constantine
03.06.2017
16:28:00
готов в /холивар с любым, кто считает, что надо учить алгоритмы сортировки :)

Alexander
03.06.2017
16:28:26

Constantine
03.06.2017
16:28:37
а есть бенчи на олмост сортед? как там определяется?

Alexander
03.06.2017
16:28:43
потому что вроде как все уяснили, что это глупое решение

Constantine
03.06.2017
16:28:44
линейное число инверсий подойдет?

Alexander
03.06.2017
16:29:17
я не помню, как там этот тест делался уже

Admin
ERROR: S client not available

Constantine
03.06.2017
16:29:25
ну можно покодить немножко

Alexander
03.06.2017
16:29:33
вроде брал 1000-10000 чисел, и менял рандомно местами

Constantine
03.06.2017
16:29:48
я бы взял вектор 1...N и потом 10N сделал свопов соседних

Alexander
03.06.2017
16:29:49
можно, конечно. Но мне лень второй раз писать тот бенчмарк
не вижу никакой принципиальной разницы

Constantine
03.06.2017
16:30:24
просто бенч на стринг левый

Alexander
03.06.2017
16:30:30
впрочем, этот бенч был просто ещё одним доказательством и так известной истины - на в целом отсортировнаной последовательности тимсорт хорош
в сотальных случаях - не очень\

Constantine
03.06.2017
16:30:45
там есть два бенча нормальных - бенч на инты и бенч на компаратор

Google

Alexander
03.06.2017
16:30:52
на хабре да и в Интернетах столько этих бенчей уже, что самому ничвего пеисать не надо

Constantine
03.06.2017
16:30:58
просто число вызовов компаратора на рандомной последовательности

Alexander
03.06.2017
16:31:06

Constantine
03.06.2017
16:31:15
то, что они зависят от фазы луны?

Alexander
03.06.2017
16:31:19
зачем писать что-то самому, если уже работу провели за тебя?
ставим диагноз не видя самих бенчей

Constantine
03.06.2017
16:31:43
"я написал и протестил но запускал командой Run на вижачке"

Alexander
03.06.2017
16:32:05
Пиши бенч, скинешь его и результаты на zamazan4ik@tut.by

Constantine
03.06.2017
16:32:12
"я не выставил 64-битный режим"

Alexander
03.06.2017
16:32:27
прикреплю к пулл реквесту

Constantine
03.06.2017
16:32:30
да я буст буду сначала час качать)
я могу тебе исходников накидать, если интерфейс покажешь
на стандарте примерно 14

Alexander
03.06.2017
16:33:47
заодно и опишешь подлробно методику, по которой проводил измерения

Constantine
03.06.2017
16:34:10
для этого мне надо качать сорсы и компилить, а мне лень)
а исходники я в блокноте могу

Alexander
03.06.2017
16:34:30
а ещё можешь с буста стянуть какой-то скрипт перловый Стивена Росса для бенчинга
Если лень - то просто ничего не делай, хуль

Constantine
03.06.2017
16:34:58
так мне аутпут нужен бенчей, интересно жи
поэтому я предлагаю аутпут бенчей в обмен на исходники бенчей :)
мое дело предложить