The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Опубликован второй кандидат в релизы встраиваемой СУБД libmd..., opennews (?), 07-Янв-20, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


29. "Опубликован второй кандидат в релизы встраиваемой СУБД libmd..."  –1 +/
Сообщение от Аноним (29), 08-Янв-20, 13:42 
Ю  больше внимания уделяется качеству кода
Фи, как несовременно!
Сейчас надо писать быстро, потому что пока вы будете писать свой качественный код, макаки выкинут на рынок своё быстровысер, а потом вы припрётесь на рынок со своим качественным продуктом, потребитель откажется от макакоподелия и вы будете виноваты провале перспективного инновационного макакостартапа.
Ответить | Правка | Наверх | Cообщить модератору

32. "Опубликован второй кандидат в релизы встраиваемой СУБД libmd..."  –3 +/
Сообщение от Аноним (33), 08-Янв-20, 16:46 
Лучше в коде макак найти что-то годное, чем юзать продукт человека, который пишет про себя: "антагонист Java". А его статья на хабре про то что он написал сортировку не хуже чем гнушный sort это бомба. Цитата: "Весьма вероятно, что этот вариант чуть быстрее и/или несущественно медленнее подавляющего большинства сортировок, но выяснить это — буквально титанический труд, который я не могу себе позволить." Т.е. новый алгоритм лучше, но это не точно, скачайте мою бд и попробуйте. Гений копирайта не меньше.

А продолжая смотреть где он работает и что делает как тут уже выше написали желание пользовать его поделку улетучивается само по себе. Вангую что сабжевый автор еще дальше отъехавший чем Шигорин.

Простой совет если у вас на компьютере установлен Альт Линукс сабж вам подходит на все 146% если нет ни в коем случае не приближайтесь к нему и не скачивайте и не упоминайте в суе.

Ответить | Правка | Наверх | Cообщить модератору

34. "Опубликован второй кандидат в релизы встраиваемой СУБД libmd..."  +2 +/
Сообщение от erthink (ok), 08-Янв-20, 17:08 
> про себя: "антагонист Java"

Да, ибо не люблю лишних абстракций ради абстракций и последующей героической борьбы с ними.

> А его статья на хабре про то что он написал сортировку не хуже чем гнушный sort это бомба.

Не статья, я скорее заметка. Не написал сортировку, а скомбинировал варианты и показал удачный результат. Ну и т.д.

> Т.е. новый алгоритм лучше, но это не точно, скачайте мою бд и попробуйте.

В нужном мне контексте, показанная там комбинация существующих алгоритмов действительно лучше.
Но заведомо известно, что среди всех N! возможных комбинаций данных будут такие, где будет медленнее.

+ Но я таки еще раз вам доставлю, написав еще одну "статью" в продолжение.
Ибо текущий вариант внутренней сортировки в libmdbx на 10-30% быстрее std::sort, причем как на Эльбрусе, так и на x86.

> Вангую что сабжевый автор еще дальше отъехавший чем Шигорин.

Это комплимент, я читаю.

Ответить | Правка | Наверх | Cообщить модератору

36. "Опубликован второй кандидат в релизы встраиваемой СУБД libmd..."  +3 +/
Сообщение от erthink (ok), 08-Янв-20, 19:11 
Чтобы не быть голословным и доставить удовольствие местным анонимным икспёртам.
Текущая сортировка внутри libmdbx показывает такие циферки:

---
Эльбрус E8C, компилятор lcc:1.23.19:Jun-19-2019:e2k-v4-linux

random, 11 items   std::sort: 413.168 ticks, ok
  mdbx: 96.050 ticks 430.16% speed, ok
mixed, 11 items   std::sort: 400.129 ticks, ok
  mdbx: 96.050 ticks 416.58% speed, ok

random, 111 items   std::sort: 6750.706 ticks, ok
  mdbx: 4671.339 ticks 144.51% speed, ok
mixed, 111 items   std::sort: 4541.049 ticks, ok
  mdbx: 2836.840 ticks 160.07% speed, ok

random, 1111 items   std::sort: 93208.344 ticks, ok
  mdbx: 77806.556 ticks 119.79% speed, ok
mixed, 1111 items   std::sort: 52042.322 ticks, ok
  mdbx: 40537.589 ticks 128.38% speed, ok

random, 11111 items   std::sort: 1200639.556 ticks, ok
  mdbx: 1085497.222 ticks 110.61% speed, ok
mixed, 11111 items   std::sort: 819688.111 ticks, ok
  mdbx: 618397.111 ticks 132.55% speed, ok

---
Intel x86-64, компилятор gcc 9.2.1

random, 11 items   std::sort: 439.045 ticks, ok
  mdbx: 60.506 ticks 725.62% speed, ok
mixed, 11 items   std::sort: 113.641 ticks, ok
  mdbx: 47.006 ticks 241.76% speed, ok

random, 111 items   std::sort: 7217.518 ticks, ok
  mdbx: 5166.508 ticks 139.70% speed, ok
mixed, 111 items   std::sort: 2533.239 ticks, ok
  mdbx: 1952.844 ticks 129.72% speed, ok

random, 1111 items   std::sort: 101895.956 ticks, ok
  mdbx: 88060.700 ticks 115.71% speed, ok
