Войти

Показать полную графическую версию : C++ garbage Collector


VuDZ
16-03-2002, 13:50
Короче. без лишенего флейма и флуда - кто что по этому поводу думает?
Моё мнение - нафиг не надо. но со скуки для практики можно сделать...

2ivank
1. что то я тебя давно не видел в аське
2. тебе такая фигня для VC2C++ или как_его_там не нужна?

ivank
16-03-2002, 18:30
VuDZ
Смотря в каком виде garbage-collector присутствует. Как в Java/Simula/другие языки с продвинутым сборщиками. А вот умные (и всякие их вариации типа ведущих, с сильными/слабыми ссылками) очень даже полезны удобны -- во многих случаях заморачиваться на управлении памяти очень не хочется...

1. что то я тебя давно не видел в аське траблы со временем/инетом...

2. тебе такая фигня для VC2C++ или как_его_там не нужна?Оно у меня уже давно в компилятор превратилось.

BigMac
18-03-2002, 07:01
VuDZ
А что это такое?......

А взять, да книжку почитать? Ну или сходить к дяде Яndex'у (ya.ru)... ivank.

VuDZ
18-03-2002, 09:20
У меня этот цвет любимый теперь - новая машина такая же :gigi:
Но да чего же сложно сделать нормальный менеджер памяти...

ivank
18-03-2002, 17:41
Дык, универсальный менеджер и не нужен. ИМХО лучше каждый раз писать снуля под конкретное применение. Т.к. универсальный менеджер всё равно невозможно написать...

А вообще, я никогда не пытался написать garbage-collector. Мне хватало собственноручного написания аллокаторов для STL и умных указателей....

VuDZ
18-03-2002, 18:03
ты рассуждаешь как чел, который говорит. что надо всё писать начистом API, так как это быстрее :>
На самом деле можно, правда гмороя много, я ща брата напряг этим, пусть практикуется, он вчера что-то там грузил в конфе (сам знаешь в какой)
Почитай самое начало моей ветки CLR vs Runtime2 - там использовалась пародия на memoryManager - скорость выросла раз в 50, 31 сек против 6-8 минут...

Добавлено:

пачему у моейц картинки фон непрозрачный :(

BigMac
18-03-2002, 20:38
ivank
OK/....просто думал ты для ламера в программирование в 2-х словах объяснить можешь

ivank
18-03-2002, 20:50
VuDZ
Я рассуждаю как человек, которочу никогда не нужен был garbage-collector :) Я даже opetrator new никогда не перегружал..

VuDZ
19-03-2002, 02:02
а собственный аллокатор это что по-твоему?
фишка мощная, скорее всего она будет использовать с паре моих проектов, где есть очень жёсткие ограничения по памяти

Слушай. раскажи на мыло, как вы таки тулбары прикольные делаете

Добавлено:

BigMac
Garbage Collector - это такая фигня, которая смотрит за твоими обраениями к памяти и пресекает утечки. Ещё в её обязаности входит дефрагментация памяти. Пример:


int * n = new int;
*n = 2;
int *k = new int;
*k = *n + 1;
*n = new int; // вот тут- утечка памяти, однаго GC замечает, что ты
// присвоил переменной новое значени в памяти,
// не сохранив предыдущее и по-этому, его можно убить

вот так-что
э.. опять не правильно написано - должно быть Було поправлено: VuDZ, чёрти:когда черти:где

ivank
19-03-2002, 09:24
а собственный аллокатор это что по-твоему?
Средство оптимизации.

VuDZ
19-03-2002, 11:36
ты это, того, ответь на оффтопик, интересно-же...

ну-ка, покажи исходничек...

ivank
19-03-2002, 19:38
А в исходничек странички глянуть лень? Хотя оно не очень-то и читабельно -- я постарался :))
А аллокатор я делал, дабы проптимизировать выделение памяти -- вместо того что бы просто делать new под объект оно смотрело есть ли в буфере лишний объект, енсли есть, то возвращало указатель на него, если нет, то честно делало new. Соответственно вместо "деаллокации" оно просто клало указатель на объект в буффер. Скорость архиватора от этой простой буфферизации многократно возросла...

VuDZ
19-03-2002, 21:54
Слушай, тут изверг я, а не ты - рассказывай, а то у меня нет времени копаться в сорцах :(




© OSzone.net 2001-2012