Re[3]: эксперимент :: сетевой драйвер на 10 языках
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.03.21 01:26
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Не для Java, но для C#, Go и даже Haskell? Не находишь что список немного внезапный при том, что для описанного тобой сценария с "какими-нибудь HTTP-серверами" Go тоже будет быстрее?


Ну, в C# и Go, как я понял задействовал ансэйф и сплайсы (новая фича дотнета безопасная замена указателям). В Яве на это забили. В Хаскеле это вообще было бы странно. Так что все логично, языки и рантаймы имеющие низкоуровневые фичи выигрывают в низкоуроневой пенесометрии. А Хаскель все не даже, а слил. И сильно.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: эксперимент :: сетевой драйвер на 10 языках
От: varenikAA  
Дата: 24.03.21 01:29
Оценка: +1 -1
Здравствуйте, VladD2, Вы писали:

VD>Ну, в C# и Go, как я понял задействовал ансэйф и сплайсы (новая фича дотнета безопасная замена указателям). В Яве на это забили. В Хаскеле это вообще было бы странно. Так что все логично, языки и рантаймы имеющие низкоуровневые фичи выигрывают в низкоуроневой пенесометрии. А Хаскель все не даже, а слил. И сильно.


В любом случае писать драйвер на ВМ это из области извращений, был у меня ПК на работе, у которого часть софта для звуковухи был на дотнете
еще не было ССД, это был такой трэш когда я с клавы пытался изменить уровень. Первое обращение всегда было болью. Потом регулятор оживал и начинал реагировать, но все же.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[2]: эксперимент :: сетевой драйвер на 10 языках
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 24.03.21 01:41
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Что значит слился? Они выкидывали языки чтобы масштаб увеличить. Ну, и не факт, что реализация оптимальна. Плюс время идет и МС за это время несколько оптимизировал дотнет. В тесте используется netcoreapp2.1, а уже 5.0 на дворе. Говорят там подоптимизировали многое. Плюс код так себя. Можно по выжимать из него.


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

VD>Что-то ты явно приукрашиваешь. Как языки (точнее рантаймы) распределились на три группы:

VD>Image: batches-3.3.png

VD>И Хаскель явно в конце второй группы с огромным отставанием от лидеров. Фактически он слился.


Ну как бы сам факт того что два функциональных языка в группе с Java, в оптимизацию которой дохулиар вбухан сам со себе интересен. Разве нет?

VD>Да, питон показал просто константную скорость с твердой константой — 0.


Ну тут однозначно же — он не для этого

VD>С Явой и Свифтом вообще странно и надо разбираться. А вот Хаскель таки слился. Как и ОКамл (что тоже странно). Твоих восторгов по производительности Хаскеля не разделяю.


Меня в первую очередь заинтересовало то, что функциональные, Хаскель так вообще один из самых чистых языков с точки зрения функционального программирования, обходят или держатся в группе с языками в скорость для которых реально вкладываются.
Re[2]: эксперимент :: сетевой драйвер на 10 языках
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 24.03.21 01:43
Оценка:
Здравствуйте, varenikAA, Вы писали:

AA>Странно что нет кода на https://dlang.org/


Стюардессу закопали

AA>Последний раз сравнивал, отличий в перформансе в сравнении с растом не заметил(мерял time в linux).

AA>Очень хороший ЯП, не заслужено забыт. Хотя вижу потихоньку развивается. Глава в прошлом году сменился. У него есть политика развития. посмотрим.

Заслуженно, более чем заслуженно. Нельзя сначала выкатывать 1.х, говорить что это стабильно, давать писать в проде, а потом говорить "ой, а будет не совместимая ветка 2.х". Время этого этого языка ушло, а с добавлением метапрограммирования в Го, у него вообще преимущества испарятся.
Re[3]: эксперимент :: сетевой драйвер на 10 языках
От: varenikAA  
Дата: 24.03.21 01:59
Оценка:
Здравствуйте, kaa.python, Вы писали:


KP>Заслуженно, более чем заслуженно. Нельзя сначала выкатывать 1.х, говорить что это стабильно, давать писать в проде, а потом говорить "ой, а будет не совместимая ветка 2.х". Время этого этого языка ушло, а с добавлением метапрограммирования в Го, у него вообще преимущества испарятся.


ну вчера тыкал, пакетов потихоньку становится больше.
производительность очень важный фактор(сравнение с го):
https://github.com/huntlabs/hunt/blob/v1.7.5/docs/images/benchmark-1.png

И самое главное, серьезные ребята все же пользуют https://dlang.org/orgs-using-d.html
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[4]: эксперимент :: сетевой драйвер на 10 языках
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 24.03.21 02:16
Оценка:
Здравствуйте, varenikAA, Вы писали:

AA>ну вчера тыкал, пакетов потихоньку становится больше.


