Solved

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

Posted on 2004-10-12
6
224 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
  • 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
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 
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

Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

Join & Write a Comment

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.
This tutorial demonstrates a quick way of adding group price to multiple Magento products.

708 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

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now