473,614 Members | 2,335 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Is .NET slower than - say - VB6?

Hi all,

First post here. I'm porting an application I wrote in VB6, over to VB.NET
2005.

It could be said I'm really struggling with some (most!) of the syntax of
VB.NET 2005, but I'm getting there. I'm relying a lot, at this point, on
sample code from Microsoft, and other forums about the Internet.

One thing I've painfully noticed (hence the title of this post) is .NET
seems to be GOD AWEFULLY slow!

My VB6 version of my app interacts HEAVILY with Active Directory. My VB6
program starts in approximately 10 seconds, loading all 1300-odd Active
Directory user accounts in a listview.

VB.NET (doing the same thing and based on an example from MSDN) takes almost
60 seconds!

WMI is also painfully slow. A "DiskQuota" DLL call to the server to get
volume useage info under VB6 is instant. A WMI call to get the same
information takes 30 or more seconds.

Why is this? My workstation/VB.NET 2005 platform is Windows XP 64-bit, fully
updated, running on a P4-3.2GHz, 1Gb RAM. My server is Server 2003 SP2 (two
dual core 3.2GHz Xeons). My network is fine.

I'm attempting to port my program to VB.NET to get cross-platform
compatibility. 32-bit/64-bit/workstation and server. My program needs to run
on them all. A 32-bit program using 32-bit DLLs simply won't work on a
64-bit platform - hence the port.

Is .NET inherently slower than VB6 where VB6 is using whatever 32-bit DLL is
needed to get the job done?

Mark
Jun 27 '08 #1
25 3235
Is .NET inherently slower than VB6 where VB6 is using whatever 32-bit DLL
is
needed to get the job done?
When well done it can be about 10 times quicker

When bad done it can be about 10 times slower.

Basicly it is quicker as it does not use late binding.

Cor
Jun 27 '08 #2
On Apr 22, 1:40*pm, "news.microsoft .com" <marximu...@hot mail.com>
wrote:
Hi all,

First post here. I'm porting an application I wrote in VB6, over to VB.NET
2005.

It could be said I'm really struggling with some (most!) of the syntax of
VB.NET 2005, but I'm getting there. I'm relying a lot, at this point, on
sample code from Microsoft, and other forums about the Internet.

One thing I've painfully noticed (hence the title of this post) is .NET
seems to be GOD AWEFULLY slow!

My VB6 version of my app interacts HEAVILY with Active Directory. My VB6
program starts in approximately 10 seconds, loading all 1300-odd Active
Directory user accounts in a listview.

VB.NET (doing the same thing and based on an example from MSDN) takes almost
60 seconds!

WMI is also painfully slow. A "DiskQuota" DLL call to the server to get
volume useage info under VB6 is instant. A WMI call to get the same
information takes 30 or more seconds.

Why is this? My workstation/VB.NET 2005 platform is Windows XP 64-bit, fully
updated, running on a P4-3.2GHz, 1Gb RAM. My server is Server 2003 SP2 (two
dual core 3.2GHz Xeons). My network is fine.

I'm attempting to port my program to VB.NET to get cross-platform
compatibility. 32-bit/64-bit/workstation and server. My program needs to run
on them all. A 32-bit program using 32-bit DLLs simply won't work on a
64-bit platform - hence the port.

Is .NET inherently slower than VB6 where VB6 is using whatever 32-bit DLL is
needed to get the job done?

Mark
Hi,
A little addition,GDI+ is also so slow on older machines because of
not having hardware acceleration. Hope to see same performance like
in DirectX in future.

Regards,

Onur
Jun 27 '08 #3

"news.microsoft .com" <ma********@hot mail.comwrote in message
news:%2******** *******@TK2MSFT NGP06.phx.gbl.. .
Hi all,

First post here. I'm porting an application I wrote in VB6, over to VB.NET
2005.

It could be said I'm really struggling with some (most!) of the syntax of
VB.NET 2005, but I'm getting there. I'm relying a lot, at this point, on
sample code from Microsoft, and other forums about the Internet.

One thing I've painfully noticed (hence the title of this post) is .NET
seems to be GOD AWEFULLY slow!

