Size: a a a

2021 February 08

b

basiliscos in Modern::Perl
Я не помню деталей, но точно помню что mergesort по-дефолту ещё в каком-то древнем перле. И насколько я помню, там там у mergesort важное свойство - стабильность, т.е. если идут два одинаковых ключа k(1) и k(2), то сохраняется их порядок, в quicksort это не гарантируется. Достаточно часто это свойство мне надо было, что уже прямо не задумываешься о нём.
источник

SL

Sergiy Leschenko in Modern::Perl
perl -Msort=defaults -e 'print sort::current()'
mergesort
Perl v5.26.1
источник

SZ

Sergey Zhmylove in Modern::Perl
Sergiy Leschenko
perl -Msort=defaults -e 'print sort::current()'
mergesort
Perl v5.26.1
Это всего-лишь строчка :)
источник

SZ

Sergey Zhmylove in Modern::Perl
Alexey Stavrov
Вообще фраза о том, что худший случай для quicksort - это O(N**2), какая-то глупая, но письками мериться не намерян.
Ну смотри, используемый сейчас сорт тоже пытается сделать runs с максимально длинной натурально отсортированной последовательностью. Но, о отличие от тимсорта, минимальный размер run равен 2.
В используемом перл алгоритме, как я понял, вообще нет galloping mode (или как там), но есть некоторые отличия от mergesort, которые позволяют быстрее мержить.
источник

SZ

Sergey Zhmylove in Modern::Perl
Весь алгоритм-то на 400 строк, половина из которых -- комменты.
источник

AP

Anton Petrusevich in Modern::Perl
Alexey Stavrov
И где же в этой фразе написано, что "перешли на мержсорт"?
but in Perl 5.8 a mergesort algorithm was also made available, mainly to guarantee worst case O(N log N) behaviour: the worst case of quicksort is O(N**2)
кроме фраз ещё и линк был и там написано:
The default algorithm is mergesort, which will be stable even if you do not explicitly demand it.
источник

AK

Andrey Konovalov in Modern::Perl
@zhmylove , использовал Вашу идею  с расширенным синтаксисом my для Defers (check_and_load):
https://github.com/DRVTiny/perl5-Defers/blob/main/lib/Defers.pm
источник

SZ

Sergey Zhmylove in Modern::Perl
А что это за продукт?
источник

AK

Andrey Konovalov in Modern::Perl
Sergey Zhmylove
А что это за продукт?
Да просто способ делать инстансы объектов "по требованию".
источник

AK

Andrey Konovalov in Modern::Perl
Мы выше обсуждали - функции со state'ом
источник

SZ

Sergey Zhmylove in Modern::Perl
Я про drvtiny -- что это?
источник

AP

Anton Petrusevich in Modern::Perl
это никнейм его такой
источник

AP

Anton Petrusevich in Modern::Perl
видно же, что любит драйвера и тайни модель памяти
источник

AP

Anton Petrusevich in Modern::Perl
никогда комфайлы на ассемблере не писал что ли?
источник

AK

Andrey Konovalov in Modern::Perl
Anton Petrusevich
видно же, что любит драйвера и тайни модель памяти
Антон меня либо раскусил с полпинка, либо я уже говорил об этом
источник

SZ

Sergey Zhmylove in Modern::Perl
Anton Petrusevich
никогда комфайлы на ассемблере не писал что ли?
Это было 20+ лет назад :)
Я больше поверю, что это случайный набор букв
источник

AK

Andrey Konovalov in Modern::Perl
Sergey Zhmylove
Это было 20+ лет назад :)
Я больше поверю, что это случайный набор букв
Ну, я в 2001-2006м увлекался подобным :)
источник

AK

Andrey Konovalov in Modern::Perl
Вместо института
источник

AK

Andrey Konovalov in Modern::Perl
Лабы делал на FreeBASIC, стенд для ПАХТа на асме, курсовые генерил в HTML и пихал в OpenOfiice.org
источник

SZ

Sergey Zhmylove in Modern::Perl
Andrey Konovalov
Вместо института
А что такое "perl5-Defers"?
источник