.Net Application Working Faster With Mono Then Under Native .Net
Mar 21, 2011
To do some testing with MPIR, GMP, the .Net Bigint module and other math libraries I've recently written a small program which allows me to create random sequences of numbers with a certain amount of precision: Always this amount of digits in front and behind the comma, no starting/ending zeroes. While it might not be the most elegant of code, it really blew my mind when I found out my application was running up to 10 times faster with Mono under Ubuntu 10.10.While the code is not elegant and in Basic, it was developed by me in about an hour's work and it serves the purpose: To generate dependable huge datasets consisting solely of preconfigured numbers before or after the comma. To get a general idea the UI's posted here:[code]Eliminating IO by not writing to IO but just to a List instead Eliminating an "if" path which checks if the random before/after float character is checked.Disabled progress reporting in general which causes the backgroundworker to not report any progress.Play around with the amount of symbols, theres very little difference between just getting 1 random character or getting 15 per record.I'm at a loss to what causes my program to run so slow under Windows/.Net compared to Ubuntu/Mono. I'm only a "half programmer", which means: I'm a Bussiness and ICT student who mainly focusses on human ICT, and the Microsoft Platforms certainly have lead on that, however such a huge performance hit compared to Linux for this soul and simple program really gives me a cold chill when it comes to my favourite platform.
When i run program Error Shows...Could not load file or assembly 'Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
Description: HTTP 500. Error processing request.
Stack Trace:System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. File name: 'Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
I have a NET (version 3.5) Class Library written in VBNET 2008 (on Windows 7 x64) that will at times display a WinForm. The class lib will be used in Excel, and I want to set the NET WinForm to be a child of the Excel Application window. If I weren't using NET, I would just call the SetParent API function, but I can't seem to get this to work since WinForms (I assume) don't have a HWnd suitable for SetParent. I'm sure this is possible, but I just can't find the right properties and methods. The WinForm will be shown modelessly so the user can switch back and forth between Excel and the displayed WinForm.
I am getting below error when I am trying to run vb.net application on Linux through mono.
[Code]...
The assembly was not found in the Global Assembly Cache, a path listed in the MONO_PATH environment variable, or in the location of the executing assembly(/root/HelloWorld/HelloWorld/bin/Debug/).
Is it possible to make a vb.net application faster Through code like using characters that the Computer already understands Like coding in certain areas through y x (math) etc. Will it be More faster since the compiler don't have to really do much work But its still must be VB.NET
how i can change the native scrollbar style in my application to my custom style. I can adopt a custom scrollbar to attain this purpose but this will not serve my purpose because i want this attribute in entire application. Like it the text in textbox gets longer than its bounds than the scrollbar appers are my custom bar not the formal ones
I am thinking of giving mono develop a try. I have some questions. Visual Studio 2008 Professional has options for creating controls and services. This is not available in Visual Basic 2008 Express. This relationship between the different editions, is there something limiting like this with mono develop? I figure since it's open source, everything is implemented like Visual Studio 2008 Pro.
Another question. Does anyone have experience with mono. Is it a production level serious environment for commercial work? Is there something I should know about it?
Any mono developer that has anything good or bad to say, please drop a post in here. I would like to get as much info as possible from vbforums. This has always been the best help site for me using Visual Basic Express.
The most important thing, to reiterate is if I can make Windows Services with Mono Develop and if it supports full threading features that are limited or not available in express.
As a last question, what is the story on managed directx for mono. On Linux, there is no such thing, so would you plan an opengl library to start with? or does that work out in a different way?
I've heard a lot about Mono but I have no idea what exactly it is or how to use it. All I know is it's aimed at making .NET apps cross platform. Could someone tell me or point me to some tutorials explaining how to port my vb code to run on other operating systems? Maybe shed some light on all of this?
I started a new solution (with multiple projects) and am trying to get it to build. Initially I was getting an internal compiler error and thought maybe it had to do with MySql, so I removed all references to MySql. Now I am getting the error "Could not find a 'Sub Main' in ''". I have made sure that all of my projects have a Main subroutine like this:Public Shared Sub Main()End Sub2 out of the 7 projects will compile. I don't know what makes these projects different from the others, and the error message isn't very helpful. Any experience with this one?
I've downloaded latest source from mono project, compiled it and everything works (c# projects, mod_mono, xsp) except vb.net. Vbnc, mono's vb.net compiler does not exist after compiling mono from source.This is on CentOS 5, on Ubuntu 10.04 I installed mono packages via apt-get and vb.net just works.
I read many questions on running .net code with mono but i always end up with the same question. I'm building a new app right now, so i better start straight and take the good direction: Can i develop an app within Visual C# Express or Visual Basic Express, compile it from the Microsoft environment using the compilers they have and run that application using MONO on linux.Or do i have to work with the mono compiler from scratch (or convert my MS project afterwards to mono) to be able to use my .net apps using the Mono framework on linux.Linux/Mac support is not really a must for my app development, but i'd like to get it straight off the start.i'm using WinForms, Encryption, Globalization, SQLClient but thats probably all, is there anything you Mono experts out can tell me NOT to use off the start.Oh and i use the My namespace for all sorts of things such as getting the computer name, logged on user name, resources, settings, etc...
Someone asked me today if it was possible to port a visual basic application to Linux or similar platform, I assumed it was .NET so I suggested to use Mono, but noticed that on their vb support page they only talk about vb 8 (.NET) Does mono support non-.NET vb? In fact I'm not sure what he is using, I think vb6, I'm not sure of the versioning at all though.
Is it possible to play 8 different and individual mono wave files to a 7.1 (8 channels) audio system using vb.net? (I undestand that the .1 speaker is the subwoofer and I'm not yet sure it can be replaced with an ordinary speaker.) The playing should start simultaneously and the files can be of different size/length.Is this something that should be done using win API functions if it can be accomplished at all.I just re-installed my old VB6 which I need to ugrade and vb.net would be the easiest for me so I placed this Q here.
I am exposing some ISO C++ data types to .Net (mono on Linux to be precise).For the purpose of brevity, I shall refer to C# in my question, although my question relates to all of the .Net languages (with C# and VB.Net being my target languages). So far, I have worked out how to expose the ISO C++ data types in C# class(es) for use in mono -The only problem so far is how to deal with the C++ callbacks. In .Net languages (C# and Vb.Net), I believe 'delegates' are the callback equivalent.
Sticking with C# for now, can anyone recommend a way that I can register the C# delegate functions with my ISO C++ code.The ISO C++ code is a notification library, and I want to be able to "push" the notifications to the mono framework (i.e. C# delegates in this case).My underlying assumption is that the mechanism/steps to implement this would be the same for the .Net languages - I'll just have to code the actual delegates in the .Net language of choice - is that assumption correct?Last but not the least, is the question of thread saftey. The underlying ISO C++ code that I am exposing to .Net (mono to be more specific), is both re-ntrant and thread safe - do I have to do anything "extra" to call .Net delegate from my ISO C++ code?
After rewriting a VB.NET assembly with Mono.Cecil the 'Call Stack' debugging window in Visual Studio 2010 shows the language as C# and not VB.NET. Is it possible configure Mono.Cecil to rewrite an assembly so the debugger recognises the rewritten assembly as VB.NET?The following Mono.Cecil simply reads and saves an assembly without modification. However, the debugger reads the new assembly as C# instead of VB.NET.
Dim readerParameters = New ReaderParameters() With {.ReadSymbols = True} Dim writerParameters = New WriterParameters() With {.WriteSymbols = True}
[code]....
It is desirable for the rewritten assembly to be VB.NET so the debugging windows 'Local' and 'Immediate Window' are the VB.NET versions rather than the C# versions.
I'm using loop to read data from sql and then make some calculations then save it again to another table but when application loop for 3 or 4 times it's freeze but the job is done but if loop = 10 or more then it is freeze and hangup for long time .i need to learn how to make my application working better and never freeze and make application working with any count for loop without freeze .
I had a look through the documentation on the Wiki, but it seems a bit thin. How do I determine if a type implements a given interface using Cecil? For my particular implementation it is important that I do not actually load the type into the AppDomain.m Here's the code that I have so far:
Dim outputModule As ModuleDefinition = ModuleDefinition.ReadModule(outputFile) For Each assemblyType As TypeDefinition In outputModule.Types
'How to determine if assemblyType implements a specific interface?
I'm trying to use the Shell to have my application call an external application but its not working...I don't understand why. I get the following error: 'System.windows.shell' is a namespace and cannot be used as an expression!
Heres my code....any ideas what I'm doing wrong. Its got to be a simple...stupid error.
Private Sub mnuUpgrade_Click(ByVal Ctrl As Microsoft.Expression.Web.Interop.Legacy.CommandBarButton, ByRef CancelDefault As Boolean) Handles mnuUpgrade.Click
I have an external database that is feeding information to me. One saves their data as native GUID format and my other data source supplies standard .NET GUID format string. Is there a tidy way to convert from Native GUID to GUID Structure? Also is there any validation bit to determine if a provided value is a Native GUID or not? I can't seem to find any if there is one. The difference is as follows:
typedef struct _GUID { DWORD Data1; WORD Data2; WORD Data3; BYTE Data4[8]; } GUID;
Data1, Data2 and Data3 get their byte order reversed but Data4 remains the same, see [url] for more info.
I have a vb6 project in which I use a dll library to do some tasks. For that, I add a module which declares all functions of that library such as:Declare Function myFunction Lib "abcdapi.dll" (ByVal hVar1 As Long, ByVal hVar2 As Long) As Long When I call this function (and many other similar) I'm able to do the work and correct Long pointer is returned. But when I try to do the same thing by VB.net (by importing the same library using dllimport and calling the same function), I get no result. although it does return some pointer but that doesn't produce correct result.
I need to convert a windows service written in .NET into native code, independent of the .NET framework. I've looked into using NGen to do this, but couldn't figure out how to use it. Essentially, I would like to take my windows service, run it through *insert app here* and have it bundle together all of the dependent dlls from the framework into their native code equivalents, so the service is installable without the framework.
I'm using VB.Net 2008, and I'm having difficulty finding information on how to detect the presence of the SQL Native Client components. I would like to detect their presence on a computer, and then find the version of the components.Does anyone have any information?
I'm looking at a small remoting project in VB.NET. Initial research turns up references to msrdp.ocx which my Windows 7 Ult system doesn't have; a filesystem search on the same platform turns up MsRdpWebAccess.dll which doesn't appear to be well documented; finally hunting through COM references in Visual Studio turns up rdpencom.dll labeled "rdpcomapi 1.0 Type Library" which seems to be best documented via personal developer blogs (which isn't encouraging but is a lot better than other options).
My goal is a lightweight remoting application I can deploy to Windows 2000 Client/Server, WinXP x86/x64, Win2k3 Server, Vista x86/64, and Win2k8 Server.Is there anything DotNET Native I can use instead of one of these COM libraries? Is one of these COM libraries better for the job overall than others; and then am I going to have platform-specific compatibility issues if I don't provide support for more than 1 of them in my app?
I'm writting an application that needs to connect to a postgres 9 database. I'd rather not use any 3rd party drivers like NPgsql and the like. I'd like a driver that comes with the visual studio.I tried to create a data connection from the IDE with .NET framework provider for Ole DB and the provider was "microsoft jet 4.0 OLE DB Provider" and it didn't work.