Solved

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

Posted on 2004-10-12
6
233 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
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.

 
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: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say 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

Title # Comments Views Activity
error 1.1 400 Bad request idhttp delphi 18 147
Help on project with Soap 10 57
how to make 2 step back? ..\..\ ExtractFilePath (paramstr(0)) 5 51
DBCtrlGrid, Delphi, Scroll 8 38
This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
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…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

856 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