My VB6 version of my app interacts HEAVILY with Active Directory. My VB6
program starts in approximately 10 seconds, loading all 1300-odd Active
Directory user accounts in a listview.

VB.NET (doing the same thing and based on an example from MSDN) takes
almost 60 seconds!

WMI is also painfully slow. A "DiskQuota" DLL call to the server to get
volume useage info under VB6 is instant. A WMI call to get the same
information takes 30 or more seconds.

Why is this? My workstation/VB.NET 2005 platform is Windows XP 64-bit,
fully updated, running on a P4-3.2GHz, 1Gb RAM. My server is Server 2003
SP2 (two dual core 3.2GHz Xeons). My network is fine.

I'm attempting to port my program to VB.NET to get cross-platform
compatibility. 32-bit/64-bit/workstation and server. My program needs to
run on them all. A 32-bit program using 32-bit DLLs simply won't work on a
64-bit platform - hence the port.

Is .NET inherently slower than VB6 where VB6 is using whatever 32-bit DLL
is needed to get the job done?

Mark

I have a VB6 app that gets Heart beats in real time over a USB connection.
The app displays the Heart sound and the ECG at rates up to 400
Beats-per-minute.

So far I have been able to get VB2005/VB2008 up to about 3 Beats-per-minute.

Galen
Jun 27 '08 #4
if you see a difference like that then you are doing something wrong...
because I can control a 2 mpixel LED display via USB through a .NET app...
if I can push that kinda data you should be able to do something that does
very little data wise like pull ECG dta...

"Galen Somerville" <ga***@communit y.nospamwrote in message
news:Os******** ******@TK2MSFTN GP02.phx.gbl...
>
"news.microsoft .com" <ma********@hot mail.comwrote in message
news:%2******** *******@TK2MSFT NGP06.phx.gbl.. .
>Hi all,

First post here. I'm porting an application I wrote in VB6, over to
VB.NET 2005.

It could be said I'm really struggling with some (most!) of the syntax of
VB.NET 2005, but I'm getting there. I'm relying a lot, at this point, on
sample code from Microsoft, and other forums about the Internet.

One thing I've painfully noticed (hence the title of this post) is .NET
seems to be GOD AWEFULLY slow!

My VB6 version of my app interacts HEAVILY with Active Directory. My VB6
program starts in approximately 10 seconds, loading all 1300-odd Active
Directory user accounts in a listview.

VB.NET (doing the same thing and based on an example from MSDN) takes
almost 60 seconds!

WMI is also painfully slow. A "DiskQuota" DLL call to the server to get
volume useage info under VB6 is instant. A WMI call to get the same
information takes 30 or more seconds.

Why is this? My workstation/VB.NET 2005 platform is Windows XP 64-bit,
fully updated, running on a P4-3.2GHz, 1Gb RAM. My server is Server 2003
SP2 (two dual core 3.2GHz Xeons). My network is fine.

I'm attempting to port my program to VB.NET to get cross-platform
compatibilit y. 32-bit/64-bit/workstation and server. My program needs to
run on them all. A 32-bit program using 32-bit DLLs simply won't work on
a 64-bit platform - hence the port.

Is .NET inherently slower than VB6 where VB6 is using whatever 32-bit DLL
is needed to get the job done?

Mark

I have a VB6 app that gets Heart beats in real time over a USB
connection. The app displays the Heart sound and the ECG at rates up to
400 Beats-per-minute.

So far I have been able to get VB2005/VB2008 up to about 3
Beats-per-minute.

Galen


Jun 27 '08 #5
The USB is supplying 24 bytes, say, every 4 ms (2 sets of 6 integers at 75
BPM). The display has to blank the previous 12 lines before it can write the
12 new lines. Each line is from pixel X to pixel X+1. The Y portion could be
a hundred pixels high.

Galen

"Smokey Grindel" <no****@nospam. comwrote in message
news:u5******** ******@TK2MSFTN GP03.phx.gbl...
if you see a difference like that then you are doing something wrong...
because I can control a 2 mpixel LED display via USB through a .NET app...
if I can push that kinda data you should be able to do something that does
very little data wise like pull ECG dta...

