|
Glenn E. Lanier II wrote: My understanding was the memory would be released when the new'ed object went out of scope (which should be at the end of the while loop). This doesn't seem to be the case, so I stuck in a garbage collection collect call every 1000 iterations. This doesn't seem to have any effect on the memory consumption.
Garbage collection occurs when it needs to. When objects go out of scope they mearly become available for garbage collection.
If you are looking at the memory in the Task Manager then it will be showing the amount it has reserved from the operating system, not the actual amount in use. There are a number of performance counters you can look at for .NET applications. They will give you a more accurate picture of what is going on.
ColinMackay.net
Scottish Developers are looking for speakers for user group sessions over the next few months. Do you want to know more?
|
|
|
|
|
Colin Angus Mackay wrote: If you are looking at the memory in the Task Manager then it will be showing the amount it has reserved from the operating system, not the actual amount in use. There are a number of performance counters you can look at for .NET applications. They will give you a more accurate picture of what is going on.
Such as?
I let this code run yesterday (without the GC.Collect()) on about 60000 records. I logged each update, and noticed that while I was getting > 1 insert/second initially, by record 20000 insert time was reduced (as was machine response time) and by the time I got to record 32000, I was getting an insert every two-three minutes. Task Manager showed this process was using ~485M of memory. As soon as I killed the process, memory usage (again, using task manager) dropped almost immediately. I started the import again (skipping the already imported records), and I saw similiar results.
I'm open to any suggestion(s) that will allow this code to run efficiently.
--G
|
|
|
|
|
When you're done using the SqlDataReader, call Dispose() on it. This will release some unmanaged resources and may also allow some managed objects to eventually be freed. The same goes for your SqlCommand and your SqlConnection.
Another thing might be your call to db.UpdateTestResults(ref testResult). If you're storing your testResult somewhere, it won't be freed, obviously. So perhaps your large consumption of memory is due to having lots of ResultsOfTest objects lying around.
Go check out the CLR profiler[^], or use a tool like Ants Memory and Performance profiler[^].
Tech, life, family, faith: Give me a visit.
I'm currently blogging about: Moral Muscle
The apostle Paul, modernly speaking: Epistles of Paul
Judah Himango
|
|
|
|
|
Judah Himango wrote: When you're done using the SqlDataReader, call Dispose() on it. This will release some unmanaged resources and may also allow some managed objects to eventually be freed. The same goes for your SqlCommand and your SqlConnection.
I am disposing the OracleDataReader (and OracleCommand and OracleConnection). The only thing
Judah Himango wrote: Another thing might be your call to db.UpdateTestResults(ref testResult). If you're storing your testResult somewhere, it won't be freed, obviously.
db.UpdateTestResults(ref testResult) simply builds the SQL (either insert or update), connects to the database, performs an ExecuteNonQuery, cleans up and returns.
Thanks for the links -- I'll check them out.
--G
|
|
|
|
|
Ok, well if the reality of things is that you're allocating too many objects before the GC can collect them, you are certainly free to call GC.Collect(). It's not recommended as the GC supposedly adapts to its usage, but you're not the first case I've read where the GC has become too lazy.
Tech, life, family, faith: Give me a visit.
I'm currently blogging about: Moral Muscle
The apostle Paul, modernly speaking: Epistles of Paul
Judah Himango
|
|
|
|
|
|
i have a form containing labels pictures and user controls
how can i print the form containing them just like it appears
through my search i found JUST "How to print a document"
|
|
|
|
|
The simplest way I would think is to use the Win32 API to capture a picture. Take a look at the following articles (you'd need to use the form's handle rather than the desktop's one).
Screen Capturing (.NET 2.0 & pure managed)
Screen Capturing
Capturing the Screen Image in C#
Just do a search for screen capture in Code Project articles, there's lots of them!
-- modified at 12:47 Wednesday 15th March, 2006
[mod]Sorry forgot to say, once you've got the image then you just need to draw it on the printer's canvas like anyother text / image[/mod]
Ed
|
|
|
|
|
Thanx 4 ur help, i solved the problem by drawing the shapes of the controls on a document and print this document
|
|
|
|
|
Not to burst your bubble but what happens when you run the program under for example Windows XP when you've been running it under 2000? You won't get the themeing.
Sorry if my assumption is incorrect
Ed
|
|
|
|
|
i need a program that sums the number values of a nuber for example:
when i enter the number 12345 it sums numbers values 1+2+3+4+5=15..
pls help....
also tnx for ur helps
|
|
|
|
|
Loop through the characters in the string, convert each character to a number, and add them together.
---
b { font-weight: normal; }
|
|
|
|
|
Or divide with 10 until you get to zero...
num=next%10;
sum+=num;
next=next/10;
|
|
|
|
|
We won't do your homework for you. You've already received two answers with different suggestions, but if you need more help, try yourself before, and then post the code telling us what exact problem you are having.
-- LuisR
Luis Alonso Ramos
Intelectix - Chihuahua, Mexico
Not much here: My CP Blog!
The amount of sleep the average person needs is five more minutes. -- Vikram A Punathambekar, Aug. 11, 2005
|
|
|
|
|
Salutations,
I'm doing an editor wherein I need some syntax highlighting.
Also, let it be known that I'm using Mono.
It all comes down to a rather simple question: How do I set some text to a specific color or weight?
Thanks!
- -
Regards SirErugor
|
|
|
|
|
This is a complex task, why don't you have a look at the source for SharpDevelop.
Ed
|
|
|
|
|
Is it written using Mono-libraries?
Because I don't think so and that is the single must
- -
Regards SirErugor
-- modified at 11:48 Wednesday 15th March, 2006
|
|
|
|
|
SirErugor wrote: Is it written using Mono-libraries?
Because I don't think so and that is the single must
I would think that the principles of the algorithm to determine syntax highlighting is the same regardless of the language or framework.
ColinMackay.net
Scottish Developers are looking for speakers for user group sessions over the next few months. Do you want to know more?
|
|
|
|
|
I don't thinks great care has been taken to make it portable to mono however there is a port called MonoDevelop. I don't know if this runs on Windows but I'd be pretty confident that it does (at least the text editor portion) because it's written using Mono.
Ed
|
|
|
|
|
I have a mapped drive on my local machine that points to a folder on a server off site. I also have a mapped drive that points to a folder on a server on site identical to the other. In my app I am using ADOX to examine the table and columns of a database. The following code works for the database located on site, but does not work for the database off site. Does anyone know what would cause this, and what the fix would be?
<br />
ADODB.Connection CNN = new ADODB.ConnectionClass();<br />
ADOX.Catalog Cat=new ADOX.Catalog(); <br />
<br />
ConnectionString = DataObj.BuildConnectionString(DBType,"",DBFile);<br />
try<br />
{<br />
CNN.Open(ConnectionString,"","",0);<br />
Cat.ActiveConnection = CNN;<br />
}<br />
catch(Exception ex)<br />
{<br />
throw new Exceptions(ex.Message,ex);<br />
}<br />
try<br />
{<br />
foreach(ADOX.Table t in Cat.Tables)<br />
|
|
|
|
|
Flaky network?
Can you provide some more detailed information such as the exceptions which are generated, if any.
Ed
|
|
|
|
|
Hello I have made now an ToolStripNumericUpDown control. Now I want to display a Text on the left side of the ToolStripNumericUpDown. How I can do that?
At the moment the code is the following:
<br />
public class ToolStripNumericUpDownTest : ToolStripControlHost<br />
{<br />
<br />
public ToolStripNumericUpDownTest()<br />
: base(new NumericUpDown())<br />
{<br />
}<br />
<br />
private NumericUpDown NumericUpDown<br />
{<br />
get { return Control as NumericUpDown; }<br />
}<br />
<br />
public decimal Value<br />
{<br />
get { return NumericUpDown.Value; }<br />
set { NumericUpDown.Value = value; }<br />
}<br />
}<br />
<br />
Regards
Hansjörg
|
|
|
|
|
What you need to do is create your own user control that contains both a updown control and also a label control that will be to the left of the updown control. Then set the user control to a ToolStripControlHost.
Regards,
1tg46
Check out 3D Game Development with Dark Basic Professional [^]programming.
|
|
|
|
|
Hi.
I've been trying to display a context menu with the Programs menu (Start->Programs). I'm preaty sure there should be a way to call that from the system, but had no clue finding how.
any help would be apreciated.
Thanks
|
|
|
|
|
All the items within the Program folder are located in these folders (Windows 2K used as example but similar on Windows XP)
C:\Documents and Settings\user\Start Menu
C:\Documents and Settings\All Users\Start Menu
I'm afraid you'll have to enumerate these directories and create you're own menu based on those.
You can get the current user's home directory from the Environment class (Special folders).
Ed
|
|
|
|