|
Тема |
Това е несериозно [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 |
|
|
|
|