"Galen Somerville" <ga***@communit y.nospamwrote in message
news:Os******** ******@TK2MSFTN GP02.phx.gbl...
>>
"news.microsof t.com" <ma********@hot mail.comwrote in message
news:%2******* ********@TK2MSF TNGP06.phx.gbl. ..
>>Hi all,

First post here. I'm porting an application I wrote in VB6, over to
VB.NET 2005.

It could be said I'm really struggling with some (most!) of the syntax
of VB.NET 2005, but I'm getting there. I'm relying a lot, at this point,
on sample code from Microsoft, and other forums about the Internet.

One thing I've painfully noticed (hence the title of this post) is .NET
seems to be GOD AWEFULLY slow!

My VB6 version of my app interacts HEAVILY with Active Directory. My VB6
program starts in approximately 10 seconds, loading all 1300-odd Active
Directory user accounts in a listview.

VB.NET (doing the same thing and based on an example from MSDN) takes
almost 60 seconds!

WMI is also painfully slow. A "DiskQuota" DLL call to the server to get
volume useage info under VB6 is instant. A WMI call to get the same
information takes 30 or more seconds.

Why is this? My workstation/VB.NET 2005 platform is Windows XP 64-bit,
fully updated, running on a P4-3.2GHz, 1Gb RAM. My server is Server 2003
SP2 (two dual core 3.2GHz Xeons). My network is fine.

I'm attempting to port my program to VB.NET to get cross-platform
compatibility . 32-bit/64-bit/workstation and server. My program needs to
run on them all. A 32-bit program using 32-bit DLLs simply won't work on
a 64-bit platform - hence the port.

Is .NET inherently slower than VB6 where VB6 is using whatever 32-bit
DLL is needed to get the job done?

Mark

I have a VB6 app that gets Heart beats in real time over a USB
connection. The app displays the Heart sound and the ECG at rates up to
400 Beats-per-minute.

So far I have been able to get VB2005/VB2008 up to about 3
Beats-per-minute.

Galen



Jun 27 '08 #6
>
>Is .NET inherently slower than VB6 where VB6 is using whatever 32-bit DLL
is
needed to get the job done?

You can still take the API way in VB.Net
When well done it can be about 10 times quicker