Мне очень нравился D, но на данный момент у него, как мне кажется, ноль шансов. На нем банально не найти работы, даже на каком-нибудь OCaml и то проще будет

AA>производительность очень важный фактор(сравнение с го):

AA>https://github.com/huntlabs/hunt/blob/v1.7.5/docs/images/benchmark-1.png

А что там тестируют я не понял, описание честно скажем, мутное "The Date field in http header is set". Отправка/прием статической странички по HTTP? Ну это маловато как бы для хоть какого-то утверждения. А если говорить про производительность Го — её хватает во всех случаях, пока наличие GC не становится проблемой.
Re[6]: эксперимент :: сетевой драйвер на 10 языках
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 24.03.21 05:58
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Ты как всегда в точку попадашь. Как-то нарвался на вот такую инфу:

VD>

VD>Обычно используют популярные Java (одноклассники), PHP (facebook, vk), C# (stackoverflow), Python (youtube), Ruby (twitter) — стандартные обычные языки, когда можно найти и хорошие инструменты, и много разработчиков.

VD>Ну, может врут.

Врут. Facebook использует не php, а свой диалект с трансляцией в C и компиляцией результата gcc (см. Hiphop). А потом вовсе перешла на свой язык Hack.

Одноклассники кроме java ещё пишут на scala. Потом Одноклассники объединились с vk и у них все больше общей кодовой базы появляется. Сейчас там появляется все больше машинного обучения и на серверах работает C++, CUDA, Python.
Re[8]: эксперимент :: сетевой драйвер на 10 языках
От: GarryIV  
Дата: 24.03.21 06:31
Оценка:
Здравствуйте, ltc, Вы писали:

ltc>Ни C# ни пхп чемпионами по скорости не считаются и отлично работают на высоконагруженных серверах.


Емнип ФБ этот пхп злобно хачила чтоб приемлимо работало. Не работал он отлично.
WBR, Igor Evgrafov
Re: эксперимент :: сетевой драйвер на 10 языках
От: IT Россия linq2db.com
Дата: 29.03.21 20:48
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Так же интересно то, что драйвер на Java показал довольно хреновые результаты, не Python (который как и положено Python-у слился самым первым, показав всю свою знаменитую скорость работы), но тем не менее. Как же тогда её в HFT используют? Тут я сильно озадачился... надо тюнить JVM как я понимаю?


Вот вам ещё для раздумий интересная информация — https://www.hackerrank.com/environment/languages.

Это допустимые тайминги для ресурсоёмких алгоритмов на разных языках. Примечательно, что для C# это 3 секунды, для Java 4, хотя для C# используется непонятно какой древний компилятор из mono. Там много интересного.
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: эксперимент :: сетевой драйвер на 10 языках
От: · Великобритания  
Дата: 29.03.21 21:39
Оценка: +1
Здравствуйте, IT, Вы писали:

IT> Вот вам ещё для раздумий интересная информация — https://www.hackerrank.com/environment/languages.

IT> Это допустимые тайминги для ресурсоёмких алгоритмов на разных языках. Примечательно, что для C# это 3 секунды, для Java 4, хотя для C# используется непонятно какой древний компилятор из mono. Там много интересного.
Особенно впечатляет bash — одна секунда.
avalon/3.0.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[3]: эксперимент :: сетевой драйвер на 10 языках
От: IT Россия linq2db.com
Дата: 29.03.21 22:58
Оценка:
Здравствуйте, ·, Вы писали:

IT>> Это допустимые тайминги для ресурсоёмких алгоритмов на разных языках. Примечательно, что для C# это 3 секунды, для Java 4, хотя для C# используется непонятно какой древний компилятор из mono. Там много интересного.

·>Особенно впечатляет bash — одна секунда.

Тоже обратил внимание. Жаль не пишу на нём, не могу проверить. По плюсам и шарпу примерно соответствует.
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: эксперимент :: сетевой драйвер на 10 языках
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 30.03.21 00:49
Оценка: +1
Здравствуйте, IT, Вы писали:

IT>Вот вам ещё для раздумий интересная информация — https://www.hackerrank.com/environment/languages.


Да, согласен, это довольно интересные значения и они неплохо иллюстрируют кривизну рук тех, кто их использует. Там Go требует большое памяти чем Java, а Rust больше времени чем C++, Java, Kotlin и Go. Полагаю что они просто задолбались слушать жалобы от пользователей и решили что проще накинуть времени и ресурсов нежели объяснять участникам что у них руки из жопы растут

IT>Это допустимые тайминги для ресурсоёмких алгоритмов на разных языках. Примечательно, что для C# это 3 секунды, для Java 4, хотя для C# используется непонятно какой древний компилятор из mono. Там много интересного.


