|
Performance Improving Operators for Visual Basic in
Microsoft.NET |
|
description |
This article is intended to
help developers improve the run-time performance of their
Visual Basic applications running in .Net by explaining how
to choose the correct operators for certain common
operations. |
|
environment |
VS2002, VS2003, VS2005 |
|
language
|
Visual Basic |
|
tags |
operator, performance,
optimization, string, arithmetic, assignment, concatenation |
Updated: 11/29/2006
You can get better performance from your
Visual Basic programs by choosing the right operators.
This article is intended to help
developers improve the run-time performance of their Visual Basic
applications running in .Net by explaining how to choose the correct
operators for certain common operations.
One of the primary goals of each new
version of Visual Basic is to perform faster than previous versions. But
performance still depends on how you design your program. This article
describes some important considerations that can help you optimize your
application's performance.
Some of the recommendations in this
article might represent a negligible difference within one statement,
but the performance gain can be greatly amplified inside a loop or a
frequently called procedure. Code blocks that are executed many times
are good candidates for optimization.
Division: \
vs. /
Divide integral values
with the \ (back slash) operator when you do not need decimal points or
fractional values. The \ operator is the integral division operator and
it is up to 10 times faster than the / (forward slash) operator.
Compound Assignment
Operators: a += b vs. a = a + b
Compound assignment
statements first perform an operation on an argument before assigning it
to another argument. Example:
a += b
In the example above, b
is added to the value of a, and that new value is then assigned to a.
Compound assignment operators are more concise than their constituent
operators (separate + and =). Compare the statement above to the one
below. The statement above is a shorthand equivalent of the statement
below.
a = a + b
Compound assignment
operators are faster. If you are operating on an expression instead of a
single variable, for example an array element, you can achieve a
significant improvement with compound assignment operators.
Compound assignment
operators for numbers:
|
Compound
Assignment
Operators |
^= |
*= |
/= |
\= |
+= |
-= |
Compound operator for
strings: &= Example:
Dim a As String = "First
"
a &= "Name"
Result: First Name
Concatenation: &
vs. +
Use the & concatenation
operator instead of the + operator to increase the speed of
concatenations. Performance of the & and + operators are only equivalent
if both operands are type String. If not, the + operator is late bound
and must perform type checking and conversions.
|