When bad done it can be about 10 times slower.
If you have 2 fully optimized assembly`s in both languages you might see
some surprising results depending on the situation
i have seen a program written in good old C doing file io that blew anny
other program away , however it was only for this specific task so fast as
it was optimized for this one situation .

In some way COBOL is also superior to .Net or VB6 ,,,,, but it is the whole
package that counts for me :-)
Basicly it is quicker as it does not use late binding.
VB6 is fully written on COM and it can use both Early and late binding ( by
the way i can also late bind with VB.Net for instance to office if i am not
sure if it is installed on the target system )
For VB6 COM is native so i guess that if you use libs through COM VB6 will
be a few miliseconds quicker, However VB.Net is not obsolete as VB6 is and
for native .Net assemblys the speed is mostly equal or faster .
just my thoughts

Michel



"Cor Ligthert [MVP]" <no************ @planet.nlschre ef in bericht
news:e6******** ******@TK2MSFTN GP06.phx.gbl...
>
>Is .NET inherently slower than VB6 where VB6 is using whatever 32-bit DLL
is
needed to get the job done?
When well done it can be about 10 times quicker

When bad done it can be about 10 times slower.

Basicly it is quicker as it does not use late binding.

Cor

Jun 27 '08 #7
IMHO your best is to first narrow down the portion that is so slow (for
example it would be interesting to see if this is the listview (UI) part or
the ADSI interaction) and then post about this particular code. In
particular pay attention to possible conversion ("long" is "now" integer so
it's pretty easy when not used to this to introduce unexpected conversion
and I've seen this once with a so called benchmark but the .NET version was
actually doing a lot of conversions the VB 6 version wasn't doing).

Else nothing is slower than something else. It always depends what is done
and it will end in a general discussion that will lead nowhere...

--
Patrice

"news.microsoft .com" <ma********@hot mail.coma écrit dans le message de
groupe de discussion : #D************* @TK2MSFTNGP06.p hx.gbl...
Hi all,

First post here. I'm porting an application I wrote in VB6, over to VB.NET
2005.

It could be said I'm really struggling with some (most!) of the syntax of
VB.NET 2005, but I'm getting there. I'm relying a lot, at this point, on
sample code from Microsoft, and other forums about the Internet.

One thing I've painfully noticed (hence the title of this post) is .NET
seems to be GOD AWEFULLY slow!

My VB6 version of my app interacts HEAVILY with Active Directory. My VB6
program starts in approximately 10 seconds, loading all 1300-odd Active
Directory user accounts in a listview.

VB.NET (doing the same thing and based on an example from MSDN) takes
almost 60 seconds!

WMI is also painfully slow. A "DiskQuota" DLL call to the server to get
volume useage info under VB6 is instant. A WMI call to get the same
information takes 30 or more seconds.

Why is this? My workstation/VB.NET 2005 platform is Windows XP 64-bit,
fully updated, running on a P4-3.2GHz, 1Gb RAM. My server is Server 2003
SP2 (two dual core 3.2GHz Xeons). My network is fine.

I'm attempting to port my program to VB.NET to get cross-platform
compatibility. 32-bit/64-bit/workstation and server. My program needs to
run on them all. A 32-bit program using 32-bit DLLs simply won't work on a
64-bit platform - hence the port.

Is .NET inherently slower than VB6 where VB6 is using whatever 32-bit DLL
is needed to get the job done?

Mark

Jun 27 '08 #8
Michael,

What is in your opinion Native code as that is in my idea always often used,
however never is specified what is meant by that.

You mean Intel Assembler?

In my idea are there very few languages that creates code on this level,
while it than would be extremely huge and therefore slow to handle.

As you know my thoughts.

Cor

"Michel Posseth [MCP]" <MS**@posseth.c omschreef in bericht
news:%2******** ********@TK2MSF TNGP04.phx.gbl. ..
>>Is .NET inherently slower than VB6 where VB6 is using whatever 32-bit
DLL is
needed to get the job done?


You can still take the API way in VB.Net
>When well done it can be about 10 times quicker

When bad done it can be about 10 times slower.

If you have 2 fully optimized assembly`s in both languages you might see
some surprising results depending on the situation
i have seen a program written in good old C doing file io that blew anny
other program away , however it was only for this specific task so fast as
it was optimized for this one situation .

In some way COBOL is also superior to .Net or VB6 ,,,,, but it is the
whole package that counts for me :-)
>Basicly it is quicker as it does not use late binding.

VB6 is fully written on COM and it can use both Early and late binding (
by the way i can also late bind with VB.Net for instance to office if i am
not sure if it is installed on the target system )
For VB6 COM is native so i guess that if you use libs through COM VB6 will
be a few miliseconds quicker, However VB.Net is not obsolete as VB6 is and
for native .Net assemblys the speed is mostly equal or faster .
just my thoughts

Michel



"Cor Ligthert [MVP]" <no************ @planet.nlschre ef in bericht
news:e6******** ******@TK2MSFTN GP06.phx.gbl...
>>
>>Is .NET inherently slower than VB6 where VB6 is using whatever 32-bit
DLL is
needed to get the job done?
When well done it can be about 10 times quicker

When bad done it can be about 10 times slower.

Basicly it is quicker as it does not use late binding.

Cor

Jun 27 '08 #9
Hello Cor ,

In the context of VB6 and COM , i mean with "Native" that VB6 is specially
designed for COM as minimal marshalling is necesary you have less overhead
and thus more speed as non native interaction .

With .Net and the context "Native" i mean .Net libraries that are written
in .Net
Usercode written in VB6 <---interaction ---- Library used is COM =
Native
Usercode written in .Net <---interaction ---- Library used is .Net =
Native

Usercode written in .Net <---interaction ---- Library used is COM =
Non Native ( interop necesary )

