Lors de la mise en œuvre d'un interprète, est-il un bon ou mauvais pour ferroutage hors du garbage collector de la langue d'accueil?

StackOverflow https://stackoverflow.com/questions/2179501

Question

Disons que vous implémentez un interprète pour une langue GCed dans une langue qui est GCed. Il me semble que vous obtiendriez la collecte des ordures gratuitement aussi longtemps que vous êtes raisonnablement prudent au sujet de votre conception.

Est-ce généralement comment faire? Y at-il de bonnes raisons de ne pas le faire?

Était-ce utile?

La solution

Langue et l'exécution sont deux choses différentes. Ils ne sont pas vraiment à mon humble avis liés.

Par conséquent, si votre exécution existante offre un GC déjà, il doit y avoir une bonne raison de prolonger le temps d'exécution avec un autre GC. Dans le bon vieux temps où les allocations de mémoire dans le système d'exploitation étaient lents et chers, les applications ont apporté leurs propres gestionnaires de tas qui, où plus efficace dans le traitement des petits morceaux de données. Ce fut un readon pour ajouter une autre gestion de la mémoire à une exécution existante (ou OS). Mais si vous parlez Java, .NET ou si -. Ceux-ci devraient être bon et assez efficace pour la plupart des tâches à la main

Cependant, vous pouvez créer une interface appropriée / API pour les tâches de gestion mémoire et d'objets (et d'autres), de sorte que votre langue ( « guest ») l'exécution pourrait être mis en œuvre sur une autre exécution hôte plus tard.

Autres conseils

Pour un interprète, il devrait y avoir aucun problème avec l'utilisation du GC hôte, à mon humble avis, surtout au début. Comme toujours, ils objectif devrait être de faire quelque chose de travail, puis le faire fonctionner à droite, puis le faire rapidement. Cela est particulièrement vrai pour le domaine des langues spécifiques (DSL) dont le but est une petite langue. Pour ces derniers, la mise en œuvre d'un GC complet serait exagéré.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top