|
Сложить два числа в Kotlin :)
|
|||
---|---|---|---|
#18+
Давай посмотрим. Нужен тест. И дамп памяти. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2020, 19:48 |
|
Сложить два числа в Kotlin :)
|
|||
---|---|---|---|
#18+
Лично мне тест не нужен - у меня просто нет проблем из-за "офигенного футпринта" (по русски - "больших накладных расходов"). Но мне не очень нравится, когда делаются весьма прямолинейные утверждения, которые весьма неочевидны, если "учесть все известные факторы". P.S. Тот же CardRayTracer сильно ускоряется на Java 11 в сравнении с Java 8. Байт-код, понятное дело, от Java 8. Но Java 11 научили автовекторизации и JIT сделал то, что лично я не просто не умею, а никогда не буду уметь в обозримом будущем. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2020, 21:46 |
|
Сложить два числа в Kotlin :)
|
|||
---|---|---|---|
#18+
На сколько процентов ускоряется? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2020, 23:21 |
|
Сложить два числа в Kotlin :)
|
|||
---|---|---|---|
#18+
mayton andreykaT, не одобряю твою манеру коверкать слова. Если ты ненавидишь ДжетБрейн - то так и напиши. Просто в противном случае получается что у тебя есть что-то невысказанное и ты никак его не смог сформулировать. Не держи в себе короче. да не, они норм парни. и котлин их норм. идешку их я использую уже лет 5-6. жаль скале так не повезло с промоутом как котлину. мне кажется, скала все-же имеет гораздо более серьезный потенциал чем эта джава с плюшками. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2020, 01:54 |
|
Сложить два числа в Kotlin :)
|
|||
---|---|---|---|
#18+
mayton Leonid Kudryavtsev У меня чувство, что для каждой лямбды просто создается свой отдельный внутренний класс. Никто не мешал и раньше делать "лямбды" (callback'и), только нужно было самому класс создавать. Я кажется дизассемблировал лямбду в восьмерке. Получалось что вроде каждая лямбда компилирует в текущем классе метод в знаком $ в составе имени. Попробую сегодня уточнить для 11-тки. По поводу лямбд. Вот выхлоп стандартного javap-дизассемблера (фрагмент) Код: 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.
Исходник где предположтельно 4 лямбды. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Вобщем лямбда реализована как приватный статический метод. Имя - как композит из имени класса и специального счетчика с долларом. Видимо для предотвращения clashing names. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2020, 13:49 |
|
Сложить два числа в Kotlin :)
|
|||
---|---|---|---|
#18+
Basil A. Sidorov, про вопрос перформанса я помню. Надо актуализировать этот чортов Card-Raytracer. Руки не доходят. Там надо сделать чуть больше действий. Я если уж доберусь до него то и сделаю чуть больше. Хотя-бы табличку на титульной странице поправить надо, ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2020, 13:50 |
|
Сложить два числа в Kotlin :)
|
|||
---|---|---|---|
#18+
mayton#22066461, thanks ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2020, 14:33 |
|
Сложить два числа в Kotlin :)
|
|||
---|---|---|---|
#18+
Скажите а в котлине нормальный патернматчинг есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2020, 21:10 |
|
Сложить два числа в Kotlin :)
|
|||
---|---|---|---|
#18+
mayton На сколько процентов ускоряется? Тогда это было Java8 vs Java10 - минус, примерно, 25% времени (31-34 секунды против 25-28 секунд). Тогдашнего сорца не нашёл, взял код Andrew Kensler . Сейчас ничего не менял, только добавил примитивный отсчёт времени. Получил и увеличение времени и отсутствие разницы: по 38-39 секунд на актуальных OpenJDK 1.8.0_232-b09 и 11.0.5+10. Проц у меня с тех пор, вроде, не менялся. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2020, 23:22 |
|
Сложить два числа в Kotlin :)
|
|||
---|---|---|---|
#18+
Basil A. Sidorov, если мы поднимем на 25% - то мы перегоним clang c AVX-оптимизацией над которой работал Зяма. Кстате это самая быстрая имплементация этого бенчмарка. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2020, 23:35 |
|
Сложить два числа в Kotlin :)
|
|||
---|---|---|---|
#18+
mayton Basil A. Sidorov, если мы поднимем на 25% - то мы перегоним clang c AVX-оптимизацией "Плюс двадцать пять" относилось к Java 8 vs Java 10 на моём компьютере три года назад. Зачем приплетать сюда "clang с AVX-оптимизацией", если ни тогда ни сейчас с моей стороны не было ни одного слова про другие реализации??? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 14:07 |
|
Сложить два числа в Kotlin :)
|
|||
---|---|---|---|
#18+
Дак у меня статистика как раз по восьмёрке. И она опубликована. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 17:09 |
|
Сложить два числа в Kotlin :)
|
|||
---|---|---|---|
#18+
mayton забыл ник пропущено... Вот тут не понял - а что мешает то? ФП это как SQL - декларативное описание программы. В какой очередности что-то дергать или выполнять(в том числе в абсолютно императивном стиле) - все идет на откуп движку БД. Но у тебя же не возникает вопроса - что там остается от SQL? ФП-шность и способность кода собираться через LLVM - это два независимых вектора развития. Одно другому не мешает. Вот хаскель вроде тоже использует LLVM и ничего. Я хотел сказать что программисты владеющие Scala могут получить (внезапно!) помимо умного и лаконичного языка еще и язык с высоким перформансом. Если раньше на чаше весов Java-vs-Scala, первая побеждала в бизнес-решениях по скорости кода на выходе. То поесле нативного компиллятора ситуация может быть диаметральной. А ну вот домашняя страничка этого поделия https://scala-native.readthedocs.io/en/v0.3.9-docs/ ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2020, 23:57 |
|
Сложить два числа в Kotlin :)
|
|||
---|---|---|---|
#18+
andreykaT да не, они норм парни. и котлин их норм. идешку их я использую уже лет 5-6. жаль скале так не повезло с промоутом как котлину. мне кажется, скала все-же имеет гораздо более серьезный потенциал чем эта джава с плюшками. Scala не повезло не с промотуерами, а немного не правильной стратегией развития. Т.к. они (Scala) опираются на JVM, то все java-программисты ожидали, что проблем м/у Java и Scala не будет. Но это оказалось немного не так. Для тог же Spark пришлось писать отдельное реализация API для Java, которое еще и отставало от API для Scala на ранних этапах. Потом пересмотрели приоритеты и сказали, что основное API будет для Java. А так Scala мощный язык, но его мощь его и сгубила. "Будь проще и люди к тебе потянуться" :-) ДжетБрейнс фишку просекли и сделали "проще". Результат не заставил себя долго ждать. Как минимум на мобилках. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2020, 06:48 |
|
Сложить два числа в Kotlin :)
|
|||
---|---|---|---|
#18+
andreykaT Скажите а в котлине нормальный патернматчинг есть? Нет и А. Бреслав в своих докладах по Котлин от него отбивается руками и ногами. Типа это нафиг никому не нужно, а делать очень сложно и вообще не хотим. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2020, 06:58 |
|
Сложить два числа в Kotlin :)
|
|||
---|---|---|---|
#18+
Как я уже говорил Java/Kotlin по своему понимают ФП и тащут в свои языки жалкую карикатуру. Они переварили паттерн матчинг и поняли это как усложнённый switch/case. Вот (примерно) так выглядит паттерн матчинг в Haskell. Сопоставление аргумента функции с известным промежуточным результатом свёрток. Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2020, 19:22 |
|
Сложить два числа в Kotlin :)
|
|||
---|---|---|---|
#18+
mayton Как я уже говорил Java/Kotlin по своему понимают ФП и тащут в свои языки жалкую карикатуру. Они переварили паттерн матчинг и поняли это как усложнённый switch/case. Вот (примерно) так выглядит паттерн матчинг в Haskell. Сопоставление аргумента функции с известным промежуточным результатом свёрток. Код: plaintext 1. 2. 3.
Нормально понимают в скале паттерн матчинг. Отсутвие няшного синтаксиса вызвано рядом причин, основная из которых совместимость с Java и JVM ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2020, 20:01 |
|
Сложить два числа в Kotlin :)
|
|||
---|---|---|---|
#18+
Ну я говорю вобщем про бесконечные компромиссы. Вот втащили в Kotlin нечто. Это нечто - имеет характерный bracer-like синтаксис. Можно назвать это pattern-matching-ом. А можно просто назвать это синтаксическим сахаром над обычным if-else. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2020, 20:18 |
|
Сложить два числа в Kotlin :)
|
|||
---|---|---|---|
#18+
mayton Ну я говорю вобщем про бесконечные компромиссы. Вот втащили в Kotlin нечто. Это нечто - имеет характерный bracer-like синтаксис. Можно назвать это pattern-matching-ом. А можно просто назвать это синтаксическим сахаром над обычным if-else. Так в Котлин и не собираются внедрят pattern-matching. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 05:41 |
|
|
start [/forum/topic.php?fid=59&msg=39918801&tid=2120928]: |
0ms |
get settings: |
25ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
91ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
396ms |
get tp. blocked users: |
1ms |
others: | 313ms |
total: | 861ms |
0 / 0 |