For a lot of the old COM libs there are nowadays a lot .Net libs or
alternatives availlable that is what i tried to say

regards

Michel

"Cor Ligthert[MVP]" <no************ @planet.nlschre ef in bericht
news:01******** *************** ***********@mic rosoft.com...
Michael,

What is in your opinion Native code as that is in my idea always often
used, however never is specified what is meant by that.

You mean Intel Assembler?

In my idea are there very few languages that creates code on this level,
while it than would be extremely huge and therefore slow to handle.

As you know my thoughts.

Cor

"Michel Posseth [MCP]" <MS**@posseth.c omschreef in bericht
news:%2******** ********@TK2MSF TNGP04.phx.gbl. ..
>
Is .NET inherently slower than VB6 where VB6 is using whatever 32-bit
DLL is
needed to get the job done?


You can still take the API way in VB.Net
>>When well done it can be about 10 times quicker

When bad done it can be about 10 times slower.

If you have 2 fully optimized assembly`s in both languages you might
see some surprising results depending on the situation
i have seen a program written in good old C doing file io that blew anny
other program away , however it was only for this specific task so fast
as it was optimized for this one situation .

In some way COBOL is also superior to .Net or VB6 ,,,,, but it is the
whole package that counts for me :-)
>>Basicly it is quicker as it does not use late binding.

VB6 is fully written on COM and it can use both Early and late binding
( by the way i can also late bind with VB.Net for instance to office if i
am not sure if it is installed on the target system )
For VB6 COM is native so i guess that if you use libs through COM VB6
will be a few miliseconds quicker, However VB.Net is not obsolete as VB6
is and for native .Net assemblys the speed is mostly equal or faster .
just my thoughts

Michel



"Cor Ligthert [MVP]" <no************ @planet.nlschre ef in bericht
news:e6******* *******@TK2MSFT NGP06.phx.gbl.. .
>>>
Is .NET inherently slower than VB6 where VB6 is using whatever 32-bit
DLL is
needed to get the job done?

When well done it can be about 10 times quicker

When bad done it can be about 10 times slower.

Basicly it is quicker as it does not use late binding.

Cor


Jun 27 '08 #10

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

Similar topics

114
9801
by: Maurice LING | last post by:
This may be a dumb thing to ask, but besides the penalty for dynamic typing, is there any other real reasons that Python is slower than Java? maurice
12
2455
by: Gustavo L. Fabro | last post by:
Greetings! Getting straight to the point, here are the results of my experiment. I've included my comments and questions after them. The timing: (The total time means the sum of each line's drawing time. Time is measured in clock ticks (from QueryPerformanceCounter() API). The processor resolution (QueryPerformanceFrequency()) for my
14
2347
by: Roy Gourgi | last post by:
Hi, How much is C# slower than C++? TIA Roy
5
1445
by: Michael | last post by:
i experience slower compile times with VC++ 2003 compared to VC+6.0. Anyone experiencing the same? Should that be expected? This ineed matters, when total compilation time is > 1h and you have to wait 10-50% longer...
87
4934
by: John Rivers | last post by:
Hello everybody, I just wondered if anybody else has noticed this? It takes around 6 seconds to start debugging a very simple ASPX page with VS.NET whereas VB6 takes under 0.5 seconds, even with very large and complex projects. This is a real shame :(
4
2091
by: dhnriverside | last post by:
Hi peeps I'm having some problems with my Session State sticking (it keeps resetting itself) - I haven't looked into it yet, but I was wondering about using SQL Server as an out of process state manager? I've heard it's slower - and I was just wondering... how much slower? (this is for an Intranet app) Cheers
77
5193
by: Peter Olcott | last post by:
http://www.tommti-systems.de/go.html?http://www.tommti-systems.de/main-Dateien/reviews/languages/benchmarks.html The above link shows that C# is 450% slower on something as simple as a nested loop. Is this because .NET is inherently slower or does the C# compiler merely produce code that is not as well optimized as the C++ compiler?
0
8142
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
8640
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
8589
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
8287
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
7114
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
4058
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
4136
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
1757
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
1438
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.