Франц Кафка ?

Тема в разделе "WASM.BEGINNERS", создана пользователем asmlamo, 29 апр 2021.

  1. asmlamo

    asmlamo Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    1.729
    Есть такой брокер сообщений Apache Kafka.
    Используется в интерпрайзе в том числе highload приложениях.
    Написано это чудо на Java и Scala.
    Но Java это же тормозной язык.
    А Scala еще тормозней Явы в 2-3 раза.
    Почему это используют для highload ?
    А не С++ и ASM ???

    Просто на многих собесах спрашивают про это чудо ....
     
  2. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.252
    Я уже не раз говорил здесь, что в принципе все задачи можно разделить на cpu-bound и io-bound. Cpu-bound задачи решаются на таких языках, как Це, Плюсы, Раст или Джулия. Io-bound задачи привязаны не к скорости вычисления на проце, их в основном тормозят операции ввода вывода (не важно, что это будет жесткий диск или сеть). Поэтому их можно решать на любом языке, который, например, может осуществлять асинхронный ввод-вывод. Так уж сложилось, что большинство задач в энтерпрафзе io-bound и в частности задачи, которые решает господин Kafka. За еще одним примером ходить далеко не нужно: BEAM - виртуальная машина Erlang, очень медленная в плане намбер кранчинга, но это не мешает ей обрабатывать миллионы запросов в секунду на сервере какого-нить Вотсаппа. Да и потом, Джава не такая уж и медленная (как Петон, например), там все таки есть хороший JIT-компилятор.
     
  3. q2e74

    q2e74 Active Member

    Публикаций:
    0
    Регистрация:
    18 окт 2018
    Сообщения:
    989
    Посмотрите байт код джавы, он ложиться в опкоды достаточно ровно. То, что все переменные на стеке у нее, так тоже это не очень долго раскидывается по регистам. Это про джит, если коротко. Неоткуда там быть сильным тормозам, если добавить, что свой ГЦ средний прогер сделает очень медленным, а тут десятилетия вылизывания.

    Вы просто пойтимте, что роль синтаксиса языка до компиляции - это ни о чем. Откомпелирован код всегда с нехилыми оптимизациями, и вот тут, после этого шага, эта скорость только рождается. Правильно подобраная под задачу структура данных и алгоритм ее обхода для обсуждаемой скорости больше решает, чем что-либо еще. Некоторые языки имеют эти структуры данных и функции работы с ними из коробки, что сильно упрощает жизнь.
     
  4. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.252
    Ну некоторые тормоза будут только на старте, пока все методы не заджитились. Я бы сказал, что у JVM скорее есть проблема с потреблением памяти, а не с производительностью.
     
  5. asmlamo

    asmlamo Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    1.729
    Ну у JetBrains все IDE написанны на Яве ....тот же PyCharm и пр.
    Но они такие тормозные .... пока загрузится пока раздуплится.
    Невыносимо.
    Потом вроде ничего .... и ОЗУ дофига 32 Гига (DDR4) и проц 4 ядра 3 Ггц + SSD
    Но все равно тормозит.
    Поэтому не люблю Яву ....
     
  6. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.252
    Как будто та же Visual Studio не тормознутая ни разу, хоть и написана на плюсах вроде.
    --- Сообщение объединено, 29 апр 2021 ---
    Ну дело в непрогретом джите, поэтому для десктопных приложений джаву мало кто использует, хотя концептуально джавафх неплохой фреймворк. На серверах, которые работают постоянно, джит прогреется и код будет быстро работать. И кстати я использовал Rider для С# - отличная иде.
     
  7. asmlamo

    asmlamo Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    1.729
    Ну у JetBrains все IDE очень неплохого качества.

    Во многих конторах по сути стандарт разработки.
    PyCharm
    PhpStorm
    Rider

    Явисты почти поголовно сидят на IntelliJ IDEA даже в крупных западных конторах.

    Но насколько я понял ядро там одно и то же ..просто идет сегментация под разные языки.
     
  8. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.252
    Да, само собой ядро одно и тоже. Есть интересный проект на базе дсл воркбенча JetBrains MPS для современных цешников: http://mbeddr.com/ - олдскульным адептам це лучше даже не пытаться это смотреть, а то вас изнутри желчь разорвет, я вас предупредил.
     
  9. Microedition

    Microedition Active Member

    Публикаций:
    0
    Регистрация:
    5 июн 2008
    Сообщения:
    814
    Это именно то, каким должно быть программирование вообще. Не говно-петоны, плюсы и срасты и асмы, а человеческие предметно-ориентированные языки.
     
  10. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.252
    Нет, я с этим не спорю, DSLи это очень полезно. Там в MPS еще проекционный редактор, а не текстовый, поэтому позволяет там делать не только код, но и таблицы, схемы и тд. Это очень клевая штуковина, но да, жалко, что на джаве написана. Подтормаживает на старте. Я про то, что настоящим спецам цешникам эти все плюшки чужды и вызывают подрывы пуканов. Что же вам еще нужно кроме рассово верного православного це, так ведь?