############################################################################# ## ## This file is part of GAP, a system for computational discrete algebra. ## This file's authors include Steve Linton. ## ## Copyright of GAP belongs to its developers, whose names are too numerous ## to list here. Please refer to the COPYRIGHT file for details. ## ## SPDX-License-Identifier: GPL-2.0-or-later ## ## This file contains implementations of functions that report information from the ## GASMAN garbage collector ##
############################################################################# ## #F CollectGarbage( <full> ) ## ## This function works *not* only if GAP uses GASMAN. ##
InstallGlobalFunction( CollectGarbage, function( full ) if full then
GASMAN( "collect" ); else
GASMAN( "partial" ); fi; end );
############################################################################# ## #F GasmanMessageStatus() ## if GAPInfo.KernelInfo.GC = "GASMAN"then
InstallGlobalFunction(GasmanMessageStatus, function()
local stat;
stat := GASMAN_MESSAGE_STATUS(); if stat = 0then
return "none"; elif stat = 1then
return "full"; else
return "all"; fi; end ); fi;
############################################################################# ## #F SetGasmanMessageStatus( <status> ) ## if GAPInfo.KernelInfo.GC = "GASMAN"then
InstallGlobalFunction(SetGasmanMessageStatus, function(stat)
local oldstat,newstat,i; if GAPInfo.KernelInfo.GC <> "GASMAN" and stat <> "none"then
Info( InfoWarning, 1, "SetGasmanMessageStatus makes sense only if GASMAN is running" );
return; fi;
oldstat := GASMAN_MESSAGE_STATUS();
newstat := Position(["none", "full", "all"], stat); if newstat = fail then
Error("GASMAN message status must be none, full or all"); fi;
newstat := newstat -1; for i in [1..(newstat + 3 - oldstat) mod 3] do
GASMAN("message");
od;
return; end); fi;
############################################################################# ## #F GasmanLimits( ) ## if GAPInfo.KernelInfo.GC = "GASMAN"then
InstallGlobalFunction(GasmanLimits, function()
local raw, r;
raw := GASMAN_LIMITS();
r := rec(); if IsBound(raw[1]) then r.min := raw[1]; fi; if IsBound(raw[2]) then r.max := raw[2]; fi; if IsBound(raw[3]) then r.kill := raw[3]; fi;
return r; end); fi;
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.16 Sekunden
(vorverarbeitet am 2026-10-13)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.