heapmin

29 отговора 1185 прегледа
#1

heapmin

В една книга препоръчваха след динамично заделяне на памет в Виндовс да се вика heapmin(), което уж помагало срешу фрагментирането на паметта. Мислите ли , че наистина има смисъл и помага ли наистина? Някой има ли лични впечатления?

Отговор
в отговор на bushi #2

Re: heapmin

Според мен, ако се спазват всички предписания, дадени в различните книги, 99.9% от програмите щяха да се състоят от всевъзможни викания на всевъзможни ф-ии, хиляди не особено смислени проверки и всякви такива идиотщини. Едно нещо е ценно, ако си го срещнал поне в 5 книги и 2 форума.



Отговор
в отговор на Pekoнcтpykтop #3

Re: heapmin

Според мен, ако се спазват всички предписания, дадени в различните книги, 99.9% от програмите щяха да се състоят от всевъзможни викания на всевъзможни ф-ии, хиляди не особено смислени проверки и всякви такива идиотщини. Едно нещо е ценно, ако си го срещнал поне в 5 книги и 2 форума


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

Отговор
в отговор на bushi #4

Re: heapmin

HeapMinimize() ли имаш в предвид ?
На "чисто" С ли те карат да пишеш ?

Отговор
в отговор на bushi #5

Re: heapmin

Зависи - ако примерно 2 дена заделяш блокове от по 17 байта, после почнеш 2 дена да заделящ по 23 - тогава да.

Лека нощ
Отговор
в отговор на Veso #6

Re: heapmin

пиша на С++ , но както видях HeapMinimize() се отнася за IMalloc , а аз си ползвам директно int _heapmin( void );

Отговор
в отговор на bushi #7

Re: heapmin

Защо не използваш new/delete или още по добре STL с auto_ptr ?
По преносимо, по лесно по сигурно. Дано само не звучи като в тъпа реклама. Не виждам смисъла от използването на HeapAlloc() и др. от сорта, освен ако не те карат насила.

Отговор
в отговор на bushi #8

Re: heapmin

Пък в други книги препоръчват езици с GC или по възможност небъзикане с явна динамична памет. Но разни хора - разни идеали :)

Отговор
в отговор на Paдo #9

Re: heapmin

И за да не бъдем голословни в този тъй хубав предпразничен ден би ли бил така любезен да цитираш името на тази книга, автора и по възможност страницата ?

Отговор
в отговор на Veso #10

Re: heapmin

Примерно TC++PL на Bjarne Stroustrup. Дебелички са и двете части, пък и отдавна съм ги прелиствал и се затруднявам с точната страница :)

Отговор
в отговор на Veso #11

Re: heapmin

виж, в края на краищата С++ операторите new i delete, също както STL използват С функциите за заделяне на памет така че в случая е все едно, и паметта така или иначе се фрагментира без значение кой от методите за заделяне на памет си решил да ползваш

Отговор
в отговор на Paдo #12

Re: heapmin

Странно, много странно. Аз щото не разбирам от евтини заяждания, прехвърлих набързо 2-та тома, ама никъде не видях такова нещо. Да не би да си срещнал нещо подобно в някоя книга за VB ? Или имаш комплекси от C++ ?

Отговор
в отговор на Veso #13

Re: heapmin

Възможно е да съм я чел като дявол евангелието.
К'во означава комплекси от С++?

Отговор
в отговор на Veso #14

Re: heapmin

Мислех да се въздържа, ама гледам, че се заяждаш - та само не видях човекът да е питал какво да използва (new/malloc), че да се изказваш компетентно? Що биете негрите?

Лека нощ
Отговор
в отговор на Paдo #15

Re: heapmin

Ами такова впечатление правиш.

Отговор
в отговор на Veso #16

Re: heapmin

Бг изданието, том 2, С9, п 554? (е ти сигурно нямаш комплекси, а за сметка на това си сляп?)

Лека нощ
Отговор
в отговор на Maтa Kocмaтa #17

Re: heapmin

В С++ се препоръчва ползването на new/delete вместо malloc и подобни....
Естественно new/delete ползват точно функции от типа на malloc (в зависимост от ползвания компилатор и таргетираната платформа).
Ако човек иска да се гмурне на по-ниско ниво става сложно... Може да се прави и на GC ако иска... Но по-добре е да се довери на изпитани библиотеки...

Отговор
в отговор на bushi #18

Re: heapmin

Ами не бих казал, че е точно така.

- Бр. редове които ще напишеш със ф-иите на ниско ниво + проверките за това, дали ф-иите са върнали очакваният резултат ще бъде много повече

- От горното следва и по голямата вероятност от грешка

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

- Няма да е преносим

- Определено видим резултат от бързодействие няма да има, освен ако не е в цикъл с ... милиона итерации.

Но ти имаш последната дума в случая.

Отговор
в отговор на Veso #19

Re: heapmin

за new i delete OK, но ако си работил на друга операционна система освен виндовс ще знаеш, че версиите на STL не съвпадат, така че и този код не е напълно преносим. сущото важи и за UNIX FreeBSD. но както казах мен ме интересува фрагментирането на паметта във Виндовс, а не как да заделям памет. мерси за съветите все пак

Отговор
в отговор на Veso #20

Re: heapmin

- Бр. редове които ще напишеш със ф-иите на ниско ниво + проверките за това, дали ф-иите са върнали очакваният резултат ще бъде много повече

Около 6 реда повече? За да ги wrapnesh?

Лека нощ
Отговор