Size: a a a

2020 December 05

AZ

Alexander Zaitsev in Rust Beginners
Eugene
для какого использования?
для заметок, как ТС реквестирует
источник

AZ

Alexander Zaitsev in Rust Beginners
Vnu
Хорошо, спасибо.
Если вдруг твоё приложение проживёт сколь-нибудь долго, не забудь ещё раз поблагодарить, когда ручную миграцию будешь делать
источник

E

Eugene in Rust Beginners
Alexander Zaitsev
для заметок, как ТС реквестирует
вот здесь могут ответить
https://t.me/rust_beginners_ru/93266
источник

E

Eugene in Rust Beginners
этот чат вроде не про обсуждение субд?
или здесь можно кроме rust сторонние темы обсуждать?
источник

AZ

Alexander Zaitsev in Rust Beginners
Eugene
этот чат вроде не про обсуждение субд?
или здесь можно кроме rust сторонние темы обсуждать?
а тут БД для раст прилаги :) но на самом деле ты прав
источник
2020 December 06

П

Пашечка in Rust Beginners
Граждане, есть идеи, как рассчитать максимально занимаемую моей программой оперативку?

Суть проблемы: есть файл, он будет очень часто анализироваться в несколько потоков. Чтобы это дело ускорить и не читать постоянно с диска, хочу загрузить его в память.

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

Собственно, зачем это: чтобы, если файл слишком большой и не поместится в ОЗУ нужное количество раз (под каждый поток же) - не читать его сразу, а когда нужно читать с диска.
источник

/

/bin/cat in Rust Beginners
Может быть лучше сделать mmap и пусть этим занимается ОС?
источник

SS

Slava Sokolovsky in Rust Beginners
Пашечка
Граждане, есть идеи, как рассчитать максимально занимаемую моей программой оперативку?

Суть проблемы: есть файл, он будет очень часто анализироваться в несколько потоков. Чтобы это дело ускорить и не читать постоянно с диска, хочу загрузить его в память.

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

Собственно, зачем это: чтобы, если файл слишком большой и не поместится в ОЗУ нужное количество раз (под каждый поток же) - не читать его сразу, а когда нужно читать с диска.
Лучше извне это сделать. На линуксе много утилит для такого
источник

SS

Slava Sokolovsky in Rust Beginners
Просто разные системы по-разному выделяют память под процессы. И могут загружать туда свои данные
источник

/

/bin/cat in Rust Beginners
источник

П

Пашечка in Rust Beginners
/bin/cat
Может быть лучше сделать mmap и пусть этим занимается ОС?
Mmap не подойдет, потому что я гарантированно каждым воркером вычитаю весь файл
источник

П

Пашечка in Rust Beginners
Ну, точнее, может и подойдет, но проблема не решится
источник

/

/bin/cat in Rust Beginners
очень странная ситуация
источник

JC

Julian =) Coffee in Rust Beginners
Kai Ren
Простой дамп in-memory данных в json файлик вполне отвечает описанным Вами требованиям.

* Весит столько, сколько и Ваши данные. Минимум оверхеда. Если этого мало - можете жать gzip'ом сверху (или чем захотите).
* JSON очень простой. Какую структуру заметок в приложении опишите - такой она и будет в файлике. Никакой магии.
тогда уж можно csv
источник

/

/bin/cat in Rust Beginners
тут скорее надо один раз прочитать, а потом пошарить
источник

П

Пашечка in Rust Beginners
/bin/cat
тут скорее надо один раз прочитать, а потом пошарить
Будут гонки данных :)
источник

SS

Slava Sokolovsky in Rust Beginners
Пашечка
Будут гонки данных :)
Почему?
источник

SS

Slava Sokolovsky in Rust Beginners
Если память не меняется, то гонок не будет
источник

П

Пашечка in Rust Beginners
Slava Sokolovsky
Почему?
Потому что такой процесс обработки файла, он будет немного меняться х)
источник

/

/bin/cat in Rust Beginners
не разбирался с потоками, но судя по описанию тебе нужен Mutex для slice u8
источник