

Antony
15.06.2017
14:58:46
After reviewing the responses, I have rejected Timsort. Here are the
reasons:
1. No author/maintainer responses to the questions on boost (except for
forwarding some documentation links). We need a maintainer for all our
source, and I'm not volunteering to maintain new functions as complex as
Timsort.
2. There was no response on the Timsort bug reported during the review,
nor any tests for it.
3. We need better tests.
4. Francisco is including a more efficient stable sort as part of his
additions to the library, including handling special cases like Timsort
handles better than stable_sort does. Francisco will maintain his code.
I'd like to note that many people THINK they are experts on sorting because
they covered it in class or may have read about it in a textbook, but most
do not understand hybrid sorts well. As a specific example, I saw
O(N*log(N)) mentioned as the worst-case speed limit of general-case sorts,
when in fact Spreadsort beats that as described in its docs:
http://www.boost.org/doc/libs/1_61_0/libs/sort/doc/html/index.html#sort.overview.performance
Many people also don't carefully analyze for worst-case performance, which
can be tricky.
With regards to future sorting library reviews, I'll get at least a
one-page doc describing the algorithm for the review in advance, but the
boost documentation formatting is an unreasonable request for a simple
sorting function, and I don't see the value it adds for these simple
reviews. It is useful for a full library, but we'll be integrating the
documentation into our full library after a new function is accepted.
It isn't accurate to call it a mini-review (as described here:
http://www.boost.org/community/reviews.html#Fast-Track) because it's
reviewing completely new source we're talking about adding to the library.
That said, do you still want me to a call the upcoming one for pdqsort a
"mini-review"?
Написать библиотеку - это 10% работы. Остальные 90% - это документация, тесты, тестирование, поддержка.


Alexander
15.06.2017
14:58:59
там же история вся заключалась в том, что это должно было быть что-то аля фаст-ревью, чисто имплементации,а не полное ревью
а он отправил на полное ревью пулл реквест, который к нему вообще не готов

Google

Alexander
15.06.2017
15:00:16
то есть он его сам даже не просмотрел, не увидел, что (ВНЕЗАПНО) там даже доки нет, а сразу на ревью
как тебе такой ревью менеджмент?

Berkus
15.06.2017
15:01:03
это уже не первый раз да?
я вижу как винни в слаке дрожит перед ревью биста и переписывает всякие красоты покрасивше
возможно чтоит расссчитывать в дальнейшем что мини-ревью будет не очень мини

Alexander
15.06.2017
15:01:49
одно дело, когда твоя либа\сорцы идут запланировано на ревью, ты готовишься к этому
а другое дело, когда либа сорцы вообще не готовы к этому, и их туда отправляют

Berkus
15.06.2017
15:02:24
ну так я и говорю

Alexander
15.06.2017
15:02:43
а с бистом я не следил

Berkus
15.06.2017
15:02:45
что надо готовить их к ревью и отправлять, а не рассчитывать не мейнтейнеров которые эээм... эксцентричны

Stanislav
15.06.2017
15:02:48

Berkus
15.06.2017
15:03:09

Stanislav
15.06.2017
15:03:21

Google

Vlad
15.06.2017
15:03:28

Berkus
15.06.2017
15:03:29
винни фалько, автор биста

Alexander
15.06.2017
15:03:40

Stanislav
15.06.2017
15:03:41
я против

Alexander
15.06.2017
15:03:54

Stanislav
15.06.2017
15:04:01
мне его бист не оч вкатил

Berkus
15.06.2017
15:04:02

Alexander
15.06.2017
15:04:09

Berkus
15.06.2017
15:04:15
бист это фундамент и билдинг блок
все там отлично сделано

Stanislav
15.06.2017
15:04:30
ну биста не будет пока асио в стандарте не появится
на что он расчитывает?

Berkus
15.06.2017
15:04:40
блин
в БУСТ
не в стандарт

Alexander
15.06.2017
15:04:46

Stanislav
15.06.2017
15:04:48
а тьфу

Дед Пегас
15.06.2017
15:05:07
Бубсы!

Google

