Quel est le mécanisme GC de Gambit-C? Je suis curieux à ce sujet pour faire une application interactive. Je veux savoir si cela peut éviter le fonctionnement du GC en rafale ou non.Quel est le mécanisme GC de Gambit-C?
Répondre
Selon http://dynamo.iro.umontreal.ca/~gambit/wiki/index.php/Debugging#Garbage_collection_threshold Gambit a quelques contrôles:
seuil Collecte des ordures ménagères
Faites attention aux options d'exécution h (HEAPSIZE maximale en kilo-octets) et l (livepercent). Voir le manuel de référence pour plus d'informations. Définir livepercent à cinq signifie que garbage collection aura lieu au moment où il y a dix-neuf fois plus de mémoire allouée pour les objets qui devraient être collectés, qu'il n'y a de mémoire allouée pour les objets qui ne devraient pas. La raison pour laquelle l'option livepercent est là est de donner un moyen de contrôler la façon dont le garbage collector doit être épargnant/généreux en ce qui concerne la consommation de mémoire, comparé au poids/léger qu'il devrait être dans la charge du processeur.
Vous pouvez toujours forcer la récupération de place par (## gc).
Si vous forcez la collecte des ordures après un petit nombre d'opérations, ou le programmer près de façon continue ou définir le livepercent à 90 comme on peut supposer que le gc fonctionnera souvent et ne pas faire très bien sur chaque course. Cela risque d'être plus coûteux dans l'ensemble, mais évitez les rafales de dépenses. Vous pouvez alors assez facilement budgétiser pour cette dépense pour rendre le service rapide malgré.
Selon ces fils:
- https://mercure.iro.umontreal.ca/pipermail/gambit-list/2005-December/000521.html
- https://mercure.iro.umontreal.ca/pipermail/gambit-list/2008-September/002645.html
Gambit a traditionnel arrêt du monde GC au moins jusqu'en Septembre 2008. Les gens en fil recommandé d'utiliser l'objet pré-alloué mise en commun pour éviter l'opération du GC elle-même. Je n'ai pas pu me renseigner sur la mise en œuvre actuelle.
* Il est difficile d'être d'accord avec la conversation. Parce que je ne peux pas mettre en commun un objet qui n'est pas écrit par moi-même et que le GC complet arrivera à un moment donné par des objets temporaires petits/non-groupés accumulés. Mais la méthode mentionnée par @Gregory peut aider à éviter ce problème. Cependant, je souhaite incrémental GC ajouté à Gambit :)
- 1. Quel est le mécanisme du plugin maven?
- 2. Quel est le mécanisme recommandé de parallélisation des arbres d'expression?
- 3. Quel est le mécanisme derrière les aides de vue?
- 4. Quel est le problème avec mon mécanisme de sérialisation?
- 5. Quel est le mécanisme canonique pour créer une gemme Ruby?
- 6. Quel est le mécanisme derrière startActivityForResult() dans Android?
- 7. Quel est le langage le plus simple qui supporte le modèle et le mécanisme de contexte?
- 8. Quel est le jeu de paramètres JVM GC le plus simple pour une application serveur?
- 9. Sortie de l'application Android, quel mécanisme utiliser?
- 10. Quel est le rôle de GC (Garbage Collection) autre que la gestion de la mémoire?
- 11. Quel est le rôle de l'interface IsSerializable dans GWT (en ce qui concerne le mécanisme RPC)
- 12. N'importe quel sens pour spécifier le GC additionnel au concurrent?
- 13. En venant de XNA, quel est le mécanisme de mise à jour de Corona (GameTime, gameTime)?
- 14. Quel mécanisme utiliser pour les messages push?
- 15. Quel mécanisme IPC Objective-C utiliser?
- 16. Quel est le mécanisme de verrouillage de l'accès aux applications sélectionnées dans Android?
- 17. Quel mécanisme les PIPES utilisent-ils pour "réveiller" le destinataire?
- 18. Quel est le mécanisme interne utilisé par les navigateurs pour traiter/comprendre le langage HTML?
- 19. GC vs GC SuspendedEE
- 20. Quel est le mécanisme actuel pour construire une chaîne de requête avec SuperAgent?
- 21. Quel est le mécanisme recommandé pour initialiser une base de données redis pour une application node.js?
- 22. Quel est le mécanisme/algorithme impliqué dans les fonctions qui effectuent un fondu de quelque sorte?
- 23. Quel est le mécanisme de renvoi d'une structure à partir d'une fonction dans C
- 24. Le sémaphore est-il un mécanisme IPC?
- 25. Monotouch: comprendre le modèle de mécanisme délégué
- 26. Quel est le GC parallèle standard appelé dans les vidages sur incident JVM?
- 27. Quel est l'équivalent .NET de l'option de ligne de commande -verbose: gc de java?
- 28. Quel est le meilleur mécanisme pour stocker les paramètres d'authentification dans une application WinForms
- 29. Quel est le mécanisme préféré d'utiliser des icônes avec des étiquettes bouton
- 30. Quel est le meilleur mécanisme pour communiquer des processus croisés dans Windows CE?
À la fin de la journée, il revient à l'expérience utilisateur - tant qu'il n'y a pas d'utilisateur * notable * pause ... –
http: // dynamo .iro.umontreal.ca/~ gambit/wiki/index.php/Notes_on_Memory_Management semble indiquer que le ref-counting est utilisé, mais que ce sont des notes de 2007 (ce qui signifierait que la libération immédiate peut avoir lieu dans ces cas). –
@pst Est-ce le résultat d'une application soft-realtime? Et s'il utilise le ref-counting immédiat, comment peut-il gérer correctement le référencement circulaire? – Eonil