[00:00:43] <ada_ru> (insert_reference_here)  отвечает (I_vlxy_I) на <кажется в Аде ещё и …>
А что с ним не так?
[00:01:47] <ada_ru> (I_vlxy_I)  отвечает (insert_reference_here) на <А что с ним не так?>
не знаю пока. но он медленный.
[00:02:24] <ada_ru> (I_vlxy_I) либо строки в него сующиеся медленные. либо сочетание (типа при свопе строк например каждый раз копируется вся строка)
[00:11:37] <ada_ru> (I_vlxy_I)  отвечает (insert_reference_here) на <А что с ним не так?>
btw: а как подружить afsort (https://crates.io/crates/afsort) с ```Vec<Vec<u8>>`` ?
[00:12:54] <ada_ru> (I_vlxy_I) https://godbolt.org/z/23vD6h
[00:14:21] <ada_ru> (I_vlxy_I) ```
   = note: the method af_sort_unstable exists but the following trait bounds were not satisfied:
           `[std::vec::Vec<u8>] : afsort::AFSortable````
[00:20:40] <ada_ru> (insert_reference_here) afsort::sort_unstable_by(&mut lines, Vec::<u8>::as_slice)
[00:22:33] <ada_ru> (I_vlxy_I)  отвечает (insert_reference_here) на <afsort::sort_unstabl…>
error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
  --> src/main.rs:113:5
   |
113 |     afsort::sort_unstable_by(&mut lines, Vec::<u8>::as_slice);
   |     ^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
   |
   = help: the trait `std::marker::Sized` is not implemented for `[u8]`
   = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
   = note: required by `afsort::sort_unstable_by`
[00:28:24] <ada_ru> (insert_reference_here)  отвечает (I_vlxy_I) на <error[E0277]: the si…>
Блин
[00:28:35] <ada_ru> (insert_reference_here) Ну тут только библиотеку форкать, увы
[00:29:09] <ada_ru> (insert_reference_here) pub fn sort_unstable_by<T, O, S>(vec: &mut [T], sort_by: S) where
   O: Ord + DigitAt,
   S: Fn(&T) -> &O,
[00:30:13] <ada_ru> (insert_reference_here) Ко всем дженерик-параметрам неявно добавляется ограничение Sized. На O оно тоже действует, но оно бессмысленно, т. к.  значениями типа O манипулируют только по ссылке
[00:30:29] <ada_ru> (I_vlxy_I) как пофиксить?
[00:31:48] <ada_ru> (insert_reference_here) Короче, правильная сигнатура должна выглядеть так:
pub fn sort_unstable_by<T, O, S>(vec: &mut [T], sort_by: S) where
   O: Ord + DigitAt + ?Sized,
   S: Fn(&T) -> &O,
[00:32:13] <ada_ru> (insert_reference_here) То есть к параметру O функции дописать ограничение ?Sized
[00:41:33] <ada_ru> (I_vlxy_I) ага. помогло
[00:42:36] <ada_ru> (insert_reference_here) Надо чувака пнуть с PR-ом
[00:45:27] <ada_ru> (I_vlxy_I) но в плане быстродействия вообще не помогло никак.
вот с его сортировкой:
real    0m38.650s
user    0m36.578s
sys     0m1.837s

А вот со стандартной (merge sort на стероидах):
real    0m38.067s
user    0m36.069s
sys     0m1.825s
[00:45:45] <ada_ru> (insert_reference_here) Эх(
[00:46:05] <ada_ru> (I_vlxy_I) в жопу американский флаг!
[00:46:45] <ada_ru> (I_vlxy_I) а в плюсах одна моя идея тоже провалилась - small string optimization for string_view.
[00:47:25] <ada_ru> (I_vlxy_I) но вообще, скорее всего, на более адекватных данных (а не из urandom'а взятых строках) это бы всё сработало бы.
[10:25:48] <ada_ru> (nitrocerber) А чо за американский флаг, о котором постоянно говорят блльшевики?
[13:04:58] <OCTAGRAM> http://forum.pascal.net.ru/index.php?showtopic=32598
[13:05:59] <OCTAGRAM> http://forum.pascal.net.ru/index.php?showtopic=32599
[13:21:13] <ada_ru> (Eugene)  отвечает (nitrocerber) на <А чо за американский…>
наверное вот это: https://en.wikipedia.org/wiki/American_flag_sort
[14:09:48] <ada_ru> (I_vlxy_I) https://mobile.twitter.com/joeerl/status/1104298407231922176
[14:25:47] <ada_ru> (nitrocerber)  отвечает (Eugene) на <наверное вот это: ht…>
Забавно, описание на английском, сербском и арабском. Иронично,я бы даже сказал..
[14:28:06] <ada_ru> (I_vlxy_I) попробовал не in-place merge sort - работает медленней чем инплейс
[14:34:21] <ada_ru> (I_vlxy_I) хотя, думаю, там есть еще где и что порешать
[15:10:52] <ada_ru> (Sensei5)  отвечает (Oleg) на <На плюсах?>
Возвращаясь к вопросу о существенно меньшом количестве драйверов для венды. Вот пример: USB nic D-Link dub-e100.
В линуксе работает из коробки. В вендовозе10 - нет.
[15:12:48] <ada_ru> (Sensei5) Дров нет
[15:13:54] <ada_ru> (I_vlxy_I)  отвечает (Sensei5) на <Дров нет>
но вы держитесь
[16:05:31] <ada_ru> (nitrocerber) Подключаем линуховую подсистему и вперёд изкаропничать)
[16:22:05] <ada_ru> (I_vlxy_I)  отвечает (nitrocerber) на <Подключаем линуховую…>
Там нет дров
[16:22:09] <ada_ru> (I_vlxy_I) Ядра то нет
[16:22:46] <ada_ru> (nitrocerber) А що там есть?
[16:23:22] <ada_ru> (nitrocerber) Конторская джигурда вполне себе собирается, а дальше мне не горело изучать
[16:53:34] <ada_ru> (I_vlxy_I)  отвечает (nitrocerber) на <А що там есть?>
Юзерспейс
[16:53:58] <ada_ru> (I_vlxy_I) То есть системные вызовы, которые там реализованы независимо, но совместимо
[16:54:21] <ada_ru> (I_vlxy_I) Но ядра то нет под которое можно было бы дрова делать
[21:34:28] <ada_ru> (I_vlxy_I) https://m.lenta.ru/news/2019/03/10/pilot/
[21:34:45] <ada_ru> (I_vlxy_I) Современные модели боинга опять жгут
[21:35:49] <ada_ru> (I_vlxy_I)  отвечает (nitrocerber) на <Это вы тут фигнёй ма…>
Видимо взяли это на вооружение при проектировании лайнеров
[21:36:10] <ada_ru> (I_vlxy_I) Ну или с Ады на js перешли уже на новых моделях