Solved

How to use new MemoryManager (like QMemory) in a Windows Service Application?

Posted on 2004-10-12
6
234 Views
Last Modified: 2010-04-04
Hello, experts,
because my windows service application uses a lot of memory (about 500 MB) storing all data in strings, I was looking for s.th. making the memory allocation and release faster. QMemory (http://homepages.borland.com/torry/debug.htm) looks very interesting.
But I'm not able to include this new memory manager in my windows service. When I put the qmemory-unit as the first unit in the project file, then I get an out of memory error while installing the service (where it makes no difference, how much memory I'm allocating with QMemInstall). When I execute QMemInstall later (in my serviceexecute-method), everything looks fine, until later the application crashes (I assume, because the original memory manager did some work before I started the new one). Experiments with ShareQmm failed, too.
Before I make experiments for endless hours, I want to ask you: How can I use qmemory (or another good memory manager) in a windows service application?

Thanks for your help.




Ulrich
0
Comment
Question by:Delphifrog
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
  • 2
6 Comments
 
LVL 12

Accepted Solution

by:
Lee_Nover earned 250 total points
ID: 12291392
don't know about QMemory but never had problems with MultiMM/HPMM from OptimalCode.com
the site is down quite some time now .. I can mail you the code if needed
there's also another commercial memory manager from Nexus DB .. heard only things about it but never tried it
0
 
LVL 14

Assisted Solution

by:DragonSlayer
DragonSlayer earned 250 total points
ID: 12291444
Yup, never had probs with HPMM either.

There is also another Memory Manager that my company is planning to evaluate... http://www.havoctribe.org/BigBrain.php ... seems to be quite promising, with cross-platform compatibility and multi-processor speedups...
0
 

Author Comment

by:Delphifrog
ID: 12293497
Firstly, thank you for the other product names. I just shopped around a little bit and found the following page:

http://www.wasanderes.de/mmtest/

The results of this test don't sound very promising.

Nevertheless, I'm evaluating the nexusdb-memory manager right now. The good news: it didn't produce an error and didn't crash in the first 30 minutes of testing. The bad news: I'm not sure, if I see any improvement or if the new memory manager does anything at all.

So probably I have to forget QMemory and have to buy the nexus-product (I had problems with the trial edition of bigbrain and the licencing restrictions, so I went to nexus).

When I've made up my decision, I will report this here.

Bye for now



Ulrich
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 12

Assisted Solution

by:Lee_Nover
Lee_Nover earned 250 total points
ID: 12294739
if you're willing to try HPMM I put it here: http://leenover.homeip.net/delphi/miscstuff/multimm.zip
0
 
LVL 14

Assisted Solution

by:DragonSlayer
DragonSlayer earned 250 total points
ID: 12295161
Did you check out the BigBrain link I sent? It is free for non-commercial use. Also, it has some (perhaps biased) comparison between NexusDB and BigBrain.
0
 

Author Comment

by:Delphifrog
ID: 12304493
Yes, I checked the Bigbrain link, read the comparison and downloaded the free version. There is no documentation included in the package and because the price for Bigbrain (I use it for commercial applications and always need source code) is much higher than for nexus (which seems easy to use, just include one line in the project file), I've paid for the NexusDB product.
My application still is stable, so NexusDB works in a windows service.  But if it really improves my application, I'm still not sure.

So I thank you both very much and try to split the points (this is my first question here in experts-exchange).

Bye



Ulrich
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
Have you ever had your Delphi form/application just hanging while waiting for data to load? This is the article to read if you want to learn some things about adding threads for data loading in the background. First, I'll setup a general applica…
Email security requires an ever evolving service that stays up to date with counter-evolving threats. The Email Laundry perform Research and Development to ensure their email security service evolves faster than cyber criminals. We apply our Threat…

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question