Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 19:00 12.07.25 
Клубове/ Компютри и Интернет / Програмисти Пълен преглед*
Информация за клуба
Тема Това е несериозно [re: G.Kreisel]
Автор Colombino (ИП)
Публикувано17.12.04 20:23  



В отговор на:

GC може наистина да е по-добър от malloc/free. Например защото:




Почти всичко може да се случи в добре подбрани частни случаи.

Например може човек да спечели 6-ца от тотото.
Или да оцелее като падне от 25 метра.
Или квото там се сетиш малко вероятно.

Факт е, че няма регистриран случай на жабешка програма дето да не гълта памет като ламя. Обикновено има и еквивалент писан на старомеден език, който е незабележим.

Ето какво обикновено става:

В отговор на:

1. не би извършил определени деалокации, които биха се случили при ползването на free)



1. Не извършва на време някои деалокации, които един деструктор би направил и поддържа постоянно ниво на по-висока консумация.

В отговор на:

2. Може да "уплътни" обектите и по този начин да намали шанса за cache miss
(например някой копиращи GC)



2. Но далеч по-вероятно е да ги раздели и така да получи cache miss в ситуация в която един C/C++ ако му е важно да не се получи ще ги задели на съседни места.

В отговор на:

3. Може да намали фрагментацията на паметта и по този начин да се окаже, че "дебелата GC програмка" харчи по-малко памет от "ръчно оптимизираната програмка с ръчно управление на паметта"




Да, това може да стане. Но само ако C/C++ програмата е написана зле. Но C/C++ програмистите рядко алокират в унес като жабарите. Ако на един добър C++ програмист му се налага да алокира множество малки обекти ще го направи с по-големи блокове и placement new, или с по-сложен RecordManager.

В отговор на:

4. GC програмката никога няма да прочете онзи указател от вече освободената памет, преди това заемана от една структура, и в резултат никога няма да се случи Segmentation fault (по тази причина).



Тая грешка не съм я виждал от години. Има много други грешки които не могат да се допуснат на жаба, защо точно тая ти хареса?

[qoute]5. Не се налага програмиста да мисли кой, кога заделя памет и кой трябва да я освободи. Това МНОГО, ама МНОГО, невероятно МНОГО, опростява писането на модулен код, което МНОГО, ....., ама МНОГО помага на програмиста да не пише БОЗАВ код.



И той наистина не мисли за паметта, а я приема за даденост несвършваща. И за това няма значение колко е добър gc - накрая винаги ще е изразходвал повече от човек с навици за работа с паметта.

И аз не го казвам в обида на Джава. Все пак езикът е прекрасен. Само да беше малко по-малко рестриктивен. Да кажем ако викането на gc беше по-малко пожелателно щях да съм доволен. Ще взема да науча C#, чувал съм че той бил по-читав в това отношение. Един език трябва да те оставя да си счупиш главата ако много държиш да го направиш.

Току що се сетих още един недостатък на жаба, който е фундаментален - няма деструктори. Конструкторите и деструкторите не се ползват само за памет, а и за двойки действия. А ако второто действие е да се затвори някой сокет става лошо, щото той не е подвластен на gc.

System Doctor Error:
Your girlfriend is pregnant.
(A)bort, (M)arry, (I)gnore?_


