Bonjour,
étant potentiellement confronté à un problème de mémoire insuffisante en
cas d'utilisation des opérateurs new et delete,
j'ai dans l'idée de redéfinir des opérateurs New et Delete (implémentés
comme fonctions membres static pour certaines classes), qui seraient
attachés à des blocs de mémoire éventuellement réservés sur le disque (en
dernier recours).
(nota : je préfère ne pas redéfinir les opérateurs new et delete => à moi
de faire attention)
Avez-vous déjà fait cela et si oui, avez-vous des liens vers des exemples ?
Merci à vous.
Bonjour,
étant potentiellement confronté à un problème de mémoire insuffisante en
cas d'utilisation des opérateurs new et delete,
j'ai dans l'idée de redéfinir des opérateurs New et Delete (implémentés
comme fonctions membres static pour certaines classes), qui seraient
attachés à des blocs de mémoire éventuellement réservés sur le disque (en
dernier recours).
(nota : je préfère ne pas redéfinir les opérateurs new et delete => à moi
de faire attention)
Avez-vous déjà fait cela et si oui, avez-vous des liens vers des exemples ?
Merci à vous.
Bonjour,
étant potentiellement confronté à un problème de mémoire insuffisante en
cas d'utilisation des opérateurs new et delete,
j'ai dans l'idée de redéfinir des opérateurs New et Delete (implémentés
comme fonctions membres static pour certaines classes), qui seraient
attachés à des blocs de mémoire éventuellement réservés sur le disque (en
dernier recours).
(nota : je préfère ne pas redéfinir les opérateurs new et delete => à moi
de faire attention)
Avez-vous déjà fait cela et si oui, avez-vous des liens vers des exemples ?
Merci à vous.
"MGN" writes:
> Bonjour,
> tant potentiellement confront un probl me de m moire insuffisante en
> cas d'utilisation des op rateurs new et delete,
> j'ai dans l'id e de red finir des op rateurs New et Delete (impl ment s
> comme fonctions membres static pour certaines classes), qui seraient
> attach s des blocs de m moire ventuellement r serv s sur le disque (en
> dernier recours).
> (nota : je pr f re ne pas red finir les op rateurs new et delete => m oi
> de faire attention)
> Avez-vous d j fait cela et si oui, avez-vous des liens vers des exem ples ?
Tu ne peux pas definir d'operateurs autres que ceux prevus par le langage .
Je suppose que tu veux faire des fonctions qui renvoient un proxy
(vraisembablement ayant un operator-> en plus pour la facilite
d'utilisation). A chaque acces, le proxy verifie si l'objet est reelle ment
en memoire ou pas, auquel cas il le charge.
"MGN" <mgueg...@metrica.fr> writes:
> Bonjour,
> tant potentiellement confront un probl me de m moire insuffisante en
> cas d'utilisation des op rateurs new et delete,
> j'ai dans l'id e de red finir des op rateurs New et Delete (impl ment s
> comme fonctions membres static pour certaines classes), qui seraient
> attach s des blocs de m moire ventuellement r serv s sur le disque (en
> dernier recours).
> (nota : je pr f re ne pas red finir les op rateurs new et delete => m oi
> de faire attention)
> Avez-vous d j fait cela et si oui, avez-vous des liens vers des exem ples ?
Tu ne peux pas definir d'operateurs autres que ceux prevus par le langage .
Je suppose que tu veux faire des fonctions qui renvoient un proxy
(vraisembablement ayant un operator-> en plus pour la facilite
d'utilisation). A chaque acces, le proxy verifie si l'objet est reelle ment
en memoire ou pas, auquel cas il le charge.
"MGN" writes:
> Bonjour,
> tant potentiellement confront un probl me de m moire insuffisante en
> cas d'utilisation des op rateurs new et delete,
> j'ai dans l'id e de red finir des op rateurs New et Delete (impl ment s
> comme fonctions membres static pour certaines classes), qui seraient
> attach s des blocs de m moire ventuellement r serv s sur le disque (en
> dernier recours).
> (nota : je pr f re ne pas red finir les op rateurs new et delete => m oi
> de faire attention)
> Avez-vous d j fait cela et si oui, avez-vous des liens vers des exem ples ?
Tu ne peux pas definir d'operateurs autres que ceux prevus par le langage .
Je suppose que tu veux faire des fonctions qui renvoient un proxy
(vraisembablement ayant un operator-> en plus pour la facilite
d'utilisation). A chaque acces, le proxy verifie si l'objet est reelle ment
en memoire ou pas, auquel cas il le charge.
étant potentiellement confronté à un problème de mémoire insuffisante
étant potentiellement confronté à un problème de mémoire insuffisante
étant potentiellement confronté à un problème de mémoire insuffisante
>>étant potentiellement confronté à un problème de mémoire insuffisante
Pourrais-tu en dire plus ?
>>étant potentiellement confronté à un problème de mémoire insuffisante
Pourrais-tu en dire plus ?
>>étant potentiellement confronté à un problème de mémoire insuffisante
Pourrais-tu en dire plus ?
A ce stade, je pressens que le plus gros problème si j'adopte cette solution
sera la gestion de la fragmentation et la libération de cette mémoire
"virtuelle".
Evidement, si la taille du champ
augmente, je peux avoir des problèmes de mémoire insuffisante.
lire la valeur à partir d'un fichier
A ce stade, je pressens que le plus gros problème si j'adopte cette solution
sera la gestion de la fragmentation et la libération de cette mémoire
"virtuelle".
Evidement, si la taille du champ
augmente, je peux avoir des problèmes de mémoire insuffisante.
lire la valeur à partir d'un fichier
A ce stade, je pressens que le plus gros problème si j'adopte cette solution
sera la gestion de la fragmentation et la libération de cette mémoire
"virtuelle".
Evidement, si la taille du champ
augmente, je peux avoir des problèmes de mémoire insuffisante.
lire la valeur à partir d'un fichier
> J'ai surtout l'impression que tu essaies de recréer à la main le
système de mémoire virtuelle qui existe déjà dans les OS modernes.
Il faudrait que tu donnes plus de contexte : comptes-tu avoir besoin
d'adresser plus de 2 Go de mémoire, tout en restant en 32 bits ?
[Je parle bien de "mémoire" en général -- sa localisation
(RAM physique ou swap) n'est pas un paramètre auquel tu as accès.]
Si la réponse est "non", tu cherches des complications pour rien.
Si la réponse est "oui", pose-toi à nouveau la question. Le 32 bits
disparaît, lentement mais sûrement.
Peux-tu confirmer que tu as bien compris le contenu de cette page ?
http://varnish-cache.org/wiki/ArchitectNotes
> J'ai surtout l'impression que tu essaies de recréer à la main le
système de mémoire virtuelle qui existe déjà dans les OS modernes.
Il faudrait que tu donnes plus de contexte : comptes-tu avoir besoin
d'adresser plus de 2 Go de mémoire, tout en restant en 32 bits ?
[Je parle bien de "mémoire" en général -- sa localisation
(RAM physique ou swap) n'est pas un paramètre auquel tu as accès.]
Si la réponse est "non", tu cherches des complications pour rien.
Si la réponse est "oui", pose-toi à nouveau la question. Le 32 bits
disparaît, lentement mais sûrement.
Peux-tu confirmer que tu as bien compris le contenu de cette page ?
http://varnish-cache.org/wiki/ArchitectNotes
> J'ai surtout l'impression que tu essaies de recréer à la main le
système de mémoire virtuelle qui existe déjà dans les OS modernes.
Il faudrait que tu donnes plus de contexte : comptes-tu avoir besoin
d'adresser plus de 2 Go de mémoire, tout en restant en 32 bits ?
[Je parle bien de "mémoire" en général -- sa localisation
(RAM physique ou swap) n'est pas un paramètre auquel tu as accès.]
Si la réponse est "non", tu cherches des complications pour rien.
Si la réponse est "oui", pose-toi à nouveau la question. Le 32 bits
disparaît, lentement mais sûrement.
Peux-tu confirmer que tu as bien compris le contenu de cette page ?
http://varnish-cache.org/wiki/ArchitectNotes
(je suis autodidacte en informatique et j'ai commencé directement avec le
C++,
donc avec l'opérateur new
Je suis sous Vista 64bits avec 8 Go de RAM.
Mais comme j'utilise BCB 2007 32 bits,
J'ai eu un message "mémoire insuffisante"
Peux-tu confirmer que tu as bien compris le contenu de cette page ?
http://varnish-cache.org/wiki/ArchitectNotes
If all this sounds foreign to you, ...
Désolé, c'est un peu technique pour moi
Je fais de nombreux appels à new pour de petits objets.
(je suis autodidacte en informatique et j'ai commencé directement avec le
C++,
donc avec l'opérateur new
Je suis sous Vista 64bits avec 8 Go de RAM.
Mais comme j'utilise BCB 2007 32 bits,
J'ai eu un message "mémoire insuffisante"
Peux-tu confirmer que tu as bien compris le contenu de cette page ?
http://varnish-cache.org/wiki/ArchitectNotes
If all this sounds foreign to you, ...
Désolé, c'est un peu technique pour moi
Je fais de nombreux appels à new pour de petits objets.
(je suis autodidacte en informatique et j'ai commencé directement avec le
C++,
donc avec l'opérateur new
Je suis sous Vista 64bits avec 8 Go de RAM.
Mais comme j'utilise BCB 2007 32 bits,
J'ai eu un message "mémoire insuffisante"
Peux-tu confirmer que tu as bien compris le contenu de cette page ?
http://varnish-cache.org/wiki/ArchitectNotes
If all this sounds foreign to you, ...
Désolé, c'est un peu technique pour moi
Je fais de nombreux appels à new pour de petits objets.
Je sais que ce n'est
pas ce qu'il y a de plus performant...
Je sais que ce n'est
pas ce qu'il y a de plus performant...
Je sais que ce n'est
pas ce qu'il y a de plus performant...
Euh... bof. Dans tout ce que j'ai programmé en C++, l'utilisation de
new est plutôt rare -- je préfère allouer les objets sur la pile.
(Et, bien sûr, je n'utilise jamais delete directement, ou quasiment
jamais.)
Désolé, c'est un peu technique pour moi
Si le contenu de cette page te dépasse, oublie ton idée de départ.
Je fais de nombreux appels à new pour de petits objets.
Perso, si j'ai beaucoup de petits objets, je les mets tous dans un
vector<>, qui s'occupe d'allouer un bloc contigu, donc une seule
allocation, et pas de fragmentation.
Euh... bof. Dans tout ce que j'ai programmé en C++, l'utilisation de
new est plutôt rare -- je préfère allouer les objets sur la pile.
(Et, bien sûr, je n'utilise jamais delete directement, ou quasiment
jamais.)
Désolé, c'est un peu technique pour moi
Si le contenu de cette page te dépasse, oublie ton idée de départ.
Je fais de nombreux appels à new pour de petits objets.
Perso, si j'ai beaucoup de petits objets, je les mets tous dans un
vector<>, qui s'occupe d'allouer un bloc contigu, donc une seule
allocation, et pas de fragmentation.
Euh... bof. Dans tout ce que j'ai programmé en C++, l'utilisation de
new est plutôt rare -- je préfère allouer les objets sur la pile.
(Et, bien sûr, je n'utilise jamais delete directement, ou quasiment
jamais.)
Désolé, c'est un peu technique pour moi
Si le contenu de cette page te dépasse, oublie ton idée de départ.
Je fais de nombreux appels à new pour de petits objets.
Perso, si j'ai beaucoup de petits objets, je les mets tous dans un
vector<>, qui s'occupe d'allouer un bloc contigu, donc une seule
allocation, et pas de fragmentation.
ben moi de même, mais quand j'alloue de la mémoire, j'utilise new et pas
malloc...pas toi ?
Si le contenu de cette page te dépasse, oublie ton idée de départ.
quand je ne sais pas, j'apprends !
ben moi de même, mais quand j'alloue de la mémoire, j'utilise new et pas
malloc...pas toi ?
Si le contenu de cette page te dépasse, oublie ton idée de départ.
quand je ne sais pas, j'apprends !
ben moi de même, mais quand j'alloue de la mémoire, j'utilise new et pas
malloc...pas toi ?
Si le contenu de cette page te dépasse, oublie ton idée de départ.
quand je ne sais pas, j'apprends !