|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
Приветствую, Уважаемые Господа. Вышла новая версия Бобины: - Обновлённый сайт - Обновлённая документация - Ещё более лёгкая и компактная настройка https://github.com/INFINITE-TECHNOLOGY/BOBBIN Документация Рекомендую к ознакомлению и опробыванию. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2020, 19:01 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
dakeiras Вышла новая версия Бобины: Груви ещё там- значит в игнор. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2020, 20:26 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
Alexey Tomin dakeiras Вышла новая версия Бобины: Груви ещё там- значит в игнор. С моей стороны аналогично про все проекты на Котлине. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2020, 20:44 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
Alexey Tomin dakeiras Вышла новая версия Бобины: Груви ещё там- значит в игнор. А слабо себя пересилить и попробовать Бобину 1 раз? Или страшно, что вдруг понравится?:) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2020, 20:45 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
Zzz79 груви конечно редкостная помойка,которая с трудом поддается здравому смыслу) фейспалм. Без комментариев. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2020, 22:28 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
dakeiras А слабо себя пересилить и попробовать Бобину 1 раз? Или страшно, что вдруг понравится?:) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 07:27 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
Андрей Панфилов dakeiras А слабо себя пересилить и попробовать Бобину 1 раз? Или страшно, что вдруг понравится?:) Можете ещё раз попробовать пожалуйста? Все недочёты исправлены. Вот примеры конфигов: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 11:19 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
По code-review. А зачем это так сделано? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 15:55 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Хм... пока вот как-то так. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 16:04 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
Вот баннер со сборщика. На всякий случай. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 16:09 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
mayton По code-review. А зачем это так сделано? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Это чтобы можно было использовать филды threadName и threadGroupName в конфиге, например: Код: sql 1.
По ошибке сейчас смотрю, спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 16:37 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
dakeiras, перенеси их куда-нибудь. В ThreadUtils например. Чтоб была какая-то видимость Single-Resp. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 16:38 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
mayton dakeiras, перенеси их куда-нибудь. В ThreadUtils например. Чтоб была какая-то видимость Single-Resp. Это класс BobbinEngine, он содержит в себе доп. контекст логгера во время его работы. Чтобы был доступ к этим полям из конфига (в скриптовом выражении), например MDC там же: Код: java 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 16:49 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
mayton Вот баннер со сборщика. На всякий случай. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Поставь плиз такую настройку (картинка ниже). Этот билд файл пока не поддерживает Gradle 6. (Это на самом деле рекомендуемая настройка, и зря вообще Jet Brains наворотили - Gradle по природе должен через враппер работать) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 16:54 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
Даже лучше так (иначе он не скачает даже Gradle 5). Это уже Gradle наворотил (надо же было додуматься сделать даже Wrapper task не обратно совместимым. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 16:58 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
dakeiras, зачем мне среда? Я не хочу в среде собирать. Я хочу собрать твой проект как делает CI/CD. Или где-то должна быть у тебя инструкция по сборке. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 17:01 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
dakeiras Поставь плиз такую настройку (картинка ниже). Этот билд файл пока не поддерживает Gradle 6. Вот-вот бобина ворвётся в Энтерпрайз :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 17:05 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
mayton dakeiras, зачем мне среда? Я не хочу в среде собирать. Я хочу собрать твой проект как делает CI/CD. Или где-то должна быть у тебя инструкция по сборке. Тогда надо запускать Код: java 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 17:06 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
забыл ник dakeiras Поставь плиз такую настройку (картинка ниже). Этот билд файл пока не поддерживает Gradle 6. Вот-вот бобина ворвётся в Энтерпрайз :) Поясню для недопонимающих. Это билд Бобины из исходников. Его не нужно делать конечному пользователю. Т.к. Бобина распространяется через JCenter. Mayton запустил для изучения просто его. (спасибо ещё раз кстати - обсуждение пошло :)) Этот билд работает с конкретной привязкой к версии Gradle (как и все Gradle проекты). В этом случае к Gradle 5.x. Сама Бобина не привязана к средствам сборки (maven, gradle любых версий) - поддерживаются любые pom сборщики. Вот тут инструкция по использованию самой Бобины: https://github.com/INFINITE-TECHNOLOGY/BOBBIN/wiki/3---Usage ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 17:09 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
dakeiras mayton dakeiras, зачем мне среда? Я не хочу в среде собирать. Я хочу собрать твой проект как делает CI/CD. Или где-то должна быть у тебя инструкция по сборке. Тогда надо запускать Код: java 1.
Так ты должен этот враппер подложить. Это - твоя задача. Вот есть у меня проект apache calcite. Не мой. Просто скачал для изучения. В нем разрабочики услужливо подложили его. Видишь как? Как в луччших домах Европы. И ты постарайся. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 17:17 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
dakeiras Этот билд работает с конкретной привязкой к версии Gradle (как и все Gradle проекты). В этом случае к Gradle 5.x. Стоп-стоп. Подожди. Я работал с gradle на других прокетах с Амазоном. И у нас нигде не было требования по версии сборщика. У нас была совместимость с диапазоном релизов Gradle и все нормас собиралось. То что ты говоришь - это какая-то ерунда. Нет нигде жесткой привязки. Есть привязки к версиям dependencies. Но сборщик - либерален. Для целого диапазона версий. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 17:21 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
dakeiras забыл ник пропущено... Вот-вот бобина ворвётся в Энтерпрайз :) Поясню для недопонимающих. Это билд Бобины из исходников. Его не нужно делать конечному пользователю. Т.к. Бобина распространяется через JCenter. Вообще ничего не понял. Ты топик создал ЗАЧЕМ? Чтоб мы попробовали твое изделие. А как его попробовать когда стандартные сценарии сборки не работают? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 17:22 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
mayton dakeiras пропущено... Поясню для недопонимающих. Это билд Бобины из исходников. Его не нужно делать конечному пользователю. Т.к. Бобина распространяется через JCenter. Вообще ничего не понял. Ты топик создал ЗАЧЕМ? Чтоб мы попробовали твое изделие. А как его попробовать когда стандартные сценарии сборки не работают? да это я не тебе, а сарказирующему человеку выше ответил. Так то конечно, я только ЗА то чтобы поиграться с кодом проекта :) Хотя это и не проба с точки зрения конечного пользователя (программиста использующего библиотеку у себя в проекте), но тоже здорово! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 17:35 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
mayton dakeiras Этот билд работает с конкретной привязкой к версии Gradle (как и все Gradle проекты). В этом случае к Gradle 5.x. Стоп-стоп. Подожди. Я работал с gradle на других прокетах с Амазоном. И у нас нигде не было требования по версии сборщика. У нас была совместимость с диапазоном релизов Gradle и все нормас собиралось. То что ты говоришь - это какая-то ерунда. Нет нигде жесткой привязки. Есть привязки к версиям dependencies. Но сборщик - либерален. Для целого диапазона версий. 6й Gradle не обратно совместим. Отсюда и заметна разница. Но с их точки зрения они рекомендуют использовать Gradle Wrapper и привязываться к конкретной версии Gradle, именно чтобы обходить такие ситуации. авторUsing the Gradle Wrapper It is recommended to always execute a build with the Wrapper to ensure a reliable, controlled and standardized execution of the build. Using the Wrapper looks almost exactly like running the build with a Gradle installation. Depending on the operating system you either run gradlew or gradlew. https://docs.gradle.org/current/userguide/gradle_wrapper.html ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 17:39 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
Код: java 1.
Так он подложен: https://github.com/INFINITE-TECHNOLOGY/BOBBIN/tree/master/gradle/wrapper Иначе как бы я CI использовал. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 17:44 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
автор Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Gradle надо запускать из корня проекта, а не из места установки Gradle. Да и вообще не нужно устанавливать Gradle как пакет в ОС :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 17:47 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
dakeiras Gradle надо запускать из корня проекта, а не из места установки Gradle. Это и есть корень проекта. Только не твоего. Да и вообще не нужно устанавливать Gradle как пакет в ОС :) Вот это новости! А как его нужно устанавливать? У меня - секретов нет. Я могу показать свой конфиг пользователя ОС. А как ты работаешь? Что у тебя? Windows? MacOS? Складывается впечатление что ты только в среде разработки и собирал. Пойми правильно. Ты должен тут в топике показать сокрушительное. Неопровержимое. Доказтельство того что твой софт живой и рабчий. Вот посмотри как Колесников педалит свой Json-builder. Он его вылизывает как кот яйца. Покрыл тестами. Поклеил стикеры успешных стилевых сканеров и гейтов который определяют качетсво продукта. Любо-дорого смотреть. Человек ДУМАЕТ о внешнем виде. О дистрибуции. А у тебя что? Тут писали - тут рыбу завернули. Вот ты мне указал на фолдер gradle/wrapper - а там нет атрибута executable (!). Это значит что в unix этот файл не выполнимый. Так как ты его выполнял в CI/CD? Он не может работать в принципе! Или у тебя CI/CD под Windows? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 18:47 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
По поводу релизов gradle. По состоянию на сегодня (15-Aug-2020), стабильной версией gradle является 6.6 (именно его мне предлагает портал для скачивания). Зеркало файлового ресурса здесь https://services.gradle.org/distributions/ (когда вы его будете смотреть версия 6.6 уже уйдет вниз и будут новые версии в топе). По поводу актуальности сборочных конфигов. Код: java 1. 2. 3. 4. 5. 6. 7.
Ключевые слова compile, e.t.c. морально устарели с точки зрения актуальных версий сборщиков. Сейчас - новая система ключевых слов для указания класса зависимостей. Как только ты настроишь коробочную сборку из консоли - увидешь warnings. С verbose детализацией увидешь рекомендации на что их заменить. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 19:06 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
Здесь многабукв. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9.
Вот мне лень писать каждый раз io.infinite.bobbin.config. Я-же не пишу java.lang.String. Это - обще-принятый тип. И у компиллятора Java есть особое поведение при обработке пакета java.lang.* И вы в корпоративной сети когда пингуете хост mayton - фактически имеете в виду суффикс mayton.corporate.com Хочу писать так. Домен - по умолчанию известен. Код: java 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 19:15 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
авторЭто и есть корень проекта. Только не твоего. А нужно из корня собираемого проекта. Это - общепринятые правила. Выше я привёл ссылку на офиц. документацию Gradle. Перечитай мои сообщения внимательно пожалуйста. авторВот это новости! А как его нужно устанавливать? У меня - секретов нет. Я могу показать свой конфиг пользователя ОС. Никак. Gradle не рекоммендуется устанавливать. Так говорят сами разработчики: авторYou can install the Gradle build tool on Linux, macOS, or Windows. This document covers installing using a package manager like SDKMAN! or Homebrew, as well as manual installation. Use of the Gradle Wrapper is the recommended way to upgrade Gradle. авторThe recommended way to execute any Gradle build is with the help of the Gradle Wrapper (in short just “Wrapper”). The Wrapper is a script that invokes a declared version of Gradle, downloading it beforehand if necessary. As a result, developers can get up and running with a Gradle project quickly without having to follow manual installation processes saving your company time and money. https://docs.gradle.org/current/userguide/installation.html https://docs.gradle.org/current/userguide/gradle_wrapper.html#sec:upgrading_wrapper авторА как ты работаешь? Что у тебя? Windows? MacOS? Складывается впечатление что ты только в среде разработки и собирал. Чередую винду, мак и линукс (Arch, Manjaro). Код: java 1.
CI - Travis. Вообще, в проекте всё видно - надо только приглядется - .travis.yml Ты должен тут в топике показать сокрушительное. Неопровержимое. Доказтельство того что твой софт живой и рабчий. авторА у тебя что? Тут писали - тут рыбу завернули. Вот ты мне указал на фолдер gradle/wrapper - а там нет атрибута executable (!). Это значит что в unix этот файл не выполнимый. gradle-wrapper.jar (именно это подразумевается под Gradle Wrapper) не должен быть исполняемым файлом. gradlew - должен (он такой флаг имеет в корне проекта ). Ещё раз повторю - иначе бы не работало CI. Код: java 1. 2. 3. 4.
Скажу так, я сторонник минимализма во всём. Очень качественного минимализма. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 19:16 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
авторВот мне лень писать каждый раз io.infinite.bobbin.config. Я-же не пишу java.lang.String. Это - обще-принятый тип. И у компиллятора Java есть особое поведение при обработке пакета java.lang.* И вы в корпоративной сети когда пингуете хост mayton - фактически имеете в виду суффикс mayton.corporate.com Хочу писать так. Домен - по умолчанию известен. Это я исправлю. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 19:18 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
(разводя руками) Коллеги. Кто уже смог собрать эту бобину? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 19:27 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
mayton (разводя руками) Коллеги. Кто уже смог собрать эту бобину? Брат, просто запусти ./gradlew build из корня проекта. Всё заработает. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 19:29 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
Zzz79 dakeiras пропущено... фейспалм. Без комментариев. так же как и твоя бабина на груви== рвотный рефлекс Да нормас. Еще бенчмарка не было. А это в логгерах важно. Чтоб они не блокировали основную линию бизнес кода, некоторые из них делают с кольцевыми буферами. Ну и в файловые writers добавляют разные опции асинхронности. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 20:04 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
mayton Zzz79 пропущено... так же как и твоя бабина на груви== рвотный рефлекс Да нормас. Еще бенчмарка не было. А это в логгерах важно. Чтоб они не блокировали основную линию бизнес кода, некоторые из них делают с кольцевыми буферами. Ну и в файловые writers добавляют разные опции асинхронности. Благодарю за поддержку! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 20:17 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
mayton Да нормас. Еще бенчмарка не было. А это в логгерах важно. Чтоб они не блокировали основную линию бизнес кода, некоторые из них делают с кольцевыми буферами. Ну и в файловые writers добавляют разные опции асинхронности. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 20:21 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
Андрей Панфилов mayton Да нормас. Еще бенчмарка не было. А это в логгерах важно. Чтоб они не блокировали основную линию бизнес кода, некоторые из них делают с кольцевыми буферами. Ну и в файловые writers добавляют разные опции асинхронности. Вот я и говорю. Нужно взять LogBack и этого Робина-Бобина. И просто дать миллион простых евентов. Смешанного уровня. От error до trace (заодно проверим как работает фильтрация). И просто посмотреть как пробежал алгоритм. Я-бы взялся бенчмаркать. Но мне пока есть чем заняться по другому проекту. Может Стасян потестит? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 20:26 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
mayton Нужно взять LogBack и этого Робина-Бобина. dakeiras Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
ну вот где здесь хоть какие-то гарантии что на выходе будет валидный JSON, если мы просто берем и интерполируем строку? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 20:35 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
Андрей Панфилов что там бенчмаркить-то? там в коде на каждую запись тупо flush вызывается, так что от производительности ожидать чего-то совсем не стоит. подскажите пожалуйста, как должно быть? авторЕще за каким-то хреном используется FileWriter, который вместо байт пишет символы (ну а если с системной кодировкой не повезло, то в логах будет мусор ) да, это поправлю. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 20:45 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
Андрей Панфилов, он решал какую-то продуктовую задачу. Он писал про это. Родил монстра. По сути это не логгер. А фреймворк наподобие музыкального центра. Тут тебе и радио. И кассетник. И винил. Я думаю что мы просто не в состоянии оценить труды дайкериса потому-что не понимаем ценности и назначения этого бутерброда. Мы не знаем куда его скотчем можно примотать. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 20:45 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
dakeiras подскажите пожалуйста, как должно быть? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 20:51 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
Log4j2 можно посмотреть в композиции с Disruptor. Это тот самый кольцевой буфер про который я говорил. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 20:53 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
Андрей Панфилов dakeiras подскажите пожалуйста, как должно быть? Logstash не хаял я! Это отличная вещь. Ок, посмотрю. (Отдельные потоки - сразу нет.) авторну вот где здесь хоть какие-то гарантии что на выходе будет валидный JSON, если мы просто берем и интерполируем строку? Можно Gson использовать для записи JSON если данные могут поломать JSON. Этот пример больше для примера сделан (GSON можно оттуда же по аналогии вызывать в поле format). ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 20:55 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
авторАндрей Панфилов, он решал какую-то продуктовую задачу. Он писал про это. Родил монстра. По сути это не логгер. А фреймворк наподобие музыкального центра. Тут тебе и радио. И кассетник. И винил. Я думаю что мы просто не в состоянии оценить труды дайкериса потому-что не понимаем ценности и назначения этого бутерброда. Мы не знаем куда его скотчем можно примотать. Наверное путаете с каким-то другим проектом. Это логгер и изначально создавался именно как логгер. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 20:57 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
mayton Log4j2 можно посмотреть в композиции с Disruptor. Это тот самый кольцевой буфер про который я говорил. Так если он блокирует что-то, зачем его использовать? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 21:00 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
Андрей Панфилов, посмотрел Logback. Он делает тоже самое абсолютно: Код: java 1. 2. 3. 4.
https://github.com/qos-ch/logback/blob/ed3ec5be6830bd786705875cc8f6ab9c4937d6e9/logback-core/src/main/java/ch/qos/logback/core/OutputStreamAppender.java#L198-L202 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 21:04 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
Код: java 1. 2. 3. 4. 5. 6.
https://github.com/qos-ch/logback/blob/a0318b3bc117a8ad2a6bead88706364134bdd450/logback-core/src/main/java/ch/qos/logback/core/recovery/ResilientFileOutputStream.java#L24-L29 Я когда-то давно смотрел всё это. И тестировал разные комбинации. С чего Вы взяли что там какая-то магия и супер оптимизация? Все бы знали о таких способах давно наверное) Так что - какие ваши доказательства? (голосом Шварца) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 21:17 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
Zzz79 груви конечно редкостная помойка,которая с трудом поддается здравому смыслу) груви удобен для многих вещей, тестирования, например в Spock Framework ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 22:31 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
dakeiras mayton Log4j2 можно посмотреть в композиции с Disruptor. Это тот самый кольцевой буфер про который я говорил. Так если он блокирует что-то, зачем его использовать? Я не говорил что он блокирует. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 22:44 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
mayton dakeiras пропущено... Так если он блокирует что-то, зачем его использовать? Я не говорил что он блокирует. А, сорри. Неверно прочитал. Оки, посмотрю. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2020, 22:53 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
dakeiras Alexey Tomin пропущено... Груви ещё там- значит в игнор. С моей стороны аналогично про все проекты на Котлине. Я ж не продвигаю тут библиотеки на котлине. Пусть они удобные, но в java лишние dakeiras Alexey Tomin пропущено... Груви ещё там- значит в игнор. А слабо себя пересилить и попробовать Бобину 1 раз? Или страшно, что вдруг понравится?:) Зачем? Груви я не использую и не буду. Мне одного проекта хватило, в котором груви использовался в одном модуле. Я даже не лазил туда особо, но проблемы лезли оттуда во все стороны. На всякий случай- java-код тех же авторов проблем не создавал ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2020, 17:26 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
авторЗачем? Груви я не использую и не буду. Мне одного проекта хватило, в котором груви использовался в одном модуле. Я даже не лазил туда особо, но проблемы лезли оттуда во все стороны. На всякий случай- java-код тех же авторов проблем не создавал Независимо от контекста, у тут есть проблема с аналитическим ходом мыслей в данном конкретном случае. Вы делаете вывод о ВСЕХ проектах на основе ОДНОГО проекта с ОДНИМ модулем, написанным ОДНИМ программистом. Это вызвано обычно предвзъятостью к предмету:) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2020, 12:00 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
dakeiras авторЗачем? Груви я не использую и не буду. Мне одного проекта хватило, в котором груви использовался в одном модуле. Я даже не лазил туда особо, но проблемы лезли оттуда во все стороны. На всякий случай- java-код тех же авторов проблем не создавал Независимо от контекста, у тут есть проблема с аналитическим ходом мыслей в данном конкретном случае. Вы делаете вывод о ВСЕХ проектах на основе ОДНОГО проекта с ОДНИМ модулем, написанным ОДНИМ программистом. Это вызвано обычно предвзъятостью к предмету:) Я сам пробовал груви. Динамический язык программирования кажется мне плохой идеей. Вы предлагаете ради небольшой библиотеки (пишется за недельку с многопоточностью) тащить многомегабайтный jar? Зачем? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2020, 12:18 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
Alexey Tomin dakeiras пропущено... Независимо от контекста, у тут есть проблема с аналитическим ходом мыслей в данном конкретном случае. Вы делаете вывод о ВСЕХ проектах на основе ОДНОГО проекта с ОДНИМ модулем, написанным ОДНИМ программистом. Это вызвано обычно предвзъятостью к предмету:) Я сам пробовал груви. Динамический язык программирования кажется мне плохой идеей. Вы предлагаете ради небольшой библиотеки (пишется за недельку с многопоточностью) тащить многомегабайтный jar? Зачем? из-за компиляции в класс на основе конфига при запуске приложения. Это даёт большой прирост производительности по сравнению с JSR223 (любой релизацией его). Насчёт динамического языка - Груви поддерживает статическую компиляцию и гибридную (на уровне класса). Я использую статическую по умолчанию, и там где надо - явно включаю динамическую через аннотацию метода. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2020, 12:26 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
Беспокойство коллег я вижу вот в чем. Java - это ассемблер для JVM. И ее типы данных. И прочие сущности такие как class/enum/interface компилируются в сущности JVM в соотношении 1:1. Тоесть если ты кодер на Java - то у тебя есть 100% контроль над выходом. Ты всегда знаешь во что будет собран исходник. В груви у нас такой уверенности нет. По поводу типизации. Она - не родная в груви. Насколько я понимаю исторически груви создавался скриптовым языком для служебных целей. Как-то написание конфигов. Сценариев билда. Или модульных тестов. Типизация с помощью @TypeCheck. Насколько она глубока. Так-же как в С++? Haskell? Цена вопроса - подстраховаться от падения в релизе когда код уже собран но при этом компиллятор не уверен (не владеет на 100% информацией) о том что down casting отработает именно так как ожидалось. А падение в релизе - это падение нашей репутации. И как следствие уровня доверия заказчика. И потеря денег. Тоесть беспокойство коллег - это не чистая теория на тему где красивее код. А это вполне себе материальный интерес. Мы заинтересованы чтобы ошибок ClassCastException у нас не было и не было бы других подобных ошибок связанных с диапазоном (Range) целого например или с тонкими различиями между int и double. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2020, 12:43 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
mayton Беспокойство коллег я вижу вот в чем. Java - это ассемблер для JVM. И ее типы данных. И прочие сущности такие как class/enum/interface компилируются в сущности JVM в соотношении 1:1. Тоесть если ты кодер на Java - то у тебя есть 100% контроль над выходом. Ты всегда знаешь во что будет собран исходник. В груви у нас такой уверенности нет. По поводу типизации. Она - не родная в груви. Насколько я понимаю исторически груви создавался скриптовым языком для служебных целей. Как-то написание конфигов. Сценариев билда. Или модульных тестов. Типизация с помощью @TypeCheck. Насколько она глубока. Так-же как в С++? Haskell? Цена вопроса - подстраховаться от падения в релизе когда код уже собран но при этом компиллятор не уверен (не владеет на 100% информацией) о том что down casting отработает именно так как ожидалось. А падение в релизе - это падение нашей репутации. И как следствие уровня доверия заказчика. И потеря денег. Тоесть беспокойство коллег - это не чистая теория на тему где красивее код. А это вполне себе материальный интерес. Мы заинтересованы чтобы ошибок ClassCastException у нас не было и не было бы других подобных ошибок связанных с диапазоном (Range) целого например или с тонкими различиями между int и double. класс на Груви: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74.
его декомпилированный класс на Яве: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303.
Отличий нет. (доп. код логирования добавлен BlackBox - это мой проект). Аналогично для enum и прочего. При статической компиляции Груви делает Ява код 1 в 1. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2020, 12:53 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
насчёт ClassCastException - тут нужно быть внимательным даже при статической компиляции. Даже в Яве чистой. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2020, 12:55 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
поверьте мне, как CTO я очень слежу чтобы стек был на хорошей платформе в долгосрочной перспективе. У Груви одна проблема сейчас - мало мейнтейнеров. Это риск, но не ретроспективный. Вопроса Groovy или Kotlin или Java нет. Вопрос JVM или Node.js. Node.js на голову выше JVM сейчас. Даже я бы сказал на порядок. Поэтому если будем переходить с Груви - то на Node.js (но это не раньше чем лет через 5). ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2020, 13:10 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
Ты "как CTO" иногда заметаешь такую интересную пургу. Node вообще не может конкурировать с Java на back-end по многим причинам. Их сферы применения слишком отличаются. Декомпилляция класса конечно интересна но ты и сюда умудрился запихнуть свою бобину. И что мы здесь ожидаем увидеть? Давай так. Мы не делаем никаких экспериментов пока не поставим задачу. Безсмысленная и безпощадная декомпилляция всякого разного нам не нужна. Лучше напиши рафинированный groovy-код но который имеет использование атомарных и объектных типов и их кастинги в разные стороны. Матрицу кастингов. И мы на ее посмотрим. И я (яж не упёртый) соглашусь с тем что Groovy генерит надёжный код. Моё видие Груви было сформировано лет 9 назад. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2020, 13:35 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
mayton Ты "как CTO" иногда заметаешь такую интересную пургу. Node вообще не может конкурировать с Java на back-end по многим причинам. Их сферы применения слишком отличаются. Декомпилляция класса конечно интересна но ты и сюда умудрился запихнуть свою бобину. И что мы здесь ожидаем увидеть? Давай так. Мы не делаем никаких экспериментов пока не поставим задачу. Безсмысленная и безпощадная декомпилляция всякого разного нам не нужна. Лучше напиши рафинированный groovy-код но который имеет использование атомарных и объектных типов и их кастинги в разные стороны. Матрицу кастингов. И мы на ее посмотрим. И я (яж не упёртый) соглашусь с тем что Groovy генерит надёжный код. Моё видие Груви было сформировано лет 9 назад. вот без доп. AST трансформаций (без @BlackBox, @ToString и @Slf4j): Groovy: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66.
Java: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2020, 16:16 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
авторВы предлагаете ради небольшой библиотеки (пишется за недельку с многопоточностью) тащить многомегабайтный jar? Зачем? 8МБ это многомегабайтный? А что тогда маломегабайтный? Jackson 2МБ занимает. Тоже предлагаете "не тащить" его? Тут выше Mayton сказал что у Явы своя ниша по сравнению с Node.js. Без библиотек "мнохамехабайтных" - я хочу знать - КАКОВА эта ниша тогда? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2020, 17:01 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
У нас был параллельный топик. И мы обсуждали каменты создателя Node. Он что-то там жаловался плакал. Как Ельцин. Дескыть я устал я ухожу. Идите все вжопу а я домой. И там мы коснулись некоторых архитектурных features, которые node не поддерживает. В частности движок node был одно-процессный и потоки он не умел запускать. Его концепция потоков основана на асинк-события дисковой и сетевой подсистемы. К каким последствиям приводит остуствие потоков (Threads) для бизнес-приложений - подумайте сами. Возможно у Нод-щиков есть свой рецепт. И возможно они потоки эмулируют запуском процессов. (это по смыслу как будто из Java process builder вы вызвали еще один процес java). Но я думаю что они должны делать приложения на 100% event driven. И как-то там прорабатывать бизнес цикл сообщений чтоб гарантировать что процессинг будет короткий и не захватит вычислениями надолго. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2020, 17:40 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
А ты не шутил насчет того что с груви на ноду переходить собрался? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2020, 23:59 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
mayton А ты не шутил насчет того что с груви на ноду переходить собрался? я сейчас поработал на Vue.js и просто офигел. Насколько продуктивно. Сообщества больше на Ноде и экосистемы тоже больше. (чем на Яве). Ява это умирающая платформа - хоть и довольно медленно. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 00:02 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
dakeiras, только надо учесть что js - это интерпритатор , и обработчик запросов а java - это приложение - со всеми вытекающими возможностями. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 06:34 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
dakeiras, А ты умеешь эту ноду оптимизировать? Но тоесть писать код так чтобы он быстро работал в релизе. В java оптимизирующему jit компилятору потратили более 20 лет на все улучшения. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 07:40 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
mayton Но тоесть писать код так чтобы он быстро работал в релизе. В java оптимизирующему jit компилятору потратили более 20 лет на все улучшения. Нода достаточно шустрая, но это больше за счёт того, что там не успели написать тонну библиотек, ормов и фреймворков сверху. То есть, чтобы работало быстро и не жрало ram на яве надо постараться, когда в ноде можно нашлёпать дефолтный код и он будет сносно работать. С другой стороны производительность простого стрингбилдера на js вгоняет в депрессию. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 07:55 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
dakeiras Node.js на голову выше JVM сейчас. Даже я бы сказал на порядок. Чем она на порядок выше? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 07:57 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
crutchmaster dakeiras Node.js на голову выше JVM сейчас. Даже я бы сказал на порядок. Чем она на порядок выше? Разработчики делятся на тех, кому зашли динамически-типизированные языки, и кому зашли статически-типизированные. А ещё функциональщики. Это как религия. Если зашла "динамика"- то ruby и js+nodejs это самое то. groovy - палиатив. Если "статика"- то java/scala/kotlin или c# (С++ и ассемблер не будем поминать). И от groovy тошнит. Просто dakeiras нашёл своё признание. Ну и хорошо. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 08:16 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
Alexey Tomin нашёл своё признвание ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 09:06 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
crutchmaster dakeiras Node.js на голову выше JVM сейчас. Даже я бы сказал на порядок. Чем она на порядок выше? там регулярно в репозиторий npm какие-то бэкдоры пихают, где вы еще такое встретите? Или где еще можно два раза подряд собрать одно и то же и получить совершенно разный результат? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 09:40 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
Андрей Панфилов crutchmaster пропущено... Чем она на порядок выше? там регулярно в репозиторий npm какие-то бэкдоры пихают, где вы еще такое встретите? Или где еще можно два раза подряд собрать одно и то же и получить совершенно разный результат? Класс. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 09:42 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
Андрей Панфилов там регулярно в репозиторий npm какие-то бэкдоры пихают, где вы еще такое встретите? Да с этим всё понятно и всё печально. Брать из npm можно далеко не всё. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 09:55 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
crutchmaster mayton Но тоесть писать код так чтобы он быстро работал в релизе. В java оптимизирующему jit компилятору потратили более 20 лет на все улучшения. Нода достаточно шустрая, но это больше за счёт того, что там не успели написать тонну библиотек, ормов и фреймворков сверху. То есть, чтобы работало быстро и не жрало ram на яве надо постараться, когда в ноде можно нашлёпать дефолтный код и он будет сносно работать. С другой стороны производительность простого стрингбилдера на js вгоняет в депрессию. С моей точки зрения, языки программирования общего назначения (С++/C#/Java/Python/Ruby) обладают неким индексом производительности. И он - достаточно стационарен. Тоесть ты берешь 100 разных алгоритмов. Реализуешь их на этих языках и если за 1.0 принять самый быстрый из них (например С++) то другие языки выстроятся в шеренгу. И в этой шеренге Node.JS будет занимать некое позорное место по рангу далеко не в первой пятерке. И этот факт я могу подтвердить. Я гонял бенчмарк на Node и на C-lang Алгоритмы должны не использовать Network/DiskIO. Тоесть мы меряем чистый перформанс в вакууме. Для серверов и датацентров существуют другие метрики в флопах . Но нам это не нужно. У нас - проще подход. Поэтому наш начинаюший junior-шеф-исполнительный-директор дайкерис должен этот факт понимать и принимать его во внимание при стратегических решениях. Дай бох его приложения - это просто микро-сервисы которые отбивают ресты и иксемельки. Тогда все будет норм. Но если речь идет именно о бизнес расчетах или о каких-то нагрузочных вычислениях без диска и без базы - то эффект от ухода с JVM/Groovy на Node - будет весьма неприятным. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 10:40 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
mayton Тоесть ты берешь 100 разных алгоритмов. Реализуешь Тут проблема в том, что надо хорошо разбираться во всех этих языках. Так-то у меня нода выигрывает в разы яву по памяти и скорости, но это - ничего не значит:) mayton И в этой шеренге Node.JS будет занимать некое позорное место по рангу далеко не в первой пятерке. Нода будет где-то за явой/c#. Пистон с руби и прочими пхп улетят далеко в помойку. Пруф, например : https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/nbody.html В некоторых случаях она тормознее раза в 3, чем натив, в некоторых в 5-7, в случае с nbody - не сильно отстаёт от жабки. Не сказал бы, что нода прям позорная по производительности, хоть, да, такое расхожее мнение есть. Еще движок Chipmunk на ней переписывали, там тоже была просадка раза в 3. ( https://github.com/josephg/Chipmunk-js) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 12:29 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
crutchmaster mayton Тоесть ты берешь 100 разных алгоритмов. Реализуешь Тут проблема в том, что надо хорошо разбираться во всех этих языках. Так-то у меня нода выигрывает в разы яву по памяти и скорости, но это - ничего не значит:) mayton И в этой шеренге Node.JS будет занимать некое позорное место по рангу далеко не в первой пятерке. Нода будет где-то за явой/c#. Пистон с руби и прочими пхп улетят далеко в помойку. Пруф, например : https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/nbody.html В некоторых случаях она тормознее раза в 3, чем натив, в некоторых в 5-7, в случае с nbody - не сильно отстаёт от жабки. Не сказал бы, что нода прям позорная по производительности, хоть, да, такое расхожее мнение есть. Еще движок Chipmunk на ней переписывали, там тоже была просадка раза в 3. ( https://github.com/josephg/Chipmunk-js) Каждый бенчмарк имеет право на сущестоввание. Но у меня есть претензии к публикации отчота по небесным телам которые летают вокруг Юпитера. Он - не репрезентативен. Он - просто представляет собой совокупность исходников по ОДНОМУ языку которые пронумерованы как #1,#2....etc. Этот отчот просто показывает нам что МНОГО ЛЮДЕЙ использовали ОДИН язык и умудрилсь на нем по разному закодить одну задачу. Это просто показывает нам другое измерение статистик. Скорее матрицу чем таблицу. Но делать по ней выводы о языке - сложнее. Мой подход заключался в другом. Мы брали 1 алгоритм и группой его улучшали на одном языке добиваясь лучшего результата. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 13:21 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
На рендеринге 3Д-картинки (вычисления с double). Я брал лучшие измерения в классе одного компиллятора. Lang Elapsed timeRust (rustc 1.39.0, cargo 1.39.0 8.7sClang, Linux 5.3.0-28-generic 9.8sC++ (gcc version 7.4.0, clang version 6.0.0-1ubuntu2) 9.06sJava-11 (OpenJDK 11.0.4 64-Bit, Linux 5.3.0-28) 12sgo1.10.4 linux/amd64 24sNodeJS v8.10.0 1m 30s ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2020, 16:05 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
mayton NodeJS v8.10.0 А что не 0.12? Да и руст у вас свежее, чем гсс и го. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 03:52 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
mayton, mayton Он - просто представляет собой совокупность исходников по ОДНОМУ языку Почему по одному? mayton Мы брали 1 алгоритм и группой его улучшали на одном языке добиваясь лучшего результата. Ну если вы - группа программистов на си/жабке, то понятно, что у вас не получится лучше, чем у задротов питона/руби/жс/пхп. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 03:56 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
crutchmaster mayton NodeJS v8.10.0 А что не 0.12? Да и руст у вас свежее, чем гсс и го. Так и jdk 11я версия :) Видимо старый тест. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 08:49 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
Я обновлю версии компиляторов. Если это все ваши замечания по теме. Но на индекс производительности это обычно не влияет. По поводу задротов. Welcome. Попробуйте улучшить. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 09:22 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
mayton По поводу задротов. Welcome. Попробуйте улучшить. А что попробовать? Где сорцы? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 09:56 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
mayton Если это все ваши замечания по теме. Ну и в любом случае, там между v8 и php/питоном/прочими пропасть. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 10:18 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
Хм... обновил NodeJS до v10.19.0. Результаты улучшились. Но есть артефакты. Впервые я не могу интерпретировать результат. Получаю двух-модовое распределение времени. Один центр колеблется возле 27 секунд. Другой - возле 40. Это может быть связано с особенностями STDOUT для процесса Node, но тут надо чье-то мнение кто этой нодой занимается. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 12:40 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
mayton Получаю двух-модовое распределение времени. Один центр колеблется возле 27 секунд. Другой - возле 40. Это может быть связано с особенностями STDOUT для процесса Node, но тут надо чье-то мнение кто этой нодой занимается. Нет, там бэкдор и она биткойны майнит ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 12:48 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
Андрей Панфилов mayton Получаю двух-модовое распределение времени. Один центр колеблется возле 27 секунд. Другой - возле 40. Это может быть связано с особенностями STDOUT для процесса Node, но тут надо чье-то мнение кто этой нодой занимается. Нет, там бэкдор и она биткойны майнит Ну за 40 секунд - много не намайнит. А в состоянии покоя - никаких новых процессов нет. Но спасибо. Вы мне кстати напомнили что у меня была идея - все тесты завернуть в Docker для удобства развертывания. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 12:54 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
Щас попробую обновить бенчмарк по Python. Последний раз за 10 минут не дождался ответа. Может на Python3 будет транслятор побыстрее. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 13:03 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
Хм.. в Python-тесте баг и он вообщем формирует неверную картинку. Отложим пока его ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2020, 13:57 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
mayton Хм... обновил NodeJS до v10.19.0. Можно и до 12 обновить. mayton Это может быть связано с особенностями STDOUT для процесса Node Если она активно пишет в stdout, то, возможно мы занимаемся измерением производительности диска. mayton но тут надо чье-то мнение кто этой нодой занимается Без исходников сложно что-то сказать. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 04:03 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
mayton Один центр колеблется возле 27 секунд. Другой - возле 40 Ну да, где-то так она и должна работать. Т.е. в 3 - 4 раза медленнее нативного. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 04:17 |
|
Бобина 4.1.0
|
|||
---|---|---|---|
#18+
crutchmaster mayton Хм... обновил NodeJS до v10.19.0. Можно и до 12 обновить. mayton Это может быть связано с особенностями STDOUT для процесса Node Если она активно пишет в stdout, то, возможно мы занимаемся измерением производительности диска. mayton но тут надо чье-то мнение кто этой нодой занимается Без исходников сложно что-то сказать. Родительский топик здесь https://www.sql.ru/forum/1173809-43/tyapnichnyy-benchmark-cpu-part-1 Не будем распыляться. Здесь пускай себе катится Бобина. Модератора попрошу удалить мои посты с бенчмарком. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2020, 08:31 |
|
|
start [/forum/topic.php?all=1&fid=59&tid=2120701]: |
0ms |
get settings: |
3ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
36ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
1498ms |
get tp. blocked users: |
0ms |
others: | 5ms |
total: | 1553ms |
0 / 0 |