| Processor | RAM | Secondary Storage | OS | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Type | Speed | L2 Cache | HyperThread™ | Type | Size | Channels | Disk Type | RPM | Partition | Type | Version |
| Pentium™4E X 1 | 2.8G Hz | 1M | Enabled | DDR400 | 512M X 2 | Dual | SATA | 7200 | NTFS(SOFT RAID0) | Windows™XP | Pro SP2 |
Results of this racing is available as:
| Melbourne | Sepang | Bahrain | Imola | Barcelona |
|---|---|---|---|---|
|
Browsable HTML pages Single PDF file |
Browsable HTML pages Single PDF file |
Browsable HTML pages Single PDF file |
Browsable HTML pages Single PDF file |
Browsable HTML pages Single PDF file |
The verbatim PolePosition single trip racing is UNFAIR to RAM sensitive
TOB. But we'd like to run and publish a set of verbatim results, in great
respects and thanks to PolePosition contributors.
So the 2GRAM benchmarks suppress part of the TOB's power, TOB is not at its full
performance. But 2 GigaBytes RAM seems big enough for TOB to show major
advantages with PolePosition data, in contrast to 1G RAM limit.
This is due to a feature of AV5TOB. TOB is designed to be highly mem adaptive, which means it is very sensitive to the free memory percentage of the hosting JVM.
In daily life, normally you don't heavily populate the JVM before start TOB, even you have released many references to the mem costing objects so they are eligible to be discarded by java garbage collector, the java GC is designed not to be too laborious to collect garbages untill free mem drops certain low.
In the author's test, during 1GRAM racing, if run in single trip, the free mem droped to as low as 14% free in later circuits, and performance of TOB as predictablily droped much poor than normal cases (compares to the run result of separated trips). That is because TOB is designed to set as more persistent objects online as possible at initialization, but to ensure the quality of service, a priority system is introduced in TOB that all persistent object has an OnlinePriority value, which is approximate to 100 multiplies the free mem percentage value under which it should not be initialy load and kept Online.
As most of the persistent classes of TOB those participant in this benchmark have a priority of NORMAL (of value 5000), and the rests are FREQUENT (of value 3000), which means when free mem drops under 50%, most of the objects won't be initialy set Online as in normal cases, and if mem drops under 30%, none of them will.
But this poor performance situation of TOB is also somewhat a way for you to see how TOB performs on raw data fetching from persistent storage, just like a mono ORM framework do. You can see it is still superior to the popular Hibernate framework.
But as AV5 TOB is designed to run in 64-bit systems with TeraByte RAM, the low mem situation will be really rare ordinarily.