Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.programming > #31010 > unrolled thread

Windows - alokowanie pamięci.

Started by"Andrzej W." <awa_wp.a_to_wytnij.@wp.pl>
First post2017-12-04 08:05 +0100
Last post2017-12-04 22:26 +0100
Articles 5 — 5 participants

Back to article view | Back to pl.comp.programming


Contents

  Windows - alokowanie pamięci. "Andrzej W." <awa_wp.a_to_wytnij.@wp.pl> - 2017-12-04 08:05 +0100
    Re: Windows - alokowanie pamięci. szykcech@gmail.com - 2017-12-04 04:29 -0800
      Re: Windows - alokowanie pamięci. bartekltg <bartekltg@gmail.com> - 2017-12-04 08:47 -0800
        Re: Windows - alokowanie pamięci. "Andrzej W." <awa_wp@na_wp_oczywiscie.pl> - 2017-12-04 20:37 +0100
          Re: Windows - alokowanie pamięci. "AK" <nobody@nowhere.net> - 2017-12-04 22:26 +0100

#31010 — Windows - alokowanie pamięci.

From"Andrzej W." <awa_wp.a_to_wytnij.@wp.pl>
Date2017-12-04 08:05 +0100
SubjectWindows - alokowanie pamięci.
Message-ID<5a24f345$0$15188$65785112@news.neostrada.pl>
Cześć,

Nie jestem programistą i proszę o wyrozumiałość przy tym banalnym pytaniu.
Jak pod Windows zaalokować pamięć tak by od razu, bez jej używania, 
została ona odjęta od tego co pokazuje  GetPerformanceInfo  w 
PhysicalAvailable?
Obecnie alokuje pamięć za pomocą VirtualAlloc - MEM_COMMIT|MEM_RESERVE i 
czytam po bajcie z każdej strony.

-- 
AWa.

[toc] | [next] | [standalone]


#31011

Fromszykcech@gmail.com
Date2017-12-04 04:29 -0800
Message-ID<3ee64b92-f714-42bd-8a35-678569f50178@googlegroups.com>
In reply to#31010
> Nie jestem programistą i proszę o wyrozumiałość przy tym banalnym pytaniu.

Ok. Pytanie pomocnicze: Jaki język?!?

> Jak pod Windows zaalokować pamięć tak by od razu, bez jej używania, 
> została ona odjęta od tego co pokazuje  GetPerformanceInfo  w 
> PhysicalAvailable?

W C++ operator new, np:
char* lZmienna = new char[ROZMIAR];

> Obecnie alokuje pamięć za pomocą VirtualAlloc - MEM_COMMIT|MEM_RESERVE i 
> czytam po bajcie z każdej strony.

No i co to daje?!?

[toc] | [prev] | [next] | [standalone]


#31013

Frombartekltg <bartekltg@gmail.com>
Date2017-12-04 08:47 -0800
Message-ID<10023dd6-edea-4583-a4e8-1ce566c2cf1f@googlegroups.com>
In reply to#31011
On Monday, December 4, 2017 at 1:29:26 PM UTC+1, szyk...@gmail.com wrote:
> > Nie jestem programistą i proszę o wyrozumiałość przy tym banalnym pytaniu.
> 
> Ok. Pytanie pomocnicze: Jaki język?!?
> 
> > Jak pod Windows zaalokować pamięć tak by od razu, bez jej używania, 
> > została ona odjęta od tego co pokazuje  GetPerformanceInfo  w 
> > PhysicalAvailable?
> 
> W C++ operator new, np:
> char* lZmienna = new char[ROZMIAR];

Pewien jesteś, że jak ROZMIAR to dużo i nie dotkniesz wszstykich stron,
to one będą rzeczywiście zarezerowowane w pamięci fizycznej?
Wydaje mi się, że windows też przydziela strony leniwie, gdy są potrzebne.


> > Obecnie alokuje pamięć za pomocą VirtualAlloc - MEM_COMMIT|MEM_RESERVE i 
> > czytam po bajcie z każdej strony.
> 
> No i co to daje?!?

OS ruszy tyłek i rzeczywiście da tę pamięć. 

BTW, czytanie może nie wysatrczyć, można dostać zero a pamięć
nadal tylko wirtualnie przydzielona (zależy od OS i zodiaku)

pzdr
bartekltg

[toc] | [prev] | [next] | [standalone]


#31014

From"Andrzej W." <awa_wp@na_wp_oczywiscie.pl>
Date2017-12-04 20:37 +0100
Message-ID<5a25a3dc$0$644$65785112@news.neostrada.pl>
In reply to#31013
W dniu 2017-12-04 o 17:47, bartekltg pisze:
> BTW, czytanie może nie wysatrczyć, można dostać zero a pamięć
> nadal tylko wirtualnie przydzielona (zależy od OS i zodiaku)

W wypadku W10 odczyt wystarczył.
Ale masz rację MEM_COMMIT gwarantuje, że pamięć jest zerowana więc sam 
odczyt teoretycznie nie zmusza systemu do przydzielenia dla tej zmiennej 
jakiejkolwiek pamięci fizycznej.

-- 
AWa.

[toc] | [prev] | [next] | [standalone]


#31015

From"AK" <nobody@nowhere.net>
Date2017-12-04 22:26 +0100
Message-ID<p04eij$9jb$1@gioia.aioe.org>
In reply to#31014
Użytkownik "Andrzej W." <awa_wp@na_wp_oczywiscie.pl> napisał:
>W dniu 2017-12-04 o 17:47, bartekltg pisze:
>> BTW, czytanie może nie wysatrczyć, można dostać zero a pamięć
>> nadal tylko wirtualnie przydzielona (zależy od OS i zodiaku)
>
> W wypadku W10 odczyt wystarczył.
> Ale masz rację MEM_COMMIT gwarantuje, że pamięć jest zerowana więc sam odczyt teoretycznie nie 
> zmusza systemu do przydzielenia dla tej zmiennej jakiejkolwiek pamięci fizycznej.

...a nie wystarczy/pomoze "standardowe" sbrk() ?

AK

[toc] | [prev] | [standalone]


Back to top | Article view | pl.comp.programming


csiph-web