Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 60601
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T18:11:15+00:00 2026-05-10T18:11:15+00:00

Two questions: Can someone point me to unbiased data that compares .NET performance to

  • 0

Two questions:

  1. Can someone point me to unbiased data that compares .NET performance to VB 6 performance? I have searched but it is surprisingly difficult to find.
  2. What is the best way to compare .NET performance to VB 6 performance as an app behaves at a customer’s site?

We have a WindowsForms, client-server app (written for 2.0, upgrading to 3.5 SP 1 soon) about which certain customers complain of ‘slow performance’ as compared to the previous VB 6 version. I know, ‘slow performance’ is very vague and general, but is it true to assume .NET code might be slower than VB 6 code because .NET runs in a VM? I wrote 100% of the code in C#, so it was not ported by some third person or wizard.

Not all customers make this complaint, so we suspect something environmental. Is our only option to measure performance at a customer site? Some of our customers use SQL Server 2005 on Windows Server 2003 on a Novell network. Would they see dramatically different data access performance than a similar machine on a Windows network?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-10T18:11:15+00:00Added an answer on May 10, 2026 at 6:11 pm

    The first thing I need to mention is that .Net code never runs in a VM. While it’s true .Net programs are compiled to IL that is somewhat analogous to Java’s ByteCode, the important difference is that the IL is also in turn compiled to fully native code before the app starts, rather than interpreted by a VM.

    Moving on to the .Net/VB6 comparison. I can’t point to specific data, but from personal experience it depends on what you’re doing.

    To illustrate this, let’s think about six different benchmark applications, each with a vb6 and .Net version. Each application picks out a specific operation, performs it 100,000 times, and then records the amount of time taken. Note that this is a thought experiment: I haven’t actually seen results from real apps. But I feel like I have a sense of the strengths and weaknesses of both platforms.

    • Application A does some serious cpu-heavy number crunching. In this case, I have to believe the results here would be almost identical. Both VB6 and .Net compile down to native code, and so a cpu mult instruction is the same regardless. That said, if you’re not using Option Strict you could quickly get yourself in trouble on either platform. Since you used C# (which essentially is always Option Strict), that could give your .Net code an advantage.

    • Application B goes out and retrieves a value from a database. Again, results are probably very close, though I’d have to give .Net a very slight edge for two reasons: it uses a native sql client, which is supposedly a little faster, and it does things like automatic connection pooling and makes it easier to factor out things like connecting once and re-using that connection rather than connecting repeatedly. But if you compare apples to apples as far as code goes, the two will likely be very close.

    • Application C shows and hides a form repeatedly. Here I would have to give vb6 the nod. It’s based on an older, less glitzy widget set which will frankly be cheaper to render. Also, the WinForms components aren’t known for being all that speedy. However, the difference probably isn’t as large as you might think, and you’re probably not completely redrawing forms that often, either. This is likely the slowness that your users complain about.

    • Application D is based on string operations, and here I have to give the nod to .Net. Both VB6 and .Net are known for slow string operations. However, .Net provides a number of tools that are simply not available in vb6 to help developers overcome the slowness. That said, if you’re not aware of those tools, poor string operation choices could easily bog down your app doing useless work. This is also likely contributing to user complaints.

    • Application E is going to repeatedly load an Xml document into memory. Again, I have to think that .Net would have an advantage. First of all the xml tools available to vb were primitive at best. I find it unlikely they haven’t been improved significantly. Additionally, .Net’s garbage collector is pretty smart, giving it an advantage or allocated and freeing memory during the loads. However, I think the biggest thing here is going to be disk speed, which means the difference wouldn’t be that large.

    • Application F will repeatedly start a .Net or vb6 program, wait for it to become ready (for some definition of ‘ready’), and then close it. Here vb6 likely has the advantage, for two reasons. Firstly, the .Net has to compile the IL to bytecode on the first run. Thankfully, that’s only the first run. Seconly, the .Net app also has to load any referenced assemblies. By comparison, the VB6 runtime is much smaller. However, this is normally only true the first time you start the app on a particular machine, and there are ways to pre-compile the .Net code. This may also contribute to perceived slowness.

    One important point is that for all of these applications, the .Net app is likely going to have a much larger memory footprint. For some reasons developers tend to think about this as a bad performance characteristic when in fact the opposite is true. If your app is using more memory, it’s probably spending less time going to disk, and the disk is slower by far. It’s probably also caching more, which saves cpu time. And for .Net specifically, it’s saving up allocation/deallocation operations for periods when it’s more important or when the pc is otherwise idle.

    I don’t have time, but it’s be interesting to see someone use the StopWatch implementation (at least for the .Net side) mentioned in today’s Coding Horror to get real benchmarks for each of these.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 241k
  • Answers 241k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer It would be possible, since basically WPF is based on… May 13, 2026 at 7:26 am
  • Editorial Team
    Editorial Team added an answer The closing parenthesis in your NSLog statement is misplaced. It… May 13, 2026 at 7:26 am
  • Editorial Team
    Editorial Team added an answer Here is the MSDN sample on how to use CreateThread()… May 13, 2026 at 7:26 am

Related Questions

Inspired by the question Difference in initalizing and zeroing an array in c/c++ ?
Can someone point me to some tutorial on how to set up a ping
Can someone please point me in the direction of an example creating a SamlAssertion
In production, I maintain two sites - beta and release. Each points to a

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.