Re: MALLOC

From: Alexander Grigoriev (alegr_at_earthlink.net)
Date: 05/31/04


Date: Sun, 30 May 2004 19:39:55 -0700

For audio application, such a large allocation and custom paging is kind of
overkill. But it may have its use for oversized graphics.

"Joseph M. Newcomer" <newcomer@flounder.com> wrote in message
news:k8rkb01flnbcsbl53uudad6123traa04b0@4ax.com...
> Paging isn' treally a good model, for the reason you point out. There can
be no
> :"lookahead" in paging, whereas if you use ordinary file I/O there CAN be
lookahead. I
> think you are trying to solve the wrong problem with an overly complex
mechanism, and
> trying to write a paging mechanism seems unnecessary given that ordinary
sequential file
> I/O would suffice (we use multimedia I/O calls, which work on structured
files, and can
> keep up indefinitely with CD-quality audio)
> joe
>
> On Sun, 30 May 2004 10:47:12 -0700, "Alexander Grigoriev"
<alegr@earthlink.net> wrote:
>
> >Another possible implementation is to use your own paging mechanism, with
> >larger granularity and guaranteed contiguosity (?) of the paging file. It
> >takes a VirtualAlloc of uncommitted memory and you should handle all
> >exceptions on access to uncommitted memory.
> >
> >Windows paging is kind of crappy, it seems to use 4KB pagefile
granularity
> >and doesn't seem to do read-ahead for that reason. The better approach
would
> >be to allocate pagefile space in 64 KB chunks, and page in all
non-present
> >pages in a 64 KB chunk, when a page fault occurs inside it. I also cannot
> >understand why (with the modern RAM sizes) it doesn't read a whole
EXE/DLL
> >into memory on LoadLibrary or process startup, it would speed up the
startup
> >greatly.
> >
> >Of course, the OP problem doesn't need such large allocation, anyway.
> >
> >"Joseph M. Newcomer" <newcomer@flounder.com> wrote in message
> >news:uehib0pvhdbq54v4esv9sj1u2oa4ja10aj@4ax.com...
> >> First, dream on. The chances that you will be able to allocate 1GB of
> >memory is
> >> vanishingly small, even if you call VirtualAlloc.
> >>
> >> Physical RAM size has nothing to do with the ability to allocate the
> >memory. You need a
> >> swapfile of a minimum of 1GB, and I would suggest 1.5GB to 2GB But you
> >need a whopping lot
> >> of main memory to get respectable performance.because if memory is low,
> >you spend all your
> >> time swapping pages in and out.
> >>
> >> Why do you need 1GB? There are often better alternatives to such
massive
> >allocations. For
> >> example memory-mapped files where you map a view to pieces of the file.
> >>
> >> But while you see 2GB of virtual address space, a lot of that is
already
> >committed to
> >> various DLLs, your heap, etc., and finding 1GB of contiguous heap is
very
> >low probability.
> >> On end-user machines, you can assume the probability is zero.
> >>
> >> You are more likely to be able to allocate two 0.5GB chunks, or 10
100MB
> >chunks.
> >>
> >> If you're seriious about needing this much memory, buy an AMD64 box,
which
> >has an 8TB user
> >> address space.
> >> joe
> >>
> >> On Sat, 29 May 2004 07:41:03 -0700, "VIJAY"
> ><anonymous@discussions.microsoft.com> wrote:
> >>
> >> >I need to allocate 1 gb of data in memory.( ram).. how do i do this??
> >> >but if the physical ram size is small and how the data is loaded..
> >> >any suggestion will be appreciated..
> >> > VIJAY
> >>
> >> Joseph M. Newcomer [MVP]
> >> email: newcomer@flounder.com
> >> Web: http://www.flounder.com
> >> MVP Tips: http://www.flounder.com/mvp_tips.htm
> >
>
> Joseph M. Newcomer [MVP]
> email: newcomer@flounder.com
> Web: http://www.flounder.com
> MVP Tips: http://www.flounder.com/mvp_tips.htm



Relevant Pages

  • Re: How to release heap memory that is marked as free
    ... As I said, fragmentation is a very serious problem, and one of the most serious problems ... my allocator was accused of using massive amounts of memory. ... I'm going to have to re-think the memory allocation that I'm ... process's 'working set'. ...
    (microsoft.public.vc.mfc)
  • Re: [PATCH 00/28] Swap over NFS -v16
    ... memory they can consume. ... So we need the extra (skb) ... included in the reserve? ... if the allocation had to dip into emergency reserves, ...
    (Linux-Kernel)
  • Re: Memory leak with CAsyncSocket::Create
    ... read my essay on how storage allocators work. ... Create method is consuming system memory that is not released back to ... The memory consumption is either shown as "Mem Usage" on the Task ... many levels of allocation going ...
    (microsoft.public.vc.mfc)
  • Re: OT: C++ overloading operators
    ... dynamic allocation, no matter how many "clever tricks" are used... ... though there's enough memory in the system, ... all these "flexible data types" map into CPU command ... The computing environment is completely ...
    (comp.dsp)
  • Re: Do I need a Page File?
    ... paging out physical memory or not. ... Can I do that or does Windows XP really need the ... > require the paging file, ... > unlimited amounts of RAM, we wouldn't even NEED a paging file. ...
    (microsoft.public.windowsxp.general)