Taille des variables

Bonjour,

Avec les variables objets et la commande Storage, on peut réellement éliminer d’une base toutes les variables globales et process, ce que montre mon fichier des symboles :

Taille des variables interprocess : 12

Taille des variables process : 216

Il n’y a plus aucune variable des types précités, pourquoi la taille n’est-elle pas nulle ? :roll:

En espérant ne pas passer pour un béotien…

Product :4D - 4D Server 17R2
OS : Mac OS X

J’imagine que 4D et ces modules utilisent quelques variables interprocess et process…

Il suffit de créer une base vierge pour s’en rendre compte.

11/13/18 15:09

Interprocess variables size : 12

Process variables size : 216

Procedure Method1, not called, Thread Safe

En process, il y a déjà http://doc.4d.com/4Dv17R2/4D/17-R2.1720/Variables-systeme.300-3857362.fr.htmltout ça>.
En interprocess je ne vois pas ?

Bonsoir,

: Jean BEDERT

Avec les variables objets et la commande Storage, on peut réellement
éliminer d’une base toutes les variables globales et process, ce que
montre mon fichier des symboles
Pardon Jean, mais je ne suis pas d’accord avec cette phrase.

Maurice et Arnaud ont répondu sur “ce que montre votre fichier des symboles”

Les objets permettent de réduire le nombre de variables, certainement !
Vouloir réellement les éliminer toutes par des objets (et Storage) ne me paraît pas un bon objectif, ni même recommandable.

Storage me reste encore à apprivoiser, mais lors de la présentation au dernier 4D Summit, Olivier expliquait que les temps d’accès aux objets/collections partagés ne sont en rien comparables à ceux des variables classiques. Il me faudra encore découvrir les quelques bons cas de son utilisation.

En bref et à mon avis, les objets apportent des nouvelles et nombreuses possibilités, les variables classiques cohabiteront, persisteront encore longtemps, et Storage permettra quelques opportunités, bien plus occasionnelles.
A nous de choisir et d’utiliser toutes ces ressources, à bon escient. Là est la difficulté !

Bonjour Jean-Jacques,

Tout à fait d’accord avec ton point de vue Jean-Jacques.

Ok pour les nouveaux développement (super/génial).

Mais se lancer dans des travaux de refactorisation de code avec pour seul objectif de gagner de la mémoire en remplaçant les variables classique par “storage” me paraît chimérique/illusoire.

A+

Bonjour à tous et merci pour vos réponses, c’est un débat intéressant.

: Bruno LEGAY

Ok pour les nouveaux développement (super/génial).
On ajoutera les évolutions :wink:

Il ne faut jamais (dire jamais :oops:) être extrémiste, mais je ne vois pas ce qui empêche de réécrire tout ou partie de son code pour utiliser storage en remplacement des variables interprocess quand cela a du sens. Tout dépend de ce qu’on place dedans et de l’usage qu’il en est fait.

Bonjour Jean-Jacques

Effectivement, tout faire disparaitre n’est pas à mon sens une bonne initiative car l’accès à Storage est plus lent qu’à des variables.
J’ai pris par exemple l’habitude d’y stocker uniquement des choses quasiment invariables et pour lesquelles, je n’accède pas régulièrement, mai suffisamment pour les conserver à porter de main.

Comme tu le soulignes, Storage reste à être apprivvoisé !

Patrick