[Last Call] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 248
  • Last Modified:

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

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
Delphifrog
Asked:
Delphifrog
  • 2
  • 2
  • 2
4 Solutions
 
Lee_NoverCommented:
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
 
DragonSlayerCommented:
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
 
DelphifrogAuthor Commented:
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!

 
Lee_NoverCommented:
if you're willing to try HPMM I put it here: http://leenover.homeip.net/delphi/miscstuff/multimm.zip
0
 
DragonSlayerCommented:
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
 
DelphifrogAuthor Commented:
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

Industry Leaders: 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!

  • 2
  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now