I have a process that imports a daily file of product registrations, and adds them into our database. Originally this process would query against the database multiple times for each record to determine how to process the data.In order to speed up this process and prevent any timeout issues that could appear to people trying to use a reporting site that uses the same database, I've changed the code to pull down a few of the tables into dictionaries, and then iterate across them to see if that customer/address/dealership exists, and pull the Id from the key of the dictionary if it does, or insert it into the table and then the dictionary if it doesn't.However, I'm currently finding this to be running slower than if I were querying the database multiple times for each registration. One possible cause that I can think of is that my dictionaries are quite large (one has 8 million entries and another has 11 million).[code]
For Each tempstring In SourceDataCollection LineToFieldsTemp = Split(tempstring, ",") LineStringWithoutFirstEntry = "" 'reset the linestring For i = 1 To UBound(LineToFieldsTemp)
[code]....
essentially what i'm doing is to read through each item in a collection of comma separated variable strings. the first variable in each string is appended to a master filename and becomes the NEW filename to which the entire string will be appended. this is a way to split a CSV file into multiple files using the first variable in that string.
the trouble is that this is doing a LOT of writes to potentially a LOT of files, the IO is taking forever. is there a way to buffer this data until the end, then write it to a disk? be aware, the filenames and total number of files to be created is UNKNOWN at the begining of the loop. it just creates a new file each time a unique first column ID is discovered.
I don't know if this is doable, maybe with Linq, but I have a List(Of MyType):
Public Class MyType Property key As Char Property description As String End Class
And I want to create a Dictionary(Of Char, MyType) using the key field as the dictionary keys and the values in the List as the dictionary values, with something like:
New Dictionary(Of Char, MyType)(??)
Even if this is doable, internally it will loop through all the List items, I guess?
This seems like it should be something very easy to do, but every time I approach this issue, I end up w/ solutions that feel "less than elegant" Here is my basic question: If I am looping through a dictionary that I have ordered in a particular way, within any given point in the loop how can I "peek" or get reference to a dictionary item 'x' places ahead of the current item without changing the current enumerator? For instance:
Dim tempDictionary = New Dictionary(Of String, String) tempDictionary.Add("TestName1", "TestValue1") tempDictionary.Add("TestName2", "TestValue2") tempDictionary.Add("TestName3", "TestValue3")
How do i exactly check internet connection speed.I have searched around google and found out a method w/c will Download a file like 1mb size, then it will calculate the speed.
I have a codes that calculates DownLoad speed and UpLoad speed kb/s. I would like to implement this kind. I also want to put such kind of graph. Any article or links where can I start building my own like that.
I want to group items from a linq query under a header, so that for each header I have a list of objects that match the header title. I assumed the solution would be to use ToDictionary to convert the objects, but this allows only one object per "group" (or dictionary key). I assumed I could create the dictionary of type (String, List Of()), but I can't figure out how to write it. As an example I have written a simplified version below.
I have created a class with a function in it. I have a collection of data I want to pass back. I tried an arraylist first. Now I am trying to use a dictionary. My problem is that it creates the dictionary ok, but I am only get the last row of data from my
Function GetWeldAuditInfo(ByVal ResourceId As String, ByVal VendorId
countDictionary As Dictionary(of Category, Dictionary(of Date, Integer))
The Class has a Enumeration Property. For the purposes of demonstration, I'll call it MasterCategory.I have been trying to get out an object that looks like the following:
groupedCountDictionary As Dictionary(of MasterCategory, Dictionary(of Date, Integer)
Which results in a IEnumerable (Of Dictionary(of Date, Integer)) for each MasterCategory value.However, I need that IEnumerable of Dictionary flattened to one dictionary with all the integers summed (total counts) for each date. I then tried to use various selects and group bys (from numerous stackoverflow posts) to "flatten" it, but my efforts have fallen short.
Current Code
[Category Class] - MasterCategory As Enum - Name As String etc
I have created a Dictionary class (MyDictionary for the example). I am currently trying to pass MyDictionary into a function, filter it into a new instance of MyDictionary and pass this new instance into another method. When I am attempting to create the second instance from the filtered first instance of MyDictionary via Lambda Expressions and the ToDictionary Method, I am getting the following error:
Unable to cast object of type 'System.Collections.Generic.Dictionary`2[System.Int32,System.String]' to type 'MyDictionary'. I have simplified the example and recreated it in LINQPad and am getting the same error.
I use VS2005 and I have just started working with the dictionary in particular the Dictionary.ContainsKey method. At the bottom of the page in the msdn library it says the following in the community content How to make sure that Contains functions properly.
Is there an easy way to get the CPU name and Speed? Also for Memory to display in MHz?
Heres a pic of my app and its
Was bored and wanted to make a "Mac" like app (About This Mac). I have some experience with Xcode. Never really did programing on windows before. Also, is there any way to call up a control panel through VB.Net? (Windows Update)
currently writing a standard 3-tier (gui/business layer/data layer) winforms application in Visual Studio 2008.I have a form which has to load around 20 different sets of un-related data when it opens. My data layer returns seperate data readers to the business layer and each routine uses seperate sql connections (it opens them, gets a data reader, and then closes it).Now the problem i have is the speed the data is being retrieved. For a relativly small amount of data (around 100 rows of data combined) it's taking say 10 seconds to retrieve, parse into seperate collections and then paint to screen.My form is using controls from Infragistics and Component One and is quite heavy anyway
I have a download manager in my browser that i downloaded from this link :[URL]but i have 2 questions. 1) How do i get the download speed? someone posted this currentspeed = iTotalBytesRead / (sTimer.ElapsedMilliseconds / 1000) but i dont know what that person hade dim ITotalBytesRead?
_Downloader_AmountDownloadedChanged: lastSize = cSize If Timer1.Enabled = False Then Timer1.Enabled = True
I'm trying to get the upload speed of a ftp stream with vb.net unsuccessfully.I'm not sure if the maths are ok, I googled for a while trying to find the equation for upload and i found it in some code examples but for download.[code]
Is it possible to speed up VB.express on an older laptop? For example, is it possible to disable the announcements window for speed. It appears that the announcement window is just another webpage embedded in the program that would slow it down. Any other tricks to get vb.express up to speed on an older machine?
I have written this function to auto correct gender to M or F from different values in a string array. It works fine but my manager told me to use Dictionary which he said is more efficient.[code]
Does anyone know of anyway that it would be possible to speed up the process of loading forms.With VB6, forms (simple ones) was extremely fast but with VB.net, the initial loading of a form (even the simplest one) takes very long. Although it gets better once it's loaded once and the reloaded the next time (almost instanttaneous), but the first time loading gives a bad impression to any user that .net is actually much slower.