Войти
ФлеймФорумОбщее

Конец Java? (9 стр)

Страницы: 18 9 10 11 12 Следующая »
#120
16:48, 28 мая 2019

kipar
> В Boehm GC нет никакого анализа.
  А его в GC и не должно быть. Это фича компилятора. Пишут, что в llvm что-то такое есть. В любом случае для крестов неактуально. Если ты создаёшь через new объект, который не выходит из функции, значит виноват сам. Впрочем вполне допускаю, что современные крестушки просто фигачат везде make_shared без разбору потому что могут и поэтому не имеют понятия что и где у них утекает и где собирается. И это даже не мешает им думать, что происходит это именно в правильные и заранее известные моменты.


#121
(Правка: 16:51) 16:50, 28 мая 2019

kipar
> Если б там была отдельная куча для молодого поколения - возможно этого эффекта
> бы не было, но ее нет.
Ты сейчас про что?

А, про
>Boehm GC
"Если ехать на машине долго, то она начинает ломаться, после каждых 10 километров надо останавливаться и чинить машину. Если бы мои жигули не ломались, возможно этого эффекта бы не было, но жигули ломаются. Вывод - все ваши автомобили полное говно, мне проще пешком пройти."

#122
16:58, 28 мая 2019

9К720
> старый добрый escape-analysis придумали лет 15 назад
Есть у меня такой условный код на Java-подобном языке:

struct A{}
struct B
{
  A a;
  B()
  {
    a= new A();
  }
}

void Foo()
{
  B b= new B();
  DoSomething( b.a );
}

Сможет мне твоя JVM выделить "A" на стеке?

#123
17:10, 28 мая 2019

Panzerschrek[CN]
> Сможет мне твоя JVM выделить "A" на стеке?
Нет конечно.

>Есть у меня такой условный код
У тебя в последней строчке a отдается непонятно куда.
Я понимаю к чему ты клонишь, но давай, развивай тему. Чтобы тебе самому понятно стало, почему ты несешь херню.

#124
17:28, 28 мая 2019

9К720
Нет, вывод - жигули говно, а т.к. иностранные автомобили мне не подходят по другим причинам, то лучше бы отечественные производители велосипеды развивали. Но нет, все туда же, ну кроме Лисичкина со своим ржавомобилем и может совсем маргинальных производителей.


Zefick
В LLVM есть поддержка этого, но сам гц все равно забота авторов языка.

> Если ты создаёшь через new объект, который не выходит из функции, значит виноват сам.
а если объект переменного размера то выбора нет.

Faceroll
Да по-моему это общая проблема.
В руби я на это напоролся. Я не спорю что он и так тормозной, но следить кроме производительности еще и за числом аллокаций это грусть. В Юнити видел такой же эффект, но подробно не разбирался.
Сейчас меня больше кристал беспокоит - хотя там и можно виртуозно обходиться value типами, но нафига эта боль, я бы предпочел следить чтоб циклических ссылок не появлялось.

#125
17:36, 28 мая 2019
Изображение
#126
18:25, 28 мая 2019

9К720
> Я понимаю к чему ты клонишь, но давай, развивай тему.
Ссылочные типы - говно, язык на их основе - параша.
/thread

#127
(Правка: 19:21) 19:18, 28 мая 2019

kipar
> иностранные автомобили мне не подходят по другим причинам,
По каким же?  Уже который раз пытаюсь получить от тебя ответ.  Кроме идеологии есть причины?

kipar
> лучше бы отечественные производители велосипеды развивали
Тут скорее аналогия ближе к лошадиной тяге будет. Лошадь для дикого крест-янина конечно удобнее, дешевле и понятнее. И есть наверняка куча мест, где телега лучше подходит чем машина. Но глупо требовать, чтобы автопроизводители занялись производством карет. Как ты заметил, этот рынок вполне закрывает ОАО ЛисаПламя
И их ржавые кареты особой популярностью не пользуются.

И да, если в деревне под названием "гемдевелопердюйск" дороги позволяют ездить только на лошади, потому что Жигули застревают, а на внедорожники у жителей денег нет - это не проблема автопроизводителей

#128
19:41, 28 мая 2019

9К720
> И да, если в деревне под названием "гемдевелопердюйск" дороги позволяют ездить только на лошади, потому что Жигули застревают, а на внедорожники у жителей денег нет - это не проблема автопроизводителей
это проблема местных автопроизводителей. Раз у них (очевидно) нет ресурсов чтобы делать машины уровня гугла и оракла а только уровня жигулей, почему бы не заняться лошадиной тягой.

> По каким же?  Уже который раз пытаюсь получить от тебя ответ.  Кроме идеологии
> есть причины?
Почему не JVM?
В случае с руби - потому что под JRuby нет большинства игродельских библиотек и вообще большие проблемы с подключением сишных библиотек.
В случае с юнити - потому что под JVM эээ, нет юнити.
В случае с кристаллом - потому что под JVM эээ, нет кристала, а котлин до него по выразительности не дотягивает.
Да и в целом если выбор между "жить с плохим гц" и "осваивать новую экосистему с кучей каких-то легаси кусков и во многом для меня сомнительной идеологией", то я выбираю первое, каких-то киллерфич я у JVM для своих задач не вижу.

#129
20:12, 28 мая 2019

kipar
> каких-то киллерфич я у JVM для своих задач не вижу.
  Может стоит поменять задачи? Судя по тому, что ты маешься руби и юнити и тебе это не нравится, это давно пора было сделать.

#130
20:30, 28 мая 2019

Zefick
На работе я в основном для микроконтроллеров пишу, и там тоже кроме си и раста ничего нет, и тоже гц виноват. Но если куда-то уходить, то только в геймдев, а уж хобби менять с геймдева на что-то только из-за каких-то гц я точно не буду. Просто огорчает что даже язык моей мечты, кристал, тоже с гц, и конечно тоже с убогим (ну это то неудивительно, ведь неубогих гц на свете эээ два? три?).

#131
20:49, 28 мая 2019

А мне нравится сборщик мусора. Ну или точнее я не люблю следить за памятью, особенно за чужой.
Тут любимый некоторыми Rust может и как бы не требует сборщика мусора, но он точно также фрагментирует память, как все остальные, что в игрушках часто является серьёзной проблемой.

kipar
На контроллерах нет ничего кроме си (ну кроме некоторой экзотики, как микропитон например (всё собираюсь его потрогать)) потому что на них нет операционной системы, а не из-за сборщиков.
Стандартная библиотека большинства языков не работает без ОС, потому что даже аллокаторов нет. 

#132
21:14, 28 мая 2019

Кот Зловред
> фрагментирует память, как все остальные, что в игрушках часто является
> серьёзной проблемой.
А двойное разыменование не проблема?

#133
21:22, 28 мая 2019

Проблемы с локальностью памяти есть.

В современных операционных системах вообще в принципе невозможно гарантировать стабильное время кадра. Критика сборщиков мусора на таком фоне выглядит как-то несколько странно.

#134
21:23, 28 мая 2019

Кот Зловред
> Стандартная библиотека большинства языков не работает без ОС, потому что даже
> аллокаторов нет.
раст же работает. И паскаль с адой. И у остальных языков ее можно портировать (если язык ллвм-ный а не на виртуальной машине) - аллокатор за 200 строк пишется, всякие там файлы и потоки ввода-вывода выкидываем, корутины\треды пишем велосипедные или выкидываем, массивам и хешам ось не нужна. Но гц ставит крест на всей затее.

Страницы: 18 9 10 11 12 Следующая »
ФлеймФорумОбщее