mixed, 1111 items   std::sort: 42254.344 ticks, ok
  mdbx: 32174.811 ticks 131.33% speed, ok

random, 11111 items   std::sort: 1431319.556 ticks, ok
  mdbx: 1240181.444 ticks 115.41% speed, ok
mixed, 11111 items   std::sort: 688404.444 ticks, ok
  mdbx: 486213.778 ticks 141.58% speed, ok

---
Intel x86-64, компилятор clang 9.0

random, 11 items   std::sort: 270.146 ticks, ok
  mdbx: 42.616 ticks 633.91% speed, ok
mixed, 11 items   std::sort: 97.677 ticks, ok
  mdbx: 42.713 ticks 228.68% speed, ok

random, 111 items   std::sort: 8251.918 ticks, ok
  mdbx: 5323.947 ticks 155.00% speed, ok
mixed, 111 items   std::sort: 2792.332 ticks, ok
  mdbx: 2016.517 ticks 138.47% speed, ok

random, 1111 items   std::sort: 120649.822 ticks, ok
  mdbx: 92747.533 ticks 130.08% speed, ok
mixed, 1111 items   std::sort: 41854.211 ticks, ok
  mdbx: 33450.478 ticks 125.12% speed, ok

random, 11111 items   std::sort: 1520248.667 ticks, ok
  mdbx: 1198299.667 ticks 126.87% speed, ok
mixed, 11111 items   std::sort: 711888.222 ticks, ok
  mdbx: 504380.000 ticks 141.14% speed, ok

---
Intel x86-64, компилятор gcc 7.4 (тут хуже, потому что до 9.x у gcc плохо с CMOV).

random, 11 items   std::sort: 242.481 ticks, ok
  mdbx: 202.167 ticks 119.94% speed, ok
mixed, 11 items   std::sort: 100.371 ticks, ok
  mdbx: 58.314 ticks 172.12% speed, ok

random, 111 items   std::sort: 7136.350 ticks, ok
  mdbx: 7360.917 ticks 96.95% speed, ok
mixed, 111 items   std::sort: 2634.730 ticks, ok
  mdbx: 2448.223 ticks 107.62% speed, ok

random, 1111 items   std::sort: 105528.567 ticks, ok
  mdbx: 107678.700 ticks 98.00% speed, ok
mixed, 1111 items   std::sort: 39723.067 ticks, ok
  mdbx: 36326.300 ticks 109.35% speed, ok

random, 11111 items   std::sort: 1389003.667 ticks, ok
  mdbx: 1409333.000 ticks 98.56% speed, ok
mixed, 11111 items   std::sort: 651409.667 ticks, ok
  mdbx: 558271.000 ticks 116.68% speed, ok

На всякий: машины разные, тики посчитаны посредством MFENCE+RDTSC (выбираются лучшие для 100 повторов и усредняются за несколько прогонов с разными данными), сравнивать их между собой не совсем корректно.
С "random"-паттерном думаю все очевидно, а "mixed" - это симуляция наиболее частого случая при работе MDBX (половина данных отсортирована, четверть в обратном порядке, еще четверть в случайном порядке).

Ответить | Правка | Наверх | Cообщить модератору

41. "Опубликован второй кандидат в релизы встраиваемой СУБД libmd..."  +/
Сообщение от Аноним (-), 09-Янв-20, 00:26 
> Эльбрус E8C, компилятор lcc:1.23.19:Jun-19-2019:e2k-v4-linux

А конфига которую вот просто хрен проверишь и сравнишь - специальна взята, чтобы маркетинговый булшит получше был? Ну тогда и вам набутыливателей посуровее в гости.

Ответить | Правка | Наверх | Cообщить модератору

43. "Опубликован второй кандидат в релизы встраиваемой СУБД libmd..."  +2 +/
Сообщение от erthink (ok), 09-Янв-20, 00:40 
>> Эльбрус E8C, компилятор lcc:1.23.19:Jun-19-2019:e2k-v4-linux
> А конфига которую вот просто хрен проверишь и сравнишь - специальна взята,
> чтобы маркетинговый булшит получше был? Ну тогда и вам набутыливателей посуровее
> в гости.

Если у вас нет Эльбруса, то вы _никак_ это не проверите, вне зависимости от прочего.

Но как вы наверно заметили, показаны циферки и для x86-64. Попробуйте взять [исходники](https://github.com/leo-yuriev/libmdbx/blob/devel/src/element...) и показать тест, в котором эта сортировка целых чисел (мне нужно именно это) не будет обгонять `std::sort()` (с `qsort()` сравнивать некорректно, ибо там много накладных расходов на вызов компаратора).

Ответить | Правка | Наверх | Cообщить модератору

38. "Опубликован второй кандидат в релизы встраиваемой СУБД libmd..."  +/
Сообщение от Аноним (38), 08-Янв-20, 23:37 
> чем юзать продукт человека, который пишет про себя: "антагонист Java"

Не пользуйтесь.
А я взял бы такого человека на заметку, потому что жаба жЫрная, тормозная и дырявая (в любой ипостаси - скала, груви, котлин, какой угодно), и человек, который не хочет иметь с ней дела, как минимум заботится о том, как его продукт будер работать, а не только о том, чтобы побыстрее что-то накарябать и выпихнуть в продакшон.

Ответить | Правка | К родителю #32 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру