RTC Forums

Subscription => Support => Topic started by: agsoft on September 10, 2010, 11:14:56 AM



Title: TBBMM - A Multicore Scalable Delphi and C++ Builder Memory Manager Replacement
Post by: agsoft on September 10, 2010, 11:14:56 AM
Dear Danijel Tkalcec:
   Can you try rtc(with TBBMM) to test with a stress-test running one full week(or 24 hours) without a break ?
   
   :).

   
---------------
http://www.zachsaw.co.cc/?pg=borlndmm_tbbmm

FastMM was adopted by Borland / CodeGear (now Embarcadero) end of year 2005 as the default memory manager for Delphi and C++ Builder.
FastMM is fast, but...
FastMM does not scale well in a multi-threaded environment, especially when running under a machine with more than 1 core. It is quite surprising, considering one of CodeGear's main selling point with the new memory manager is that it has good scalability in multithreaded environment.

To FastMM's credit however (and I have tremendous respect for Pierre le Riche, the author of FastMM), it is about 10% faster than Microsoft Visual Studio's built-in memory manager in single-thread.

I came across this when I was doing some thing as simple as concatenating a string in multiple threads, trying to simulate a server which processes requests from multiple clients. Working my way to reproduce the problem with minimal code, I came up with this:



Title: Re: TBBMM - A Multicore Scalable Delphi and C++ Builder Memory Manager Replacement
Post by: D.Tkalcec (RTC) on September 10, 2010, 11:33:40 AM
The purpose of my tests is to see how reliable the RealThinClient SDK is and not to measure the performance of this-or-that Memory Manager. This does not mean that you can't make your own tests, though. Simply download the RTC SDK and compile two versions of AppClient and AppServer demos. One using FastMM and the other using any other memory manager you want to test.

Best Regards,
Danijel Tkalcec