@proRuby

Страница 1588 из 1594
Максим
25.10.2018
12:42:27
@nugmanovtim

смотри кто к нам пришёл

Alex
25.10.2018
12:42:50
Максим
25.10.2018
12:43:01
@yegor256

Google
Roman
25.10.2018
12:43:27
а что с 128 стало?

Alex
25.10.2018
12:43:34
а что с 128 стало?
не хватило

Roman
25.10.2018
12:43:39
640 хватит всем

Максим
25.10.2018
12:45:05
https://www.yegor256.com/

Ilya
25.10.2018
12:48:41
это настоящий Бугаенко?

Alex
25.10.2018
12:49:43
а кто это?

знаю ток егора который гитхаб хекал постоянно

Ilya
25.10.2018
12:50:26
а кто это?
ну вон ссылку кинули. адепт ООП лютый

Tim
25.10.2018
12:50:32
Не факт что это тот самый, пресвятой Егорушка Бугаенко, светоча ООП и мудрец, указывающий толпе путь к истине

Alex
25.10.2018
12:50:48
ну вон ссылку кинули. адепт ООП лютый
ссылку кинули, но там нигде выжимки нет.

Максим
25.10.2018
12:51:02
Ilya
25.10.2018
12:51:09
ссылку кинули, но там нигде выжимки нет.
могу только скинуть подкаст где у него интервью берут

Google
Ilya
25.10.2018
12:51:14
там в принципе вся суть

Максим
25.10.2018
12:51:28
а есть где его неделя в бекендсикрет?

Alex
25.10.2018
12:51:30
краткой выжимки выше хватило, спасибо.

Tim
25.10.2018
12:51:32
да
Пусть напишет чото

Максим
25.10.2018
12:51:33
там тоже сочно было очень

Пусть напишет чото
он в руби толкс уже с yopp успел посраться

Yegor
25.10.2018
12:51:47
привет всем. это настоящий я.

Максим
25.10.2018
12:51:51
ну как посраться, йопп начал

Roman
25.10.2018
12:52:01
привет всем. это настоящий я.
справку форму-№3 пожалста предъявите

Tim
25.10.2018
12:52:03
Ilya
25.10.2018
12:52:25
привет всем. это настоящий я.
слушал интервью в ФВ. очень интересно

Yegor
25.10.2018
12:53:22
у меня вопрос технический. может поможете. че-то я уперся в какую-то непонятную проблему. вот: https://stackoverflow.com/questions/52987672/why-does-file-write-slow-down-sometimes

Alex
25.10.2018
12:54:20
у меня вопрос технический. может поможете. че-то я уперся в какую-то непонятную проблему. вот: https://stackoverflow.com/questions/52987672/why-does-file-write-slow-down-sometimes
> My suspicion is that some library has overridden the method File.write() and added some locking/synchronization there А ты через pry глянь куда метод ссылается.

Roman
25.10.2018
12:54:51
это где-то в инфраструктуре или локально воспроизводится?

потому что выглядит как fs-related

Tim
25.10.2018
12:55:16
+

Yegor
25.10.2018
13:00:34
Alex
25.10.2018
13:01:37
Вот если бы я знал как этим пользоваться... сейчас попробую
Ставишь к примеру pry-byebug, ставишь точку останова binding.pry, при попаданим в интерактивную консоль - ls File.write

