
Sasha
06.07.2018
19:17:20
чтоб было удобнее работать юзеру, (через консоль не вариант)

Dima
06.07.2018
19:17:39
1гб это 1000 война и мир, 10 гб это 10 000 война и мир

Vasya
06.07.2018
19:18:04
10гб на руби это плохая идея, тут я с Дмитрием согласен

Dima
06.07.2018
19:18:15

Google

Sasha
06.07.2018
19:18:18
а сколько времени ловально (на хорошем проце) руби будет обрабатывать? неужели так долго?
локально*

Dima
06.07.2018
19:19:04
что там делать надо?

Sasha
06.07.2018
19:19:27
текстовый поиск, ну например
input: "my"
output: 3

Dima
06.07.2018
19:20:03
например grep.
если вам нужен поиск, то мы сейча сможем посчтиать скорость поиска.

Sasha
06.07.2018
19:20:50
ну можно и на Go написать, но хотелось бы на руби)

Dima
06.07.2018
19:22:03

Zamira
06.07.2018
19:22:25
Дима правильно говорит. Есть интсрументы уже заточенные. Есть языки более уместные. Плчему вы так привязались к руби?
Только потому что знаете его?

Владимир
06.07.2018
19:23:43
потому что иконка прикольная!

Google

Владимир
06.07.2018
19:23:58
а вообще прямые руки решают любые задачи любыми средствами

Vasya
06.07.2018
19:24:27
Насколько бы не были руки прямыми у каждого языка есть ограничения

Anton
06.07.2018
19:24:50

Владимир
06.07.2018
19:24:59
после квейка на екселе мою веру в прямоту рук не пошатнуть!

Sasha
06.07.2018
19:25:44
для текстового поиска, как я слышал, руби подходит. У кого то был опыт?
But when it comes to scanning, extracting, and transforming text, Ruby is that tool, and Rob Miller is the right guide to instruct you in the most effective and efficient application of it.

Dima
06.07.2018
19:28:56

Zamira
06.07.2018
19:29:45

Dima
06.07.2018
19:30:26

Sasha
06.07.2018
19:59:50
Дело в том, что нету вопроса в скорости. Будет вместо 1 секунды, 15-20, хорошо. :)
но конечно хотелось бы быстро7

Vasya
06.07.2018
20:00:43
Это будет 15-20 с одного запроса
В пределах 10гб это будет огромная потеря в памяти

Sasha
06.07.2018
20:02:44
Можно разбить файл, на много частей и работать с каждым в тредах?
хотя нет

Dima
06.07.2018
20:10:29
после чего я увуличил размер файла в 2е, просто продублировав документацию добавил ключь в конец, и посчитал сколько время будет потрачено на поиск.
потом вложил все это в цикл.

Sasha
06.07.2018
20:11:52
И сколько вышло?

Google

Dmitry
06.07.2018
20:12:23

Dima
06.07.2018
20:12:34
который увеличивает объем файла, пуетм добавления содержимого файла к самому себе, добавлет в конец полученного файла ключь, и ищет этот ключь засекая время.
поиск в 20М занимает 0.01 sec

Sasha
06.07.2018
20:14:02
выходит 10 гиг 5 секунд,

Dima
06.07.2018
20:14:21
1 гиг = 500 секунд
10 гиг = 5000 секунд

Sasha
06.07.2018
20:15:09
а сори, я думал 0.01 милисекунда

Dima
06.07.2018
20:17:16
ruby -e "a = (1000_000_000/20)*0.01; p a, a/3600, a/(3600*24)"
500000.0
138.88888888888889
5.787037037037037
т.е. поиск строки которая лежит в самом конце 1TB куска текста займет 5 суток

Sasha
06.07.2018
20:18:30
не понял, если 1 гиг 500 секунд, то 10 гиг 5к секунд? а не 500к
5к секунд это 83 минуты

Dima
06.07.2018
20:19:17
да
5к секунд это 83 минуты
точно
ruby -e "a = (10_000_000/20)*0.01; p a, a/3600, a/(3600*24)"
5000.0
1.3888888888888888
0.05787037037037037

Sasha
06.07.2018
20:22:01
Это решение на С?

Dima
06.07.2018
20:22:27
Это решение на С?
ага. Это вызов из Ruby решения написанного на C. https://goo.gl/P97JST

Google

Sasha
06.07.2018
20:23:00
о спасибо!

Антон
06.07.2018
20:41:56
круть

Alex
06.07.2018
22:58:33
На руби вполне решаемо
про потребление памяти не очень понятно, это легко соптимизировать
никто же не будет 10 гб файл в память грузить верно?
просто это будет апишка вида - загрузить файл на сервер, получить id. Дальше по этому id периодически дергать и проверять готово или нет

Admin
ERROR: S client not available

Alex
06.07.2018
23:00:54
статус код 202 вроде

Crypt
07.07.2018
05:22:03
ктонить activestorage с цефом пробывал?
оно взлетит вообще без жестких хаков?
а паперклип совсем отменили?

Alex
07.07.2018
05:36:47

Alex
07.07.2018
06:01:04
всегда carrierwave юзал

Dima
07.07.2018
06:05:38
5к секунд это 83 минуты
Теоретические расчеты: поиск ключа в 1Гиг занимает 500 секунд оказались НЕВЕРНЫМИ. Практическй эксперемент показал что поиск ключа в файле 1Гиг занимает всего 3 секунды (!). В программе я изменил коэфциент умножения с 1 на 500: multyply i*500 и таким образом проверил время на 1.1GB.

Alex
07.07.2018
06:08:21

Dima
07.07.2018
06:10:51

Alex
07.07.2018
06:13:58
самое главное не написал
SSD или HDD

Dima
07.07.2018
06:14:10
SSD

Alex
07.07.2018
06:14:20
и на хостинг SSD поставишь?

Google

Alex
07.07.2018
06:42:51
Мне казалось сейчас везде ssd на впсках

Alex
07.07.2018
06:46:51
и не, не везде )
чуть дороже стоит

Alex
07.07.2018
06:48:55
Ну да, дороже это логично, просто обычно там разница 1-2к на объеме 500гб примерно

Alex
07.07.2018
06:49:59
подумаешь, копейки )))

Alex
07.07.2018
06:51:33
Ну для компании да ))

Crypt
07.07.2018
07:33:41

Alex
07.07.2018
07:35:14
https://github.com/shrinerb/shrine

Dima
07.07.2018
09:18:01
это @vyacheslavk предоставил утилиту pv, за что ему спасибо.
5к секунд это 83 минуты
Ваш вопрос породил богатейшую дискуссию мы сейчас измеряем скорость работы системы через pv /dev/urandom > /dev/null

Anton
07.07.2018
09:32:27

Sasha
07.07.2018
11:38:54

naughtyBit
07.07.2018
13:19:27
Не у кого не было такого бага, что в гитхаб contibution не помечаются?

Zhanarys
07.07.2018
13:21:25
Например у меня есть массив ["a", "b", "c"]
Как можно удалить отсюда "b" ?

naughtyBit
07.07.2018
13:23:34
Например у меня есть массив ["a", "b", "c"]
Как можно удалить отсюда "b" ?
ну например
[1, 1, 2, 2, 3, 3, 3, 4, 5] - [1, 2, 4] #=> [3, 3, 3, 5]