C# - Does The JIT Compiler Optimize (inline) Unnecessary Variable Declarations
Oct 20, 2011
I've read several articles and questions/answers that conclude the best practice is to let the JIT compiler do all the optimization for inline function calls. Makes sense. What about inline variable declarations? Does the compiler optimize these as well?
[Code]...
Of course I prefer the latter because it's easier to read and debug, but I can't afford the performance degradation if it exists. I have already identified this code as a bottleneck -- No need for retorts about premature optimization.
View 2 Replies
ADVERTISEMENT
Mar 8, 2012
Consider this
bar = 1
foo = <1 or 2, depending on previous code>
if foo=1
while bar <= 5
[code].....
What I want to know is, is the compiler smart enough to optimize away the (apparently) repeated tests for "foo = 1" since foo is not modified in the body of the loop?If so, I might use the second construct since it is semantically equivalent (I think!), takes less code and reduces indentation levels.
View 6 Replies
Dec 15, 2009
It is my understanding that all modules are initialized and that all their variables are set up prior to MyApplication_Startup. I have code that has worked well for quite some time (XP and Vista).The Myapplication_Startup code references variables and code located in a Module.However, with Windows 7 this does not work.Anny reference to a module (Data, SUB or FUNCTION) throws a Type Initialization error at runtime. How can I correct this behavior in Windows 7?
View 2 Replies
Apr 9, 2010
Although I have been programming for many years, successfully, in many different languages, translating my large Word VBA application into VB 2008 Express is driving me crazy. While I understand the theory of OOP and have even been on object-oriented courses, it seems I can't declare my objects correctly and use them in my code. As far as I know, I'm not trying to do more than the "language" is capable of doing, but here goes.
I want to start with "aList" which would be a Collections.Generic.Dictionary(Of String, String) object. Then I want a "bList" which is also a a Collections.Generic.Dictionary object. I would like each bList item to have a few individual simple properties (like a Byte and a String) then an aList instance as well. The application then gets a bList key value from the user, "copies" the corresponding bList item values into a work area, and does the necessary processing using the various bList(aList) / aList(bList) item values from the work area. I say "copies" because I assume that part is simply going to be a pointer copy rather than a long copy of lots of strings. Note that I really don't want to start using arrays here, as the application makes alot of use of Word VBA Dictionaries and I'd like to keep it that way if I can. Incidentally, so far, I have all my global data declarations in a separate Class, not on any of the application's forms.
View 7 Replies
Jan 10, 2011
Say that i have the following code that parse about 20k records from the DB.
Code #1
vb.net While reader.Read()
list.Add(If(Integer.TryParse(reader(0).ToString, 0), Integer.Parse(reader(0).ToString), 0))
End While
And then another code which does the very same thing but it seems to be a little cleaner.
Code #2
vb.net While reader.Read()
Dim storeowner As Integer = 0
Integer.TryParse(reader(0).ToString, storeowner)
list.Add(storeowner)
End While
This is what i am confused about; does the compiler creates a new variable automatically when i use the if statement without strictly declared variable? What approach is better in sense of performance?
View 2 Replies
Feb 4, 2012
I have an issue with variables that are used to name For-Next loops. I have had this problem in a couple programs but not consistently, i.e. some variables work, some throw a warning (not an error).
The situation is this. I declare the variable along with all my declarations in a module-
Module MainModule
Public Counter1 As Integer
end Module 'MainModule
[Code]....
The type for variable 'Counter1' will not be inferred because it is bound to a field in an enclosing scope. Either change the name of 'Counter1', or use the fully qualified name (for example, 'Me.Counter1' or 'MyBase.Counter1'). In the past I've always broken down and changed the names to get rid of all those ugly warnings. Sometimes I have eliminated them from being declared in the module and declared them at call time. This is not how I program and I like to keep consistency throughout.
how I can get rid of this spotty, on-and-off nonsense? There is obviously a lot I don't understand about VS and I would have never taken it up but would have stopped 3 languages ago if I weren't forced into bulkier and bulkier languages (sorry about the rant. I feel OK now).
View 4 Replies
Jun 25, 2010
Is there any available tool for converting variable and loops declarations from VB.NET to C++?
View 3 Replies
Feb 20, 2012
im sure im mis-wording the concept but here it is anyways. I know in CSharp you can do
el.AppendChild(new UISize(file, "TSize") { CX = 95, CY = 20 });
which declares a temporary bucket variable and then assigns the associate property values to the variable. Which then sends it to the XMLElement AppendChild method. What is this design concept called? What is the conversion to VB.Net? I have tried using my own online utility that does a 90-95% conversion rate from C# <-> VB.Net. It has failed in this instance, and so need a hand-up on what i am looking to do to convert this from C# to VB.Net. I would really like to not have to do a long-declaration of a variable with assignments, if at all possible.
View 1 Replies
May 10, 2011
I've just read [url]...
I'm wondering if it is a typo. Do they actually really wanted to say: the implementation of the JVM is free to instead of the compiler is free to.
and my second question is that do we have this issue with C#/VB as well? (in which the ""compiler"" is free to assign a value to a variable even before the variable is fully initiated/even before the constructor function of the class of the variable is fully ran.
View 2 Replies
Aug 24, 2010
Is there any way to know that a variable inside a method is Compiler generated.when decompiling a .net dll or exe the generated code looks like this. [code]
View 8 Replies
Dec 8, 2010
How is conditional compilation controlled for a VisualBasic web? For a VB Windows app, I put a conditional variable in Project > Compiler tab > Advanced > Custom controls.
How in a VB web app is a conditional compilation variable assigned that can be accessed by all the files of the web app?
View 1 Replies
Jun 29, 2010
I can make the compiler give me an error (Use of variable prior to assignment) with:
private sub Test()
Dim ord As Order
Dim ord2 As Order
[code].....
View 2 Replies
Sep 25, 2009
which compiler errors would be detected out by VB compiler?
I have searched out some compiler errors list for C#, for example, see the website at [URL]
MS provided us the information about C# compiler error. Does MS provide VB compiler errors information as well.VS
View 4 Replies
May 10, 2011
I've just read this page [URL] One of the things they did was to convert the arabic date to the arabic calendar. I'm wondering if it is a good idea at all to do so. Will it actually be annoying/confusing for the user (even if the user is Arabic). Also, my second question is that do we really need to change 3,899.99 to 3.899,99 for some cultures like German? I mean it doesn't hurt to do so since the library already does it for us but wouldn't this actually cause more confusion to the user (even if he is German).
[Code]...
View 6 Replies
Nov 11, 2010
Imports System.CodeDom.Compiler
Public Class iCompiler
Public Shared Sub GenerateExecutable(ByVal Output As String, ByVal Source As String, ByVal Icon As String)[code].....
View 4 Replies
May 6, 2009
In a VB App. I read an Access table and display it to the UserForm... I would like to prevent and skip Access database update "for the sake of application efficiency and speed" if user has not changed the data displayed on the userform... How can I do that?
View 5 Replies
Dec 12, 2011
I have an array with a possible of 25 numbers that can be entered into it, how to take out the unnecessary zero's for the valueas i have not entered into my array.
Public Class Form1
Dim mintArray() As Integer 'Declares Array without giving it a size
Dim Array(24) As Integer
[Code].....
I get an error at the highlighted part : " InvalidCastException was unhandled, Conversion from string "" to type 'integer' is not valid."
View 22 Replies
Jul 1, 2011
This error first appear to occur randomly. Steps to recreate:Open Visual Studio and load a solution (some files automatically opened) - this is when the problem occurs Close all open files Restart visual studio and load solution (no issues)Open Exactly the same files again, restart visual studio and load solution so files open automatically (problem occurs!)
However, when trying to narrow it down to a single file (that is automatically opened when the solution is loaded), I couldn't reproduce the problem. Now with all the files open again the problem doesn't occur!!! So it looks like it is fixed - though this happened before and eventually the issue came back.
I think it is to do with one of the user controls with DevExpress controls on it - when the error occurs, the designer displays the error. Though I can't reproduce it at the moment to confirm that.
View 2 Replies
Feb 9, 2012
If I look at the IL that is created in Linqpad for the two following code snippets, I wonder what happens here.
In c#
int i = 42;
results in the following IL code
IL_0000: ret
whereas in VB
Dim i As Integer = 42
it is
IL_0000: ldc.i4.s 2A
IL_0002: stloc.0
Apparently, the c# compiler understands the the value is never used and thus simply returns nothing. In VB.NET the actual code is translated.Is that due to differences in compiler optimization or is there anything else at work?
Update: Just to clarify this - I just enter this one line into LinqPad and look at the IL it creates (most definitely by running the respective compiler). There is no program.
View 2 Replies
Sep 10, 2010
I need to order lists of up to 100 addresses in optimized order. Is there a way to do this since getdirections is limited to 25? i don't se any way around this 25 limit. Is there one I'm missing?
No I'm trying to use MapPoint object model but it crashes as well with this many waypoints. Here is my example proof of concept code from Excel:
Sub OptimizeRoute()
Dim objApp As Object 'New MapPoint.Application
Dim objMap As Object 'MapPoint.Map
[Code]....
View 2 Replies
Sep 28, 2009
I had been working on a project that would generate a loan schedule.
But, It needs to factor in specified holidays and weekends.
Now, when running with a small 'term', it seems to work fine.[code]...
View 14 Replies
Apr 1, 2012
I need a list from OldGuids that are not in the NewGuids, so I used the Contains method, the problem is that it is already running more then half hour, is there a faster way? or how much longer would it take about? [code]
View 2 Replies
Nov 1, 2010
Is it possible to use a string as an array? I mean:' I have several arrays
Dim a10() As Integer = {530}
Dim a15() As Integer = {370, 231}
Dim a20() As Integer = {305, 176, 126}
'I declare a variable as a string and I assign the name of an array to it
Dim tablaalfa As String = "a10"
'I retrieve data from the array using the name of the variable instead:
lbl1.Text = tablaalfa(2)
I guess it doesn't work in this way?
View 3 Replies
Mar 6, 2012
vbc.exe has something called /optimize switch right. If I enable that what are the optimizations the compiler can do for me? The MSDN documentation just curtly says 'does various compiler optimizations'. Where can I find the complete quantified view of the different optimizations that actually goes into.Here is the thing I am pursuing this route. One of the code blocks in a module I am leading has a lot of delimited array manipulations. I believe this is going to be a heck costly in terms of string memory handling. I am looking to see if I can retire them by way of simple properties or methods so that the compiler can internally do something like our c++ inline functions making a best win-win offer in terms of both memory and processing time. I admit when the compiler translates them as inline function, the JITed code might be big in size right?
View 7 Replies
Jul 27, 2011
I basically want to remove the formula from the cells but want to retain the calculated values.
SO, I implemented it easily and it works great but REALLY SLOW. (About 2 mins for 1800 cells)
I have : Dim col As Excel.Range = getRange()For Each cell In col cell.Value = cell.Value Next
I tried to do this to the first cell and then autofill the rest, but that copied the value of 1st cell to the rest of the cells in column.
View 7 Replies
Jul 28, 2011
Want to dump a fetched table to a excel sheet. [code] I am new to data fetching and ADO.Net concepts and just got it working.But. This seems to be very inefficient and lame to me. So, can you help reducing the complexity and may be improve performance ? A totally different (Better) implementation is most welcome !
View 2 Replies
Jan 20, 2011
How can I Optimize my own code written by VB.net? Is there any tools for it? Does Visual Studio have any one? What's your suggestion? I use VS2008 as my editor.
View 1 Replies
Oct 24, 2010
Often it is very usefull to save data as a class by serialize and compress it. From few experiments I have noticed that
Class A
Public name as string
Public List as new list(of string) <---- empty
End Class
Class B
Public name as string
Public List as list(of string) <----- not instantiated
End Class
If I serialize and compress the 2 classes the class B uses less spaces once serialized and compressed. This suggests me that if a class contains a list that is instantiated but empty it is better to set that to nothing and reset as new when it is decompressed and deserialized. Is there any dll that optimizes a class to be stored (serialized and compressed) and restore it when it is decompressed and deserialized?
View 6 Replies
Jan 27, 2011
Public Function CalCheckSum(ByVal ByteList As List(Of Byte)) As List(Of Byte)
Dim total As Integer = 0
For Each b As Byte In ByteList
[code]....
View 1 Replies
Jun 1, 2010
I used to do this is VB6:
Type Record
A As Long
B As String
End Type
Dim Rec As Record
When I keyed in "Type" in my declarations, I was asked to change it to "Structure". After that, I was not able to define anything inside. So, what do I need to do?
View 36 Replies