Yegor
25.10.2018
13:30:19
Ставишь к примеру pry-byebug, ставишь точку останова binding.pry, при попаданим в интерактивную консоль - ls File.write
не работает оно в много-потоковом режиме (( у меня все это происходит в другом потоке и в консоль он выкидывает pry, но я не получаю туда доступ, потому как это не основной поток.. как-то так

Alex
25.10.2018
13:31:07
ну у тебя не в реалтайме же патчится, значит ты можешь запустить приложение до того как оно в многопоточку перейдет и посмотреть

Google
Yegor
25.10.2018
13:31:32
пока оно не попало в многопоточку, все работает быстро

нечего смотреть там — нет симптомов

Alex
25.10.2018
13:31:53
так тебе надо проверить кто то манкипатчил File.write или нет

или я неверно понял?

Yegor
25.10.2018
13:32:05
да, верно

Alex
25.10.2018
13:32:25
ну так проверь до того как приложение запущено, сомневаюсь что оно во время исполнения само себя патчит

Yegor
25.10.2018
13:32:32
щас попробую

[1] pry(#<TestCopies>)> ls File.write ArgumentError: wrong number of arguments (given 0, expected 2..3) from test/test_copies.rb:126:in `write'

Alex
25.10.2018
13:34:02
show-source

сорян

Yegor
25.10.2018
13:34:04
сори, я первый раз с этим сталкиваюсь. че-то не то делаю?

сорс вижу

но это мой сорс

Alex
25.10.2018
13:35:18
show-source File.write

увидишь из рубей он или кем то переопределен

Yegor
25.10.2018
13:36:29
[1] pry(#<TestCopies>)> show-source File.write Error: Cannot locate this method: write. Invoke the 'gem-install pry-doc' Pry command to get access to Ruby Core documentation.

видимо никем

верно?

Alex
25.10.2018
13:37:08
да, скорее всего

Google
Yegor
25.10.2018
13:37:24
ну если он лезет в исходники руби, значит никто сверху его ничем не обернул

что же это такое... ума не приложу

Alex
25.10.2018
13:38:19
тупое предложение какой нибудь file system perf может есть

Yegor
25.10.2018
13:38:44
вот смотри тест

в том же приложении:

https://github.com/zold-io/zold/blob/501/test/test_copies.rb#L121-L133

из 100 потоков пишет в один и тот же файл

все это целиком отстреливает за ровно одну секунду

и каждая запись занимает 1-2мс

то есть все окей и с файловой системой и с диском. но когда в другой ситуации делается ровно такой же File.write — он занимает иногда до 500мс

Alex
25.10.2018
13:41:56
может GC?

Yegor
25.10.2018
13:42:12
может GC?
а как проверить?

Alex
25.10.2018
13:42:14
тебе там стрейс на SO предлагали, смотрел?

а как проверить?
не знаю, не дебажил еще GC если честно

Roman
25.10.2018
13:42:33
а как проверить?
если контроллируемый енвайронмент - отключить GC

GC.disable

Yegor
25.10.2018
13:43:21
GC.disable
пробую...

Roman
25.10.2018
13:43:41
переписать скрипт на гошечку ?

Yegor
25.10.2018
13:44:04
Тут же вот это прилетело: Errno::EMFILE: Too many open files @ dir_initialize

прямо сразу же

Google
Roman
25.10.2018
13:44:26
хмм

это типа File.write мусор оставляет, надеясь на GC

Yegor
25.10.2018
13:45:04
есть у меня одно подозрение.. видимо я в одном месте сильно нагружаю файл систему

Roman
25.10.2018
13:45:04
неожиданно если честно

есть у меня одно подозрение.. видимо я в одном месте сильно нагружаю файл систему
ну тут да, проще исключить fs проблемы, чем ковыряться в нутряках руби

Alex
25.10.2018
13:46:20
я изначально подозревал что он там внутри открывает файл

Roman
25.10.2018
13:46:52
явное открытие тоже зависит от GC

Yegor
25.10.2018
13:46:52
отсюда все прилетело: https://github.com/zold-io/zold/blob/501/lib/zold/node/async_entrance.rb#L132-L136

Dir.new(@dir) — вот здесь много файлов открывается, он говорит

че-то я не то делаю?

Roman
25.10.2018
13:48:10
че-то я не то делаю?
конечно =) запускаешь рубискрипт без GC

попробуй Gc.disable поставить прям перед своей записью

а потом GC.enable сразу после

Yegor
25.10.2018
13:48:31
не не, я неверно делаю с Dir

Roman
25.10.2018
13:48:33
пусть GC работет, но не во время write

Yegor
25.10.2018
13:48:37
надо видимо как-то иначе листить файлы

зачем он их открывает

где-то я оставляю открытые файлы, я так понимаю. и в этом беда основноая

отсюда и тормоза

Roman
25.10.2018
13:49:12
ну так он же должен внутрь папок зайти, посмотреть че есть

Страница 1588 из 1594