>Возможно, в вашем мире микрооптимизаций под контроллеры их нет, но это не значит, что их нет у всех остальных.
О! Вы перешли на личности?
Если что, то я участвую в разработке сложной системы с большим пользовательским интерфейсом, сложной симуляцией и анализом. Это IDE для разработки систем.
Но я продолжу. К чему зацикливаться на чём-то одном, если можно идти дальше и открыть много интересного?
>Если вы посмотрите на код gen_server, там очень много своей логики, касающейся обработки событий и очередей сообщений. В supevisor - много логики, касающейся обработки ошибок. И так далее.
Я говорил про ваш код, не код gen_server. Можете ли вы показать ваш код на Эрланге, чтобы мы убедились, что там всё жестко на OTP и в библиотеку ничего выделить нельзя? Хотя бы один модуль.
Быть может, вы имели в виду код с использованием gen_server. Но и в этом случае я уверен, что возможна такая перегруппировка кода, что мы сможем выделить библиотечную часть и часть сервера. И библиотечная часть, связанная с логикой, будет преобладать.
>Я ответил на него, после чего вы начали требовать от меня доказательств.
Я задал вопросы, ответы на которые я бы хотел услышать сразу при упоминании упомянутого вами в качестве "опровержения".
Тем не менее, здесь беседуем мы с вами, а вы можете попросить nivanych ответить на ваши вопросы. Отдельным комментарием или даже личным сообщением.
>>Как часто она нужна? Можно ли добиться схожих результатов другими способами? >Каждый раз, когда возникают какие-либо проблемы либо хочется посмотреть, что именно больше всего нагружает систему. Нельзя без дополнительной логики в самой программе, которую нужно вписывать ручками каждый раз(...)
Так ли уж "каждый раз"?
Хорошо, пусть "каждый раз". Как часто встречаются эти "каждые разы"?
Надо оценить и третью сторону вопроса. Как вы думаете, поддержка возможности интроспекции как-либо сказывается на производительности программы на Эрланге и возможности её преобразования оптимизатором?
Насчёт чтения учебников по Эрлангу. Я не считаю Эрланг достаточно интересным языком, чтобы читать по нему учебник. Если что, то я помогал коллегам разобраться в их коде на Эрланге и правильно указал источник утечки памяти. Я считаю проблемы, решаемые RTS Эрланга и OTP достаточно мелкими, на что пытаюсь намекнуть вам вопросами и предложениями по перегруппировке кода.
Вы считаете их большими, настолько, что согласны менять (весьма вероятно) сложный код логики в угоду стилю OTP. Ваше решение. Вы достаточно хорошо его аргументировали, настолько, что любой читающий нашу беседу вполне способен составить себе мнение об уровне разработчика, принимающего такие решения, и об уровне его проблем.
Лично я предпочитаю использовать язык, который позволяет поменять стиль выполнения по необходимости - нужен будет CSP, поменяю монаду в стеке преобразований и забуду. Нужно будет посмотреть, почему перекашивает нагрузку, сделаю код и посмотрю. Но до этого я сделаю всё, чтобы этого не случилось, заложив необходимое в ло-ги-ку. Которой много. Всегда больше, чем любая RTS. И краткость и правильность которой много важнее, чем возможность интроспекции.
>Я задал вопросы, ответы на которые я бы хотел услышать
Конечно же, вы не хотели услышать ответов, потому как у вас уже есть экспертное заключение:
>Я не считаю Эрланг достаточно интересным языком, чтобы читать по нему учебник
под которое, конечно же, традиционно подгоняется оппозиция оппонента (которые он, естественно, не говорил):
>согласны менять (весьма вероятно) сложный код логики в угоду стилю OTP
Поэтому в целом я не вижу смысла дальше дискутировать с вами в силу вашей агрессивной некомпетентности как в плане разработки чего-либо реального на ФП (прошу прощения, но онанизм с использованием тайпчекера в том, для чего есть заведомо лучшие инструменты, в свободное от написания Java/C# кода я не могу назвать опытом разработки чего-либо на ФП), так и в плане проблем, возникающих в живом сервер-сайд продакшне (IDE, как и МК, не являются софтом такого рода по достаточно очевидным причинам).
Это, кстати, была моя вторая работа, в ЮнионКард - надо было сделать разделяемый доступ к модулям криптозащиты, а до этого надо было сделать и оптимизировать (на всех доступных уровнях) систему, доступ к которой в пике достигал тысяч запросов в час (это 1992-1994 год).
>прошу прощения, но онанизм с использованием тайпчекера в том, для чего есть заведомо лучшие инструменты
Какие же инструменты для этого лучше? Расскажите, если не затруднит? Это я лично прошу, не для других.
Поскольку вы ответили nivanych, я повторю свой вопрос.
Напомню, это я исключительно для себя: "Какие же инструменты для этого (создания строго типизированных DSeL) лучше (онанизма с тайпчекером Хаскеля)? Расскажите, если не затруднит."
О! Вы перешли на личности?
Если что, то я участвую в разработке сложной системы с большим пользовательским интерфейсом, сложной симуляцией и анализом. Это IDE для разработки систем.
Но я продолжу. К чему зацикливаться на чём-то одном, если можно идти дальше и открыть много интересного?
>Если вы посмотрите на код gen_server, там очень много своей логики, касающейся обработки событий и очередей сообщений. В supevisor - много логики, касающейся обработки ошибок. И так далее.
Я говорил про ваш код, не код gen_server. Можете ли вы показать ваш код на Эрланге, чтобы мы убедились, что там всё жестко на OTP и в библиотеку ничего выделить нельзя? Хотя бы один модуль.
Быть может, вы имели в виду код с использованием gen_server. Но и в этом случае я уверен, что возможна такая перегруппировка кода, что мы сможем выделить библиотечную часть и часть сервера. И библиотечная часть, связанная с логикой, будет преобладать.
>Я ответил на него, после чего вы начали требовать от меня доказательств.
Я задал вопросы, ответы на которые я бы хотел услышать сразу при упоминании упомянутого вами в качестве "опровержения".
Тем не менее, здесь беседуем мы с вами, а вы можете попросить nivanych ответить на ваши вопросы. Отдельным комментарием или даже личным сообщением.
>>Как часто она нужна? Можно ли добиться схожих результатов другими способами?
>Каждый раз, когда возникают какие-либо проблемы либо хочется посмотреть, что именно больше всего нагружает систему. Нельзя без дополнительной логики в самой программе, которую нужно вписывать ручками каждый раз(...)
Так ли уж "каждый раз"?
Хорошо, пусть "каждый раз". Как часто встречаются эти "каждые разы"?
Надо оценить и третью сторону вопроса. Как вы думаете, поддержка возможности интроспекции как-либо сказывается на производительности программы на Эрланге и возможности её преобразования оптимизатором?
Насчёт чтения учебников по Эрлангу. Я не считаю Эрланг достаточно интересным языком, чтобы читать по нему учебник. Если что, то я помогал коллегам разобраться в их коде на Эрланге и правильно указал источник утечки памяти. Я считаю проблемы, решаемые RTS Эрланга и OTP достаточно мелкими, на что пытаюсь намекнуть вам вопросами и предложениями по перегруппировке кода.
Вы считаете их большими, настолько, что согласны менять (весьма вероятно) сложный код логики в угоду стилю OTP. Ваше решение. Вы достаточно хорошо его аргументировали, настолько, что любой читающий нашу беседу вполне способен составить себе мнение об уровне разработчика, принимающего такие решения, и об уровне его проблем.
Лично я предпочитаю использовать язык, который позволяет поменять стиль выполнения по необходимости - нужен будет CSP, поменяю монаду в стеке преобразований и забуду. Нужно будет посмотреть, почему перекашивает нагрузку, сделаю код и посмотрю. Но до этого я сделаю всё, чтобы этого не случилось, заложив необходимое в ло-ги-ку. Которой много. Всегда больше, чем любая RTS. И краткость и правильность которой много важнее, чем возможность интроспекции.
Reply
Конечно же, вы не хотели услышать ответов, потому как у вас уже есть экспертное заключение:
>Я не считаю Эрланг достаточно интересным языком, чтобы читать по нему учебник
под которое, конечно же, традиционно подгоняется оппозиция оппонента (которые он, естественно, не говорил):
>согласны менять (весьма вероятно) сложный код логики в угоду стилю OTP
Поэтому в целом я не вижу смысла дальше дискутировать с вами в силу вашей агрессивной некомпетентности как в плане разработки чего-либо реального на ФП (прошу прощения, но онанизм с использованием тайпчекера в том, для чего есть заведомо лучшие инструменты, в свободное от написания Java/C# кода я не могу назвать опытом разработки чего-либо на ФП), так и в плане проблем, возникающих в живом сервер-сайд продакшне (IDE, как и МК, не являются софтом такого рода по достаточно очевидным причинам).
Reply
Вот моё резюме, чтобы читающий нашу дискуссию мог составить мнение, имею ли я опыт написания высоконагруженных систем: http://hh.ru/resume/80f9c3f0ff0031a8380039ed1f736563726574?print
Это, кстати, была моя вторая работа, в ЮнионКард - надо было сделать разделяемый доступ к модулям криптозащиты, а до этого надо было сделать и оптимизировать (на всех доступных уровнях) систему, доступ к которой в пике достигал тысяч запросов в час (это 1992-1994 год).
>прошу прощения, но онанизм с использованием тайпчекера в том, для чего есть заведомо лучшие инструменты
Какие же инструменты для этого лучше? Расскажите, если не затруднит? Это я лично прошу, не для других.
Reply
Напомню, это я исключительно для себя: "Какие же инструменты для этого (создания строго типизированных DSeL) лучше (онанизма с тайпчекером Хаскеля)? Расскажите, если не затруднит."
Reply
Не подскажете ли, что за заведомо лучшие Хаскеля инструменты для создания строго типизированных DSEL?
Reply
Leave a comment