|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза mayton Вообще Война и Мир это текстовый файл длиной где-то 5 мегабайт и в нем поиск любого слова идет достаточно быстро для современного процессора и памяти. Ты в текстовом редакторе там найдешь все что надо. текстовый редактор в 2мб-файле ищет слово из конца неск.секунд. Ну что за бред очередной Скорость чтения современного паршивенького HDD около 100 мб/сек, т.е. 2 мб читается 0.02 сек, ровно 20 мс надо чтобы найти слово в конце 2 мб. но если HDD спит, читай выключен, то да, 1.98 сек уйдет на его раскрутку перед чтением. Чтение из закэшированного файла порядка 4-5 Гб/сек, т.е. это скорость работы кэша ОС. Тут на поиск уйдет 0,0005 сек. Надо быстро с диска читать - SSD NMVe M.2 скорость чтения до 4 Гб/сек может быть. PS У меня на селеронах 15-летней давности strstr() в 50+ мб ищет за миллисекунды. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 18:39 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Как тебе такое решение? 0.25 секунды? решение? Как-то ты далековат от темы хайлоада. А зачем ты мне про какие-то поиски в текстовых редакторах рассказываешь, когда я фактически тоже самое предлагал - расфасовать все слова? Это вообще-то побыстрее работает, чем забить 20 ядер поиском по массиву слов... Ради 0.25 сек Не, гугловские технологии таки лучше. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 18:40 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Dima T PS У меня на селеронах 15-летней давности strstr() в 50+ мб ищет за миллисекунды. какой strstr блин mayton Ты в текстовом редакторе там найдешь все что надо. Dima T Чтение из закэшированного файла порядка 4-5 Гб/сек, т.е. это скорость работы кэша ОС. Тут на поиск уйдет 0,0005 сек. ну ок, пускай внутри C++ будет 0.0005, но таких массивов текстов будет несколько. Представь, что по библиотеке надо найти все подходящие книги. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 18:42 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза Это вообще-то побыстрее работает, чем забить 20 ядер поиском по массиву слов... Ради 0.25 сек Не, гугловские технологии таки лучше. Я тебе могу рассказать как гугловские работают. Там тоже map-reduce. По полнотекстовому индексу всего интернета. Но с региональными особенностями. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 18:43 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза Dima T PS У меня на селеронах 15-летней давности strstr() в 50+ мб ищет за миллисекунды. какой strstr блин mayton Ты в текстовом редакторе там найдешь все что надо. Видишь как хорошо. Найтоящий брейншторм. Мы уже твой триллион объектов рассмотрели в 4 разных способа. Кстати за тобой должок. Ты так и не рассказал что внутри объектов. А от этого ... как-то обидно. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 18:45 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза Dima T PS У меня на селеронах 15-летней давности strstr() в 50+ мб ищет за миллисекунды. какой strstr блин тот что по ссылке, а ищет в файле замапленном в память. 10+ лет назад написал, думал надо ускорять, а оно и так летает. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 18:46 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей РозаКак-то ты далековат от темы хайлоада. Того хайлоада, который "всё тормозит и мы не можем понять почему"? Или того, который "зачем оптимизировать наш код, когда можно ужесточить требования к чужому?" Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 18:47 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза PetroNotC Sharp petrav, Аффтар приколист. На третьей странице свернул к бэкапу чтобы байт не потерять. И к полнотекстовому поиску так как мы! его затронули)). к какому ещё бекапу я свернул, где? Ты держа коллекцию или вектор в оперативке боялся потерять байт? Ну дак расшифруй как это потерять. Уборщица шваброй резет нажала? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 18:51 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Мы уже твой триллион объектов рассмотрели в 4 разных способа. чо вы рассмотрели то? У меня нет проблем с поиском по триллионному вектору а в объектах int + short ИЛИ int + string я это говорил в начале. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 18:53 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Если все-таки СУБД потребуется - то я бы советовал глянуть в сторону SQLite, она изначально рождена как СУБД работающая на стороне клиента. У нее есть прямой интерфейс для С/С++, это немаловажно, т.к. классические универсальные прокладки аля ADO, ODBC и т.п. жрут достаточно много ресурсов. Изначально она медленная, т.к. настроена на максимум надежности, но при некотором тюнинге может летать. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 18:54 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
По поводу исходных данных. Есть такой ресурс. Или был. Называется Флибуста. Там - библиотека художественной литературы в формате fb2 (это XML внутри). Ее - можно качнуть в торрентах в виде zip архивов. Там есть полные и есть инкременты. Так вот. Когда мы еще с Базистом спорили о trie, hash-array и прочих структурах я предлагал Флибусту использовать в качестве исходных данных для симуляции правильной нагрузки. Базист тогда предпочитал парсить ПТ чтобы индексировать его содержимое. Кстати я думаю он сейчас чуть ли не единственный у кого есть исторический срез ПТ. Где-то по 2015 год я думаю. Вобщем если кто-то хочет реально показать свою мощь и круть - попробуйте поискать слова в Флибусте. Я думаю сейчас там гигабайт на 100 потянет. Это примерно 10% от той постановки которую озвучил Алексей. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 18:56 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза mayton Мы уже твой триллион объектов рассмотрели в 4 разных способа. чо вы рассмотрели то? У меня нет проблем с поиском по триллионному вектору а в объектах int + short ИЛИ int + string я это говорил в начале. Еще раз сформулируй проблему. Со знаками препинания. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 18:58 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Алексей РозаКак-то ты далековат от темы хайлоада. Того хайлоада, который "всё тормозит и мы не можем понять почему"? Или того, который "зачем оптимизировать наш код, когда можно ужесточить требования к чужому?" полнотекстовый поиск по библиотеке книг у нас на повестке - что непонятного? но вообще это можно и не обсуждать, сам писать не буду, проще либу взять. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 18:58 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Dima T Если все-таки СУБД потребуется - то я бы советовал глянуть в сторону SQLite, она изначально рождена как СУБД работающая на стороне клиента. У нее есть прямой интерфейс для С/С++, это немаловажно, т.к. классические универсальные прокладки аля ADO, ODBC и т.п. жрут достаточно много ресурсов. Изначально она медленная, т.к. настроена на максимум надежности, но при некотором тюнинге может летать. я уже обглядел ВСЕ субд. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 18:59 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
mayton Вобщем если кто-то хочет реально показать свою мощь и круть - попробуйте поискать слова в Флибусте. Я думаю сейчас там гигабайт на 100 потянет. Это примерно 10% от той постановки которую озвучил Алексей. да там какой-нибудь эластик всё делает ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 19:00 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза mayton Мы уже твой триллион объектов рассмотрели в 4 разных способа. чо вы рассмотрели то? У меня нет проблем с поиском по триллионному вектору а в объектах int + short ИЛИ int + string я это говорил в начале. А какая средняя длина string? Или даже не длина а ... например 99% строк не превышают 3 символа. Ну чтото типа такого я хотел услышать. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 19:03 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
да также - 4 символа ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 19:04 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Розаполнотекстовый поиск по библиотеке книг у нас на повестке - что непонятного? Полнотекстовый поиск. В векторе. На триллион слов. Понятно. Удачи! Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 19:09 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза mayton Вобщем если кто-то хочет реально показать свою мощь и круть - попробуйте поискать слова в Флибусте. Я думаю сейчас там гигабайт на 100 потянет. Это примерно 10% от той постановки которую озвучил Алексей. да там какой-нибудь эластик всё делает Под капотом Эластика стоит Lucene. Это текстовый двигатель написанный на Java и использующий концептуально map-reduce как главный регулятор перформанса. Тоесть как ты хочешь - так и ускоряешь его. Единственный нюанс. Эластик плохо работает с арифметикой. Тоесть он на заточен например под WHERE month between 'JAN' and 'JUL'. Он в принципе не делает арифметику. Он - по точному совпадению. Хотя может его уже доделали. Я не следил где-то с 2018 года. Кроме того Эластик - не для транзакций а для исторических данных. Типа логи. Тоесть если файл дописываетя в хвостик - то эластик будет хорош. А если у вас есть типизированная табличка типа dbm/dbf/stuctures C++ то здесь эластик зафейлит. Он не сможет отслеживать изменение в центре таблицы. Ему надо как-то отдельно сообщать и подписывать его на изменения. И то они будут eventual consistent. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 19:10 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
угу, я тоже за postgres FTS. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 19:13 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза да также - 4 символа Ну это типа так? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 19:13 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза Dima T Если все-таки СУБД потребуется - то я бы советовал глянуть в сторону SQLite, она изначально рождена как СУБД работающая на стороне клиента. У нее есть прямой интерфейс для С/С++, это немаловажно, т.к. классические универсальные прокладки аля ADO, ODBC и т.п. жрут достаточно много ресурсов. Изначально она медленная, т.к. настроена на максимум надежности, но при некотором тюнинге может летать. я уже обглядел ВСЕ субд. Кстати Дима хороший вариант предлагал. СКЛайт умеет полнотекстовый индекс тоже строить. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 19:14 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Алексей Роза У меня нет проблем с поиском по триллионному вектору Это троллинг какой-то. Предлагаю топик закрыть. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 19:15 |
|
vector на триллион объектов
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Алексей Розаполнотекстовый поиск по библиотеке книг у нас на повестке - что непонятного? Полнотекстовый поиск. В векторе. На триллион слов. Понятно. Удачи! да хосспаде, забудьте уже про вектор. Нету с ним никаких проблем! и про память уже всё ясно, что риски такие же, как и с диском (а то и меньше). А вот про поиск в библиотеке тема всплыла, она поинтересней будет... Но тут лидером был и остаётся гугл, так что лучше него всё равно ничего не родить. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2020, 19:17 |
|
|
start [/forum/topic.php?fid=57&msg=39972881&tid=2017354]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
164ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
75ms |
get tp. blocked users: |
1ms |
others: | 239ms |
total: | 528ms |
0 / 0 |