Спрашивал у наших Go программистов, как они ищут проблемы с памятью, говорят делают снимок памяти в файл по сигналу/по команде в сокет, потом его какими-то просмотрщиками смотрят. В Erlang с этим несравнимо проще, как ни крути.
проблема с мапами в том, что в эрланге можно всю память разделить по процессам и посмотреть, какая именно логическая зона жрет данные, а в джаве нет.
Например, последние три утечки были связаны с тем, что в процессе накапливался гигантский список из небольших фреймов. Что будет видно в дереве объектов? Что есть какие-то большие Array, причем непонятно какие из них легитимные, а какие нет и есть очень много объектов VideoFrame.
А в эрланге сразу ясно, какой процесс капризничает.
ну в пределах одной JVM нет множества процессов, есть множество threads, которые в большинстве случаев будут крутит один и тот же код, так что утечки будут более-менее единообразными.
К сожаление, не знаю что значит - в эрланге зоны разделить по процессам.
Неужели у всех запушенных VM эрланга общее адресное пространство ?
еще думаю, _приличных_ программистов на erlang найти куда проще чем _приличных_ на похапе. Пробема может быть что на эрланге просто не много программистов, зато много приличных -)
Реальное программирование состоит не из синтетических тестов, а из окупаемости отдела разработки.
Java быстрее эрланга там, где её не имеет смысл брать, потому что вместо неё надо брать либо C/C++. Ну чем надо руководствоваться, что бы делать например распознавание образов на Java, когда там и голый C плохо справляется?
Мне нечего тут комментировать. В каждом пункте просто голословные утверждения. Я же говорю только про свой опыт, который я подтверждаю своими деньгами.
Comments 45
Reply
Reply
Reply
http://golang.org/pkg/net/http/pprof/
Можно подрубиться к приложению в продакшене и посмотреть какой код сколько аллоцировал памяти. Утечки находятся на раз.
Reply
Если есть лицензия на какой кошерный профайлер, то можно в живую профайлером подключиться и посмотреть что там и как.
А с хип дампами при размере хипа больше 10G как-то ой.
Reply
Например, последние три утечки были связаны с тем, что в процессе накапливался гигантский список из небольших фреймов. Что будет видно в дереве объектов? Что есть какие-то большие Array, причем непонятно какие из них легитимные, а какие нет и есть очень много объектов VideoFrame.
А в эрланге сразу ясно, какой процесс капризничает.
Reply
К сожаление, не знаю что значит - в эрланге зоны разделить по процессам.
Неужели у всех запушенных VM эрланга общее адресное пространство ?
Reply
Reply
Найти хорошего PHPшника сложно, потому что нужно мощное корпоративное сито.
Reply
(The comment has been removed)
Reply
Reply
Но у тебя задача подразумевает именно их.
Reply
какие мнения на этот счет?
Reply
Java быстрее эрланга там, где её не имеет смысл брать, потому что вместо неё надо брать либо C/C++. Ну чем надо руководствоваться, что бы делать например распознавание образов на Java, когда там и голый C плохо справляется?
Reply
Reply
Reply
Leave a comment