Home XFuncs smartGC InsiderTools Download Tutorials Order Mail us
 
Documentation  

Overview
Documentation   
Benchmarks



 

 

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:

smartGC():enable()

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:

smartGC():install()

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

 

Hosted by uCoz