Berkus
15.06.2017
15:05:17
оно пока даже в бубс не попало

Stanislav
15.06.2017
15:05:29
Бубсы!
бубс это всегда хорошо )

Alexander
15.06.2017
15:05:43
Так, а теперь если серьезно: кто хочет Тимсорт в бусте и готов заняться этим? Я помогу со всем, чем надо, только PR не от меня

Berkus
15.06.2017
15:05:45
про стандарт можно будет говорить когда std::networking допилят и boost.uri заакцептят )

Alexander
15.06.2017
15:05:52
я с ним больше разговаривать не хочу даже

Stanislav
15.06.2017
15:06:13

Alexander
15.06.2017
15:06:16
но тогда помните, что вам придётся и мейнтейнить исходник

Stanislav
15.06.2017
15:06:33
кроме тех данных, где у тебя не рандом голимый

Evgeniy
15.06.2017
15:06:45

Alexander
15.06.2017
15:06:52
на таких кейсах он рвёт в хлам всё остальное

Stanislav
15.06.2017
15:06:54

Alexander
15.06.2017
15:07:15
и introsort, и spreadsort хвалёный

Дед Пегас
15.06.2017
15:09:40
Забанили уже, что ли?

Alexander
15.06.2017
15:09:58
я не хочу иметь дела с этим мейнтейнером
у меня и так работы хватает помимо Boost.Sort, гд есть более склонные к диалогу люди
к тому же летом я отойду от буста

Stanislav
15.06.2017
15:11:29
тоже хорошо

Google

Alexander
15.06.2017
15:11:49

Stanislav
15.06.2017
15:12:05

Дед Пегас
15.06.2017
15:12:06
Можно сделать свой бубс.

Alexander
15.06.2017
15:12:17

Stanislav
15.06.2017
15:12:40

Дед Пегас
15.06.2017
15:12:41

Alexander
15.06.2017
15:12:47
короче, если у кого-то появится желание пропихнуть тимсорт ещё раз в буст - пишите, я помогу как смогу

Дед Пегас
15.06.2017
15:12:48

Admin
ERROR: S client not available

Alexander
15.06.2017
15:12:51

Stanislav
15.06.2017
15:13:57
предлагаю завтра запинить про это)

Alexander
15.06.2017
16:20:15
https://www.phoronix.com/scan.php?page=news_item&px=glibc-enable-tunables
я прочитал и не понял, что это такое. Кастомизация чего и каким образом?

Berkus
15.06.2017
16:43:54
https://www.gnu.org/software/libc/manual/html_node/Tunables.html

reagentoo
15.06.2017
18:15:14
почему бы declval'у не принимать нешаблонные аргументы?
(...)

Александр
15.06.2017
18:15:36
??
суть теряется

reagentoo
15.06.2017
18:16:04
у void_t тоже есть суть?

Google

Александр
15.06.2017
18:16:19
std::declval<T>() == *(T*)nullptr; без UB
зачем нешаблонные аргументы?
пример бы

reagentoo
15.06.2017
18:16:47
для sfinae

Alexander
15.06.2017
18:17:34

reagentoo
15.06.2017
18:17:40
пример бы
https://github.com/reagentoo/libcxx/blob/master/include/whole.h#L10

Александр
15.06.2017
18:19:14
declval используется всегда напрямую и без аргументов, причем это не зависит от контекста
короче я всё равно не понял замысел

reagentoo
15.06.2017
18:19:51
замысел - обман компилятора
и он обманывается
там по ссылке вызываются все операторы для любых типов. если их нет - вызывается пустая функция с исключением
но мне всё равно не нравится, что через void_t, что это

Constantine
15.06.2017
20:27:49

reagentoo
15.06.2017
20:35:51

Constantine
15.06.2017
20:36:41

reagentoo
15.06.2017
20:37:07
ясно

Constantine
15.06.2017
20:39:50
на самом деле эта шутка до слез по делу

Vladislav
15.06.2017
20:55:03

Constantine
15.06.2017
20:57:25
все так
угу. На что там проект, на D переписывать? :)

reagentoo
15.06.2017
22:14:11