Цялата тема
ТемаАвторПубликувано
* Защо Java Kaндидaт Джaбap   13.12.04 19:49
. * Re: Защо Java RepeatableRead   14.12.04 00:49
. * Re: Защо Java Гypy   14.12.04 01:11
. * САП, а ? ЯPOCTcлaв   14.12.04 09:20
. * Re: Защо Java nasko   14.12.04 09:43
. * Re: Защо Java nasko   14.12.04 09:53
. * А вие защо биете негрите, а ? ЯPOCTcлaв   14.12.04 10:14
. * Re: А вие защо биете негрите, а ? nasko   14.12.04 11:24
. * От много жаба елементарни неща не разбираш ЯPOCTcлaв   14.12.04 11:48
. * Re: Защо Java Mypy   14.12.04 12:27
. * Re: Защо Java Гypy   14.12.04 21:25
. * Re: Защо Java Mypy   15.12.04 11:40
. * Или защо C#, защо .NET и др. подобни защота ЯPOCTcлaв   14.12.04 09:16
. * Re: Защо Java жaбa   14.12.04 09:41
. * Re: Защо Java ЯPOCTcлaв   14.12.04 09:51
. * Re: Защо Java Pekoнcтpykтop   14.12.04 10:17
. * По следните причини: pyrx   14.12.04 12:56
. * Опит за отговор Masklin   14.12.04 15:51
. * Re: Опит за отговор fd   14.12.04 17:56
. * Re: Опит за отговор Questor   14.12.04 18:15
. * Не беше ли... G.Kreisel   14.12.04 19:09
. * Re: Опит за отговор фд   14.12.04 19:31
. * Re: Опит за отговор Questor   14.12.04 19:41
. * Re: Опит за отговор фд   14.12.04 21:16
. * Re: Опит за отговор Barracuda   15.12.04 09:05
. * Re: Опит за отговор fd   15.12.04 11:04
. * да ама никой не отчита, че ~!@$%^amp;*()_+   15.12.04 19:49
. * Теоретично, Masklin   16.12.04 12:24
. * Re: Теоретично, Nero   17.12.04 13:48
. * Re: да ама никой не отчита, че Nero   17.12.04 13:45
. * Re: Опит за отговор nasko   15.12.04 09:47
. * Re: Опит за отговор Pekoнcтpykтop   15.12.04 12:09
. * Re: Опит за отговор Гypy   16.12.04 01:02
. * Re: Опит за отговор lnformatora   16.12.04 01:44
. * Re: Опит за отговор Pekoнcтpykтop   17.12.04 11:51
. * Не са точно глупости Masklin   15.12.04 10:21
. * Re: Опит за отговор Paдo   15.12.04 08:26
. * Като по учебник Colombino   15.12.04 10:04
. * Доста си краен Masklin   15.12.04 10:46
. * Re: Доста си краен Colombino   15.12.04 12:11
. * Мда Masklin   15.12.04 12:43
. * Re: Като по учебник Nero   17.12.04 13:40
. * Re: Като по учебник Colombino   17.12.04 15:08
. * Re: Като по учебник Nero   17.12.04 15:54
. * Бе кви неизползвани обекти! Colombino   17.12.04 16:41
. * Re: Бе кви неизползвани обекти! Nero   17.12.04 19:09
. * Re: Като по учебник Pekoнcтpykтop   17.12.04 18:18
. * Re: Като по учебник Colombino   17.12.04 18:38
. * Re: Като по учебник Pekoнcтpykтop   17.12.04 19:12
. * Re: Като по учебник Nero   17.12.04 19:16
. * Re: Като по учебник Colombino   17.12.04 19:42
. * GC G.Kreisel   17.12.04 19:13
. * Re: GC Nero   17.12.04 19:33
. * Лисп G.Kreisel   17.12.04 19:51
. * Re: Лисп Nero   17.12.04 20:07
. * Това е несериозно Colombino   17.12.04 20:23
. * Re: Това е несериозно Дeшeв   17.12.04 23:56
. * Re: Това е несериозно Paдo   18.12.04 11:39
. * Re: Това е несериозно Дeшeв   18.12.04 22:44
. * Re: Това е несериозно Paдo   19.12.04 10:50
. * Re: Това е несериозно жaбa   20.12.04 10:53
. * Re: Това е несериозно lngon   18.12.04 15:37
. * Не е същото Colombino   18.12.04 16:24
. * Re: Не е същото lngon   18.12.04 22:16
. * Сериозно? G.Kreisel   19.12.04 12:17
. * Re: Сериозно? fg   19.12.04 13:17
. * Re: Сериозно? Colombino   19.12.04 16:11
. * Re: Сериозно? Questor   19.12.04 17:48
. * Кажи и на нас тая конвенция, де Colombino   19.12.04 23:48
. * Re: Кажи и на нас тая конвенция, де Paдo   20.12.04 10:07
. * Re: Кажи и на нас тая конвенция, де Pekoнcтpykтop   20.12.04 10:45
. * Re: Кажи и на нас тая конвенция, де Paдo   20.12.04 11:02
. * Re: Кажи и на нас тая конвенция, де Pekoнcтpykтop   20.12.04 11:10
. * Re: Кажи и на нас тая конвенция, де Paдo   20.12.04 12:02
. * Re: Кажи и на нас тая конвенция, де Questor   20.12.04 12:17
. * Re: Като по учебник qwerty   22.12.04 23:40
. * Многоплатформеност Colombino   23.12.04 02:53
. * Re: Многоплатформеност Johny Cage   23.12.04 10:13
. * Re: Многоплатформеност dc   23.12.04 11:07
. * Re: Многоплатформеност qwerty   23.12.04 20:30
. * Re: Като по учебник Nero   23.12.04 12:40
. * Re: Като по учебник dc   23.12.04 15:04
. * Re: Като по учебник qwerty   23.12.04 20:26
. * Re: Като по учебник tonio   25.12.04 21:30
. * Re: Като по учебник Язвaджия   25.12.04 22:23
. * Re: Опит за отговор Dark_Dirk   17.12.04 20:50
. * А?!? Colombino   17.12.04 21:16
. * Re: Опит за отговор asdf   18.12.04 13:40
. * за без пари G.Kreisel   19.12.04 12:24
. * Re: Защо Java Kaндидaт Джaбap   14.12.04 18:06
. * Тип приложения pyrx   14.12.04 22:57
. * Re: Защо Java Oracle   16.12.04 13:53
. * Re: Защо Java Questor   16.12.04 14:20
. * Oracle Oracle   16.12.04 15:52
. * Re: Oracle Mиpaж   17.12.04 11:45
. * Не обобщавай Colombino   17.12.04 12:15
. * Re: Не обобщавай Pekoнcтpykтop   17.12.04 12:27
. * Java IDE Colombino   17.12.04 12:40
. * Re: Java IDE Pekoнcтpykтop   17.12.04 13:06
. * Re: Java IDE Duncan Griffin   17.12.04 13:57
. * Re: Java IDE Pekoнcтpykтop   17.12.04 17:51
. * O Santa simplicitas! Colombino   17.12.04 17:58
. * Re: O Santa simplicitas! Pekoнcтpykтop   17.12.04 18:03
. * Re: O Santa simplicitas! Duncan Griffin   17.12.04 18:15
. * Re: O Santa simplicitas! Pekoнcтpykтop   17.12.04 18:20
. * Re: O Santa simplicitas! Colombino   17.12.04 18:28
. * Re: O Santa simplicitas! Pekoнcтpykтop   17.12.04 18:45
. * Re: Защо Java purist   20.12.04 07:04
. * Re: Защо Java Гypy   20.12.04 07:50
. * Тва да не е някаква тайна? Colombino   20.12.04 09:11
. * Re: Защо Java voyager   20.12.04 10:40
. * Re: Защо Java efd   20.12.04 10:53
. * Re: Защо Java xxx   24.12.04 15:32
. * azureus - 3 милиона purist   26.12.04 00:14
. * Re: azureus - 3 милиона Гypy   26.12.04 00:39
. * Re: azureus - 3 милиона purist   26.12.04 02:38
. * Re: azureus - 3 милиона xмм   26.12.04 01:34
. * Re: azureus - 3 милиона purist   26.12.04 02:33
. * Re: azureus - 3 милиона qwerty   26.12.04 11:39
. * Re: azureus - 3 милиона Hmm   26.12.04 13:08
. * Re: azureus - 3 милиона Дeшeв   26.12.04 15:35
. * Re: azureus - 3 милиона Questor   26.12.04 14:41
. * Re: azureus - 3 милиона purist   26.12.04 19:29
. * Re: azureus - 3 милиона Дeшeв   26.12.04 15:20
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2025 Dir.bg Всички права запазени.