Менеджер памяти

Discussion in 'WASM.BEGINNERS' started by mix_mix, Feb 23, 2006.

  1. mix_mix

    mix_mix Михаил

    Blog Posts:
    0
    Joined:
    Oct 8, 2005
    Messages:
    277
    Location:
    Токио
    Хочу попробовать написать свой менеджер памяти. Так вот, мне интересно, что выполняется быстрее, что брать за основу: RtlCreateHeap или NtAllocateVirtualMemory?
     
  2. mix_mix

    mix_mix Михаил

    Blog Posts:
    0
    Joined:
    Oct 8, 2005
    Messages:
    277
    Location:
    Токио
    Дизассемблировал ntdll.dll и увидел, что RtlCreateHeap затем вызывает NtAllocateVirtualMemory, поэтому этот вопрос отпадает. Тема закрыта.
     
  3. leo

    leo Active Member

    Blog Posts:
    0
    Joined:
    Aug 4, 2004
    Messages:
    2,542
    Location:
    Russia
    mix_mix

    Риторический вопрос: как ты собрался "попробовать написать свой менеджер памяти", не понимая разницы между первичным выделением памяти на уровне страниц (NtAllocateVirtualMemory) и вторичным "квазивыделением" малых блоков памяти из уже выделенных страниц (RtlCreateHeap и т.п.)

    А быстрее ес-но выполняется вторичное выделение\распределение кусочков из выделенной кучи, чем выделение и инициализация новых страниц виртуальной и физ.памяти
     
  4. mix_mix

    mix_mix Михаил

    Blog Posts:
    0
    Joined:
    Oct 8, 2005
    Messages:
    277
    Location:
    Токио
    Да, ладно. Сверх-быстрый менеджер памяти borland delphi работает через VirtualAlloc. Тем более менеджер памяти по большому счету как раз и заменяет все эти Heap***
     
  5. leo

    leo Active Member

    Blog Posts:
    0
    Joined:
    Aug 4, 2004
    Messages:
    2,542
    Location:
    Russia
    mix_mix

    После долгих раздумий в зловещих застенках Бормана, Штирлиц наконец нашел единственно верное решение ;))))

    Ты же во время празнования Дня Советской Армии торжественно объявил о закрытии темы ? Или новые мысли появились ?
     
  6. mix_mix

    mix_mix Михаил

    Blog Posts:
    0
    Joined:
    Oct 8, 2005
    Messages:
    277
    Location:
    Токио
    Делать было нечего. Отвечал на все посты, на которые мог ответить :)