[Moscow.pm] Сравнение языков
Dmitry Smal
mialinx на gmail.com
Чт Фев 12 01:07:33 PST 2015
Потому что Go быстрее Perl. Внутри работает тотже epoll, поэтому Go так
же асинхронный.
Если по тестам получилось медленнее - значит в Go просто отрабатывает
больше кода (тесты не эквиваленты).
On 02/12/2015 11:37 AM, Анатолий Гришаев wrote:
> 12.02.2015 11:22, Dmitry Smal пишет:
>> Там perl (+plack) обгоняет Go.
>> Что слегка не реалистично.
>>
> А почему не реалистично сравнивать надо соответственно
> Например там Go обгоняет mojolicious, это треды, а plack это
> асинхронщина.
> Что доказывает, что язык на быстродействие оказывает минимальное влияние.
>
> P.S. Plack там идет под kelp-raw.
>
>
>
>> On 02/12/2015 01:33 AM, Alexander Lourier wrote:
>>> Илья Винокуров ссылку дал на сайт, где тесты разных платформ делают.
>>> У них вся тестовая среда на github выложена. Мне кажется, того, что
>>> там есть, вполне достаточно.
>>>
>>> On Wed Feb 11 2015 at 20:18:44 Михаил Монашёв
>>> <postmaster на softsearch.ru <mailto:postmaster на softsearch.ru>> wrote:
>>>
>>> Здравствуйте, Alexander.
>>>
>>> > Я предлагаю взять более-менее реалистичную задачу и погонять
>>> её под
>>> > более-менее реалистичными тестами. Например:
>>> >
>>> > Архитектура: приложение, memcached, mysql.
>>> > Задача: показывать рассказы из базы данных (каждый
>>> порядка 100
>>> > килобайт), кэшируя их в memcached (небольшого объёма).
>>> > Входной урл: "/$id".
>>> > Ключ в memcached: "$id".
>>> > Запрос к базе: "select data from stories where id=$id".
>>> > Ответ оборачивается в простенький HTML-шаблон. Все
>>> спецсимволы
>>> > заменяются на HTML entities, как положено. Новые строки - на <br>.
>>> > Результат возвращается клиенту.
>>> >
>>> > Как тестируем:
>>> > 1. запросы по небольшому подмножеству случайных ID
>>> (чтобы всё
>>> > заведомо влезало в memcached)
>>> > 2. запросы по всему множеству ID (чтобы всё не влезало в
>>> memcached и
>>> > приходилось дёргать базу)
>>> > 3. запросы по всему множеству ID, параллельно начинаем
>>> затормаживать
>>> > базу данных (lock tables write, sleep, unlock tables)
>>> >
>>> > Замеряется количество запросов в секунду, которые сервер
>>> смог
>>> > обслужить, количество ошибок в секунду, ну и latency.
>>> >
>>> > Этот тест более-менее приближен к реальным условиям и
>>> проверяет
>>> > разные возможности - интенсивный сетевой обмен,
>>> вычислительную
>>> > работу (процессинг HTML), эффективность использования
>>> ресурсов
>>> > машины. Причём в пропорциях, обычных для веб-приложений.
>>> >
>>> > Что скажете? Есть у кого время написать такие приложения на
>>> разных
>>> > языках?
>>>
>>> Тестирую сейчас твою задачу. Надо под memcached отдельный
>>> сервер, а то
>>> он много процессора кушает. У меня их 6 шт. и каждый по 25%
>>> процессора
>>> потребляет. И под БД тоже наверное не помешает, если данных
>>> будет так
>>> много, что перестанет в мемкешед влезать, то БД станет узким
>>> местом.
>>> Хотя с другой стороны можно всё на один сервер засунуть и
>>> пусть там
>>> демон, memcached и mysql вместе живут, так в реальности
>>> часто и
>>> бывает, но тогда все быстрые демоны покажут одинаковый результат.
>>>
>>> И хорошо бы где-то иметь общий для всех дамп БД, чтобы на нём можно
>>> было тестить.
>>>
>>> --
>>> С уважением,
>>> Михаил mailto:postmaster на softsearch.ru
>>> <mailto:postmaster на softsearch.ru>
>>>
>>> --
>>> Moscow.pm mailing list
>>> moscow-pm на pm.org <mailto:moscow-pm на pm.org> | http://moscow.pm.org
>>>
>>>
>>>
>>
>>
>>
>
>
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20150212/82c5bfae/attachment-0001.html>
Подробная информация о списке рассылки Moscow-pm