
Quantum Harmonizer
06.08.2018
11:37:53

Ivan
06.08.2018
11:41:32

dimiii
06.08.2018
11:43:05

Ivan
06.08.2018
11:44:07

Google

Ivan
06.08.2018
11:44:31
Кажется там было мнение что пхпшники переходят на скалу иногда

Руслан
06.08.2018
11:46:36

Konstantine
06.08.2018
11:49:01

Alexander
06.08.2018
12:41:37

Sergey
06.08.2018
12:44:16

Руслан
06.08.2018
12:44:42

dimiii
06.08.2018
12:50:22
Гонял задачу о рюкзаке на 40Gb при xmx 8Gb без ООМ ).

Sergey
06.08.2018
12:55:02

Mikhail
06.08.2018
12:55:21

Руслан
06.08.2018
12:56:09
Ну это JVM так выставляет, у меня лимиты в моих прилажках в среднем 512mb просто потому что памяти достаточно

Alexander
06.08.2018
12:56:56
Не в памяти дело. Просто поддержка JVM - это дорого. Поэтому где можно стоит наоборот всю мелочь в одну виртуалку засовывать

Google

Alexander
06.08.2018
12:57:20
Кроме того, одно дело сколько оно реально жрет, а другое, сколько оно аллоцирует. 512 -то точно.

Mikhail
06.08.2018
12:58:37
жава != спринг, у меня есть приложения работающие на 32мб хипа

Роман
06.08.2018
13:01:04

Alexander
06.08.2018
13:01:40
А теперь посмотрите, сколько оно в процесс манагере отъедает

dimiii
06.08.2018
13:02:02
Хотел пошутить - Java 8 is the new Java 6, но shenandoah бэкпортировали на 8, походу

Mikhail
06.08.2018
13:03:03
гигабайт точно будет

Alexander
06.08.2018
13:03:07
Я про 32 мб

Mikhail
06.08.2018
13:03:55
около 50ти где-то

Sergey
06.08.2018
13:18:43

Alexander
06.08.2018
13:19:00
я про это и говорю

Sergey
06.08.2018
13:19:02
нативная память + код + метадата + кеши кода + тред память и куча всякого гавна

Alexander
06.08.2018
13:19:28
Скорее, что он отгребает с запасом

Sergey
06.08.2018
13:20:18
если запускать ктор на нетти то реальной памяти как раз около 100-120мб выходит всего
спринг на undertow меньше чем на 350мб запустить это проблемно

Mikhail
06.08.2018
13:21:40
ну так это спринг
я кстати собираюсь переписывыть спринг-бут приложение на свой фреймворк, можно будет потом сравнить потребление памяти

Sergey
06.08.2018
13:28:53
а мы на ктор уезжаем) экономия на каждом запущенном инстансе в 200мб это приятно

Google

Quantum Harmonizer
06.08.2018
13:31:59
да уж, чёт десятка порядка 40 МБ жрёт с -Xms4M -Xms4M -Xss228K
и с 32 так же :)
смотрел в колонку RES В htop, верно?
упс, с 64 ничего не меняется, вот теперь не верю

Sergey
06.08.2018
13:33:40
yep

Mikhail
06.08.2018
13:36:28

Sergey
06.08.2018
13:36:38
там CIO пилят
на корутинах
оно еще и под k/native будет работать

Михаил
06.08.2018
13:37:32
кто объяснит чем отличается viewModel::openInstrument от { viewModel.openInstrument(it) } ?

dimiii
06.08.2018
13:37:37

Михаил
06.08.2018
13:37:48
что там при компиляции происходит?

Sergey
06.08.2018
13:37:52
нативная память + код + метадата + кеши кода + тред память и куча всякого гавна
когда хип в несколько гб, то это все остальное просто мелочь

dimiii
06.08.2018
13:38:30

Quantum Harmonizer
06.08.2018
13:38:59

Bogdan
06.08.2018
13:39:02

Михаил
06.08.2018
13:40:25
зачем в первом случаем происходит обращение в переменной?

Quantum Harmonizer
06.08.2018
13:40:44

Михаил
06.08.2018
13:41:09
private lateinit var viewModel: ProfilePortfolioViewModel
private val onPositionsClicked: (String) -> Unit = { viewModel.openInstrument(it) }

Google

Михаил
06.08.2018
13:41:15
так не падает
private lateinit var viewModel: ProfilePortfolioViewModel
private val onPositionsClicked: (String) -> Unit = viewModel::openInstrument
так падает при инициализации

Quantum Harmonizer
06.08.2018
13:41:55

Alexander
06.08.2018
13:41:59
ходил тут по Jep-ам. Нашел Pattern matching, чуть штаны не потерял от удивления. Оказалось обычный when: https://bugs.openjdk.java.net/browse/JDK-8181287

Quantum Harmonizer
06.08.2018
13:42:29
так что разницы нет только в случае с val

dimiii
06.08.2018
13:42:48

Quantum Harmonizer
06.08.2018
13:43:07

Admin
ERROR: S client not available

dimiii
06.08.2018
13:43:37
Ну ок, lateinit var
меня интересует, раскрутит ли компилятор цепочку

Михаил
06.08.2018
13:44:18
так что зависит от порядка в котором их инициализируешь

dimiii
06.08.2018
13:44:36
Ну, да, заморочно выглядит

Bogdan
06.08.2018
13:46:05

Andrew
06.08.2018
14:41:52
Хороший вопрос для собеса по котлину х)

Igor
06.08.2018
14:43:22
Скорее для пазлеров

Bogdan
06.08.2018
14:44:26

Quantum Harmonizer
06.08.2018
14:44:36

Google

Bogdan
06.08.2018
14:44:51

Andrew
06.08.2018
14:45:04

Mikhail
06.08.2018
14:45:11
На самом деле тут не только про lateinit дело, он только запутывает

Andrew
06.08.2018
14:45:25

Андрей
06.08.2018
14:46:31
некрасиво же

Quantum Harmonizer
06.08.2018
14:47:01

Mikhail
06.08.2018
14:47:40
норм вопрос на собес - что выведе этот код:
data class Foo(var bar: Int)
val foo = Foo(1)
val fooRef1 = foo::bar
val fooRef2 = { foo.bar }
foo.bar = 2
println(fooRef1())
println(fooRef2())

Quantum Harmonizer
06.08.2018
14:48:26
тут вроде без сюрпризов
а вот если var foo, тогда интереснее

Андрей
06.08.2018
14:51:23
не?

Quantum Harmonizer
06.08.2018
14:51:47
да вроде property.invoke == getter

Mikhail
06.08.2018
14:51:48
1
2
(но я не проверял)

Quantum Harmonizer
06.08.2018
14:52:00

Mikhail
06.08.2018
14:52:14
К -коллайдеру- REPL!

Андрей
06.08.2018
14:53:16

Mikhail
06.08.2018
14:53:20
2 2

Андрей
06.08.2018
14:53:21
2 2 в итоге

Quantum Harmonizer
06.08.2018
14:53:43
говорю же, без сюрпризов :)

Андрей
06.08.2018
14:54:16
не очень понятно с val fooRef2 = { foo.bar }