Index
Initialization
of smartGC
Terminology
Description
of info window
List of methods and ivars of smartGC() object
Is
smartGC can damage your application?
Initialization of smartGC
Insert this
line somewhere in your program's start-up:
This code
init smartGC engine and place special icon to tray.
Note:
if you do not want to enable smartGC at startup, but
interesting to view state of standart GC, please call:
This code
just place info icon to tray without any changes in Xbase++ core.
Terminology
momObj
high
level of internal object. It can't be moved. Can be famous ContainerHandle
structure or non documented structures such as lazy write strings,
references or some another (about 30 types).
momH
low level
object to store data. MomObj often have pointer to
an momH object. Equal to MomHandle structure.
Garbage collector sometimes tries to defragmet pool of momH
objects to make large possible free block.
priority
level
of how much processor time Windows give to thread. 0
means normal priority, -15 means idle priority and
2 means priority above normal.
Description
of info window
SmartGC
library have special info window, that show state of internal condition
of GC and xpp memory. To display info window, just press on smartGC
icon in system tray. |
icon
|
smartGC
enabled
this
checkbox show current GC manager. You can easy switch between smartGC
or standart GC by check or uncheck this box.
num
of momObjs
overal
number of momObjs. Each momObj
occuped 12 bytes of memory.
num
of free momObjs
overal
number of momObjs stored if free-list.
momH
table size
this
table is linear block of memory alloced by xbase++. Both used and
free momHs are placed there. In some conditions (if
large free block at end of table successfuly defragmented), garbage
collector try to return part of free memory back to Windows resources.
num
of free momH
number
of free momH. This number shows
how much free momHs not yet defragmented.
size
of free momH
overal
size of free momH.
GC
state
what
are GC doing at now. Mostly GC sleeps in idle state.
GC
priority
level
of GC thread priority.
memory
load
approximate
percentage of total physical memory that is in use. Note, this number
is system wide, not current application only.
List
of methods and ivars of smartGC() object
::install()
initializes
info window but not run SmartGC.
You can call ::enable() later.
::enable()
initializes
and run smartGC
::disable()
disable
smartGC
::isActive()
-> .T./.F.
check,
if smartGC active
Is
smartGC can damage your application?
Some peoples
worry about side effects of using smartGC.
For this
time there is no any side effects or corruptions detected. Internally,
smartGC uses long time working fine routines inside Xbase++
core. This routines well coded by alaska team and there is no any bugs
as far as we know.
Keep in mind,
we are not just 3pp tools company. We have long time history
developing applications in local marker back in Clipper times. And all
our 3pp tools was tested by years in our applications before we presents
its to Xbase community.
SmartGC
was successfuly power-up our applications from Xbase++ version 1.7.
©2006
Eleus Software |