473,320 Members | 1,817 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,320 software developers and data experts.

Large Object Heap Compaction in Framework 1.1/2.0?

I read on some message board that i can't find anymore saying that the Large
Object Heap is compacted in Framework 1.1 or 2.0. Is this true? I can't seem
to find any ms documentation that said this was fixed. Is large object heap
fragmentation still going to be a problem in Framework 2.0?

thanks
Mar 14 '06 #1
3 2083

"Ben Lam" <Be****@discussions.microsoft.com> wrote in message
news:14**********************************@microsof t.com...
|I read on some message board that i can't find anymore saying that the
Large
| Object Heap is compacted in Framework 1.1 or 2.0. Is this true? I can't
seem
| to find any ms documentation that said this was fixed. Is large object
heap
| fragmentation still going to be a problem in Framework 2.0?
|
| thanks

The LOH is not getting compacted, this is true for both v1.x as for v2.0.
It's simply too expensive to compact the LOH.
Willy.
Mar 15 '06 #2
thanks for the reply Willy. I've been reading alot of your previous posts
with respect to memory and its helped alot.

Maybe you can answer another question for me. The reason our app has such
high memory usage is we store an product cache. This works fine except when
the number of products is quite large and we also use terminal services to
host remote users.

The cache we use is a datatable that returns dataviews of the filtered
product lists needed by the app. Is there a way to have multiple processes
share this cache using a datatable so that there is only one datatable for
the multiple terminal server sessions? I'm assuming that using a webservice
and returning a dataview will serialize the datatable its pointing to so that
wouldn't help since each process will essentiallly have a copy of the
datatable. And i believe remoting would have the same problem correct? We
would like to find a solution that uses the same datatable structures so we
don't have to rewrite alot of code, esp for the data filtering.

thanks

"Willy Denoyette [MVP]" wrote:

"Ben Lam" <Be****@discussions.microsoft.com> wrote in message
news:14**********************************@microsof t.com...
|I read on some message board that i can't find anymore saying that the
Large
| Object Heap is compacted in Framework 1.1 or 2.0. Is this true? I can't
seem
| to find any ms documentation that said this was fixed. Is large object
heap
| fragmentation still going to be a problem in Framework 2.0?
|
| thanks

The LOH is not getting compacted, this is true for both v1.x as for v2.0.
It's simply too expensive to compact the LOH.
Willy.

Mar 15 '06 #3
Ben,
I'm affraid the only sure and performant way is to use "shared memory" also
called Memory Mapped Files. The only problem is that there is no framework
support for this so you need to implement your own or search for some
existing implementation [1] of a .NET "shared memory" component.
[1]
http://www.winterdom.com/dev/dotnet/index.html
Be sure you can set the security such that the MM portion is sharable
between TS sessions!!!

Willy.
"Ben Lam" <Be****@discussions.microsoft.com> wrote in message
news:27**********************************@microsof t.com...
| thanks for the reply Willy. I've been reading alot of your previous posts
| with respect to memory and its helped alot.
|
| Maybe you can answer another question for me. The reason our app has such
| high memory usage is we store an product cache. This works fine except
when
| the number of products is quite large and we also use terminal services to
| host remote users.
|
| The cache we use is a datatable that returns dataviews of the filtered
| product lists needed by the app. Is there a way to have multiple
processes
| share this cache using a datatable so that there is only one datatable for
| the multiple terminal server sessions? I'm assuming that using a
webservice
| and returning a dataview will serialize the datatable its pointing to so
that
| wouldn't help since each process will essentiallly have a copy of the
| datatable. And i believe remoting would have the same problem correct?
We
| would like to find a solution that uses the same datatable structures so
we
| don't have to rewrite alot of code, esp for the data filtering.
|
| thanks
|
| "Willy Denoyette [MVP]" wrote:
|
| >
| > "Ben Lam" <Be****@discussions.microsoft.com> wrote in message
| > news:14**********************************@microsof t.com...
| > |I read on some message board that i can't find anymore saying that the
| > Large
| > | Object Heap is compacted in Framework 1.1 or 2.0. Is this true? I
can't
| > seem
| > | to find any ms documentation that said this was fixed. Is large
object
| > heap
| > | fragmentation still going to be a problem in Framework 2.0?
| > |
| > | thanks
| >
| > The LOH is not getting compacted, this is true for both v1.x as for
v2.0.
| > It's simply too expensive to compact the LOH.
| >
| >
| > Willy.
| >
| >
| >
Mar 15 '06 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: ANt | last post by:
Hi, we have some major GC issues at present with a system we're trying to put live. It's a live calculation engine that's distributed across about 30 Java server processes. A set of processes...
3
by: WinstonSmith | last post by:
Hello everyone, I got a problem about GC when creating large fields (some MB), set reference to null and call GC.Collect. Not all virtual mem is released. Situation improved in .net 1.1 but not...
2
by: assi | last post by:
Hello all We are developing a large dotnet application, which includes ~ 120 assemblies. (total size of all binaries is ~ 20MB). Our application also references the following dotnet assemblies:...
4
by: Riley DeWiley | last post by:
I am using Jet 4.0 through OLEDB and C++. My travails with compaction are well known to regular readers of this NG. Many of my problems were solved by disabling record locking. I am now...
12
by: Sharon | last post by:
I’m wrote a small DLL that used the FreeImage.DLL (that can be found at http://www.codeproject.com/bitmap/graphicsuite.asp). I also wrote a small console application in C++ (unmanaged) that uses...
16
by: Dukkov | last post by:
Hi Folks, I need to generate a very large string (1 MB or so) in my C# code, so I can test the code. What is the most elegant way to do so? Thanks! Dim
7
by: Arpan | last post by:
The .NET Framework 2.0 documentation states that An Object variable always holds a pointer to the data, never the data itself. Now w.r.t. the following ASP.NET code snippet, can someone please...
5
by: Atmapuri | last post by:
Hi! If the array is allocated from the large object heap does that mean that it does not have to be pinned down when passed to unmanaged code? Is the limit of 1000 elements as the switching...
7
by: =?Utf-8?B?U3RldmVa?= | last post by:
First off, I am not sure if this belongs in this group or the C# group. It seems more like a C++ problem to me. Anyways... I have a C# project which links in an unmanaged C++ DLL, both built...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
1
by: Defcon1945 | last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.