Ну я бы не стал такие далеко идущие выводы делать. Если уж хочется ресурсоемкие алгоритмы сравнивать, ты 100% знаешь где искать, и там .NET обходит JVM ну может на 10%.
Отредактировано 30.03.2021 0:51 kaa.python . Предыдущая версия . Еще …
Отредактировано 30.03.2021 0:51 kaa.python . Предыдущая версия .
Re[3]: эксперимент :: сетевой драйвер на 10 языках
От: IT Россия linq2db.com
Дата: 30.03.21 13:29
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Да, согласен, это довольно интересные значения и они неплохо иллюстрируют кривизну рук тех, кто их использует. Там Go требует большое памяти чем Java, а Rust больше времени чем C++, Java, Kotlin и Go. Полагаю что они просто задолбались слушать жалобы от пользователей и решили что проще накинуть времени и ресурсов нежели объяснять участникам что у них руки из жопы растут


Т.е. Go программисты — это типичные нытики, а C# программисты — настоящие суровые парни, которые никогда никому не жалуются? Ну что же, вполне возможно.

KP>Ну я бы не стал такие далеко идущие выводы делать. Если уж хочется ресурсоемкие алгоритмы сравнивать, ты 100% знаешь где искать, и там .NET обходит JVM ну может на 10%.


Думаю, дело не только в этом. На хакерранке алгоритмы пишутся без дополнительных библиотек, а у джавы родовая травма с примитивными коллекциями, которая как раз решается исключительно кастомным кодом. Большинство алгоритмов на хакерранке — это манипуляция целыми числами, что ставит джаву в неудобное положение — либо использовать массивы, либо коллекции объектов.

Кстати, в твоих "ресурсоёмких алгоритмах" наблюдается примерно таже хрень.
Если нам не помогут, то мы тоже никого не пощадим.
Re[3]: эксперимент :: сетевой драйвер на 10 языках
От: Sharov Россия  
Дата: 30.03.21 14:56
Оценка:
Здравствуйте, ·, Вы писали:

·>Особенно впечатляет bash — одна секунда.


А что тут удивительного, вызов заоптимизированных Си программ по сути. Быстрее будет только на самом Си
написать.
Кодом людям нужно помогать!
Re[4]: эксперимент :: сетевой драйвер на 10 языках
От: · Великобритания  
Дата: 30.03.21 21:03
Оценка: +1
Здравствуйте, Sharov, Вы писали:

S>·>Особенно впечатляет bash — одна секунда.

S>А что тут удивительного, вызов заоптимизированных Си программ по сути. Быстрее будет только на самом Си написать.
Дык в том-то и оно — для Си — две секунды.
Могу предположить, это дефолтное значение. И т.к. никто на bash не пишет, то никто и не жаловался, чтобы увеличили.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[4]: эксперимент :: сетевой драйвер на 10 языках
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 31.03.21 01:45
Оценка:
Здравствуйте, IT, Вы писали:

IT>Т.е. Go программисты — это типичные нытики, а C# программисты — настоящие суровые парни, которые никогда никому не жалуются? Ну что же, вполне возможно.


Мне думается что уровень усредненного разработчика на C# выше чем на Go. Go примитивный и его часто используют как последнее средство когда у тебя есть команда из условных студентов, а что-то релизить надо.
Re[5]: эксперимент :: сетевой драйвер на 10 языках
От: Sharov Россия  
Дата: 31.03.21 09:43
Оценка:
Здравствуйте, ·, Вы писали:

S>>·>Особенно впечатляет bash — одна секунда.

S>>А что тут удивительного, вызов заоптимизированных Си программ по сути. Быстрее будет только на самом Си написать.
·>Дык в том-то и оно — для Си — две секунды.

Это я не видел, по ссылке не ходил. Что Корузо напел... А так исходя из здравых соображений, вполне
можно допустить, что для баша время могут сделать сопоставимо с чистым Си.

·>Могу предположить, это дефолтное значение. И т.к. никто на bash не пишет, то никто и не жаловался, чтобы увеличили.


Да, скорее всего, мало найдется желающих все это на баше сделать, поэтому поставили какой-то baseline.
Кодом людям нужно помогать!
Re[2]: эксперимент :: сетевой драйвер на 10 языках
От: Codealot Земля  
Дата: 15.04.21 20:35
Оценка:
Здравствуйте, ltc, Вы писали:

ltc>подумал, что для львиной доли применений на сегодняшнем железе подойдет вообще любой язык, главное не допускать совсем уж жестких алгоритмических косяков. А священные войны типа "мой крутой С++ быстрее вашего отстойного C#" все менее и менее актуальны.


Это даже не алгоритмический косяк, а результат полного наплевательства и мышления в стиле "выливаем воду из чайника, и таким образом сводим задачу к предыдущей".
Ад пуст, все бесы здесь.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.