Home
 
 
 

Support
Email Support

or call:
(651)592-4867 (U.S. Central Time GMT-6:00)

 
Unwanted Email should be sent to hp@digitaltundra.com

 









BigBrain Memory Manager for Delphi and Big Brain Pro and BigBrainUltra for the most-demanding enterprise applications,

Already know about memory managers? We have a special FAQ for you.

Is your Delphi app slow? Is it even slower on multi-processor (SMP) systems? Doom is not necessarily impending... Big Brain may solve most or even ALL of your performance problems.

WHY do you need a Memory Manager Replacement?
Whenever you manipulate strings you allocate and release memory. Whenever you create a class like a TList or TStringList, you also allocate and release memory. The manager that handles this memory allocation is SHARED across all the threads in your application and Locks are placed on the memory manager to prevent memory corruption in Multi-threaded applications. The more your app does, the more locks on this shared object occur and the slower your app becomes. When a timeslice is allocated to your thread the thread may be blocked by the inability to get this lock and excessive "context switching" will occur.

But wait, it gets worse!
Furthermore, when you transfer your app to your production environment, you may likely put it on an Dual or Quad processor machine. In a Multi-processor environment, the mechanism for handling your standard critical section becomes more-expensive because the operating system must jump through extra hoops to aquire locks that function properly across independent processors. In these environments, when the two processors fight for the same lock... your performance goes WAY WAY DOWN!

How far down can it go? Well... we ran real world tests and found that under the standard memory manager, we could get so much context switching (caused when one thread waits on a lock from another thread) to occur that the application would only use 4% of each processor and the application would appear to have completely locked up. Things that were supposed to take 5 seconds, would take... 30 minutes! No kidding!Replace the memory manager, and you get 100% usage across each processor, and near-linear scalability. Dual processor machines are then twice as powerful as single. Quads are 4x as powerful.


Screen shot of included demo app running with BigBrain enabled.


BigBrain solves the problems with the main memory manager and other memory managers:
1. Multi-thread optomized for multi-processor machines. Scales across 2-4-8 processors. Hyperthread optimization.
2. Working with strings in threads will no longer cause your app to grind to a halt from heap locks on string memory.
3. Memory allocated is gradually freed.
4. Statistics! You can get memory used, wasted, free, and overhead statistics for every thread. Included is a BrainScan source unit which will use a TChart to display a Pie graph for you.
5. Reliable, stress tested. Installed at dozens of universities in the US, UK, and South Africa including state-wide educational servers in several states. Installed in three large public data-centers serving about 5-million hits a day.
6. Fast. Single thread performance is equal or better than the standard Delphi manager.
7. Fast. Multi-thread performance is orders of magnitude faster than standard Delphi manager.
8. Fast. Performance is equal or better than other memory managers previously released for Delphi and without the stability problems.
9 . KYLIX and CLX compatible.

Test System #1 - Dual Pentium III@667Mhz
Test Standard Manager ThroughPut (tests/min) BigBrain Manager ThroughPut (tests/min) BigBrain Improvement % !!!!!

1 Thread
1 Test at a time BigBrainDemo
Dual PIII

7.19 Seconds 9.74 3.3 Seconds 18.18 86%

2 Threads
2 Tests at Once
BigBrain Demo
Dual PIII

15.29 Seconds 7.85 4.2 Seconds 28.57 264%

4 Threads
4 Tests at Once
BigBrain Demo
Dual PIII

33.8 Seconds 7.10 7.79 Seconds 30.81 334%


Test System #2 - Dual Athlon 1700+
Test Standard Manager ThroughPut (tests/min) BigBrain Manager ThroughPut (tests/min) BigBrain Improvement % !!!!!

1 Thread
1 Test at a time BigBrainDemo
Dual PIII

5.438 Seconds 11.033 1.125 Seconds 53.33 588%

2 Threads
2 Tests at Once
BigBrain Demo
Dual PIII

11.172 Seconds 10.74 0.828 Seconds 144.92 1249%

4 Threads
4 Tests at Once
BigBrain Demo
Dual PIII

21.688 Seconds 11.066 1.781 Seconds 134.76

1100%


Test System #3 - Dual Xeon 3.06Ghz with Hyperthreading (4 virutal processors).
Test Standard Manager ThroughPut (tests/min) BigBrain Manager ThroughPut (tests/min) BigBrain Improvement % !!!!!

1 Thread
1 Test at a time BigBrainDemo
Dual PIII

2.25 26.67 1.16 51.9 94%

2 Threads
2 Tests at Once
BigBrain Demo
Dual PIII

5.7 21.05 1.203 99.76 373%

4 Threads
4 Tests at Once
BigBrain Demo
Dual PIII

14.83 16.17 1.625 147.68

813%



Note: These numbers are preliminary. We'd like to see what kind of numbers your servers experience. The numbers were collected using the BigBrain demo app included in the BigBrain demo/beta package which you may run yourself to see how your system(s) perform. Also feel free to tweak the benchmarking app. For production environments, actual performance improvement will vary depending on how heap intensive your application is. Generally, web-service apps are very heap intensive. Yet the demo app may be considerably more heap intensive than your average web app.
 

 

 

 




   
 


©2004-2010 Digital Tundra LLC
Minneapolis, MN