VS 2008 Thread Performance - Processor Not Running On Full Speed With The First Code?
Mar 10, 2011
Not really asking for code, but I'm interested in knowing the basics of "thread performance".For example, you try to copy a bitmap in a pixel by pixel operation. (Is slow, but it is a nice example)
[code]...
This is, of course, very buggy and causes a lot of violation errors etc. But that doesn't matter right now. How come the multi-threading way is so much faster than the regular routine? Is the processor not running on full speed with the first code, and is it working harder on the second?I find it weird to see this type of "threading performance increase", as if every single thread gets their own piece of processor speed allocated like it is a new process
I have a per-call WCF service that serves a number of clients. I'm looking to speed up the services by running some background processes so they don't block or slow down the main function of the services.
One example is that the main function needs to return a set of data, while the background thread needs to record some statistics based on the parameter(s).
Code:
Public Function GetAccountDetails(id As Integer) As AccountDetails Dim retVal As New AccountDetails Dim a As New Accounts
[Code]....
If I use this background thread to record the statistic it doesn't block the main thread from returning the data to the client.
It's been working well in test scenarios, but my question is, are there any dangers with leaving this thread to execute without Joining it before returning the data to the client? Could there potentially be any loss of statistic data? Could there be potential memory problems on the server side?
I am currently doing the project using vb.net which require me to find the proccesor speed and memory of ram....now i am searching the code from internet ....so currently, i havnt done anything.....i think i should use WMI or windows API to get those Info ....
I am trying to create a program in Visual Basic which will measure the performance of the CPU with every core, one at a time. In this program, I decided to place a couple of text boxes that display the processor speed and the actual processor speed. I need to get the actual processor speed to update and I have tried doing this already using a timer set to tick every second. However, when I load the program it runs really slowly and prevents me form doing anything within the program, including trying to close it down, and all it does is updates the text box every second. I have looked in task manager to find out how much CPU the program is using and it shows that my program is using 0 - 3% CPU.
Here is the code currently use
Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick Dim mSearcher As New ManagementObjectSearcher("SELECT * FROM Win32_Processor")
I have a Window Forms application (using clickonce installation, running on a terminal server) that occasionaly ends up with a thread that appears to be running in a tight loop. The user doesn't know this happens as the app continues to run as expected. Also I have determined that I can kill the problem thread without any apparent affect on the app.
I can use Process Explorer to find the instance of an app with the problem and can isolate the thread with the problem but haven't found any way to look into the thread to find anything that would help me determine what is causing the problem. Does anyone know of a way to some additional information about a thread, like maybe strings, that would help me zero in on the issue?
I am putting together a performance monitor that will eventually be running as as service. What I want to know is if the data that is reported is what I actually want: [code]
It's easy to do so in objective c but I do not know how to do so in vb.net update:I know about control.invoke. But control.invoke requires a control that may change from program to program. What would be the easier way?So yes program is winform. However I need a solution that does not depend on any specific control. If that's the case actually I do not need things to be run on main thread do I?
I am instantiating a form object in my code behind the dataset just to access some form level variables and to occasionally set a label in the navigator bar. Recently in the b2 Team version of VS2010 there are some strange errors thrown in the immediate window and then I'm tossed out of debug mode and back into the IDE. This code has been operating for some time in this project without this behavior. A team member has just reproduced the behavior in his development machine also.The error that starts the shutdown of the debug instance is this: Control accessed from a thread other than the thread it was created on.
I am using VS 2010 on Win 7 32 bit.I am debugging a VB application (simple Windows form) by stepping through it with F8; however, for some unknown reason it sporadically runs at full speed after I press the F8 key. This can happen at any given location in code and sometimes not at all.
Well basically I have something being done in a new thread and I would like to start a sub not in the same thread, but in the main thread. How do I do that?
How would i know when a thread is completed running it's task? I mean in background worker it has a completed event, but can i make something similar to that?
My understanding is that thread.join will suspend the execution of code on the calling thread until the spawned thread finishes or is aborted...
With that in mind, I tried this:
For i = 1 to 50 threads = New Thread(AddressOf test) threads.IsBackground = True threads.SetApartmentState(ApartmentState.STA)
[CODE]...
However, the rest of the code runs when the loop finishes, not waiting for all the spawned threads to finish. Since the rest of the code needs the threads to finish (otherwise the rest will error).
It is my previous problem in vb6, its hard to multithread using vb6 so I migrate my codes to vb.Net.How can I multithread this two loops so that this process is running at the same time.Because when I start my second Loop, my first loop stop in executing. It will start again when my 2nd loop finished.
[code]...
I have 2 connected GSM Modem in usb port.That codes will send SMS in all contacts in my ListBox.
I'm trying to measure the performance of seven sorting algorithms in a single VB 2008 program. I've tried using a Timer componend, the Stopwatch, and DateTime.Ticks but nothing works. The following simple code produces a result of about 500 (milliseconds), which is correct, but when I change 500 to 1000, I get a ridiculous result like 0 or 8.
We have developed a vb.net application using multi-threaded listener concept and a dedicated thread for each folder to monitor. With that we simultaneously keep track of the incoming files in each folder.Currently, we are facing an issue whenever we receive multiple files of bulk volume, parallel processing of the files getting delayed with thread concept or failing sometimes.We need to implement the same logic with some other concept avoiding multi-hreading. Or is it possible to achieve performance tuning with the same thread concept?
I've developed a VB.NET application with Visual Studio 2008. The application communicates with SQL Server and processes a text file.
My question is about performance. While I run it from Visual Studio 2008, it takes 3 sec to complete. The same is when I run the executable created by the Setup Wizard on my desktop (Windows XP sp 3). But if I run the executable installed on a Windows 2003 Server, it takes 15 sec to complete! What could be the reason of degrading performance on the server vs. the desktop? The .Net framework 3.5 SP1 is installed both on the desktop and the server.
I am fairly new to VB Net and getting quite familiar with the coding. What I am trying to do is find a program that lets other users simply load a VB form that I have coded and run/debug the program (like f5 in VB net) without installing the full VB download on their own computer. As VB presumably can not be coded to run from the operating system like C++, I need something easily downloadable to run VB programs (eg games, quizzes). Is there anything out there that could do this, without the full VB package?
Im working on a Dll Injector. But that is not my problem. I am using a picturebox to display the icon of a running process. E.g. If google chrome is running. The picturebox should display the icon of google chrome.
I can extract the icon to my picturebox only if I know the full path of the process. That API was easily found and works very well.
But know I want my application to get the full path of a running process automatically as soon as I order it.Like in a textbox is write: chrome.exe, and press the button next to it. What do I need to write in the button to get the full path of that running process.(of course only if its running, I if its not running I dont want anything to happned)
I have been playing around with different types of native code operations in Visual Basic and then inspecting the code with Reflector to see what kind of MSIL is produced. For example, I wondered, in a one line If-Then-Else different than an If-Then-Else split onto multiple lines, ie.
I am going nuts here. First time trying to debug an app that uses threads. I have a console application with a thread that calls Sub (Sub A) from a thread. I have been able to get the debugger to stop on breakpoints in Sub A by setting the condition to "Test" = Thread.CurrentThread.Name (and naming the thread "Test") Using a normal breakpoint does nothing.
However, in Sub A after it hits the breakpoint, any stepping (F10, F11) causes the Sub and app to exit instead of going to the next line of code.There is an IF / ELSE statement in Sub A. I have put a System.Diagnostics.Debug.WriteLine statement in both the IF / ELSE blocks, yet none of this code executes. Sub A calls a webservice, so I initially thought something might have been crashing in that, so I tried running Sub A without using a separate thread and everything works as expected. Do I need to change some setting in VS2008's debugger?
I am creating an IDE for a game script with similar functionality as the Visual Studio IDE (at least, some of it). The game script consist of code that looks visually a bit like C code. It uses braces to define the start and end of a 'class' and uses nested braces to define the start and end of an 'event' in a class.
What I want finally is to have two Comboboxes above the text editor, one that lists each Class and the other listing each Event. The comboboxes should also show the Class and Event that the caret is currently in, just like in Visual Studio.I have attached an example of such a script (you can open it with Notepad).However, here is a short example where you can also see how I "defined" classes and events:
class1 { event1 {
[code]....
As you can see, the classes are the 'names' of each block of code, defined by matching braces { }. The events are the names of each nested block of code, also defined by matching braces { } but inside a class. There is only one level of nesting.As you can also see, the layout can follow the standard C-style layout, or a slightly different layout (using the opening brace on the same line as the class/event name), or even a completely chaotic mess. As long as the braces match correctly, the code is valid.So in short, the large blocks are classes, while the nested blocks are events.
What I want to do, is parse an entire script, and store all the Classes (and eventually, also all the Events, but let's forget about them for now). I want to store the Class name, start position (defined as the start index of the name), end position (defined as the index of the closing brace) and the full text (defined as the text between start and end position, so including the name).
vb.net Public Class clsClass Private _Name As String
[code]....
The code works basically by finding every first opening brace (the opening brace of each CLASS, not event), and then loops through the class (using a brace counter to keep track of the nested braces) until it found the last closing brace. It then stores the name, start, end and fulltext in a new clsClass and adds it to the list to return.