C# Browscap Version C# Browscap Version I made a little test with a first C# parser as ConsoleApplication, witch uses Windows native methods, i think C# has no own INI class (if someone knows a better way, please tell us): For loading the 48048 sections in an array and sort them by length (descending) it takes 796 ms (I think that's ok, because the loading should only happen once), on a search of "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0" the match [Mozilla/5.0 (Windows NT 6.1*WOW64) Gecko/* Firefox/28.0*] was found in 811ms (I think that's bad) to get the values and copy them to a NameValueCollection it takes 203 ms (that's very bad) I think the only way to do that with C# is to write an INI-File Class for C# and also write a little function as replacement for the regular expressions. The following version is only my test version, not all necessary measures for the proper processing were implemented! ToDo / known issues: 1. Replace the RegExp method with a faster like in my free pascal version 2. Replace the kernel32 implementation of ini-file methods by a native C# class 3. Check for match without comparing numbers browscap.cs("http://www.gocher.me/code/browscap.cs") Anwendungbeispiel: Program.cs("http://www.gocher.me/code/Program.cs") Output: load 57907 sections in 796 ms search : [Mozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0] Mozilla/5.0 (*Windows NT 6.1*WOW64*) Gecko* Firefox/28.0*: ^Mozilla/5\.0\ \(.*Windows\ NT\ 6\.1.*WOW64.*\)\ Gecko.*\ Firefox/28\.0.*$ find match: [Mozilla/5.0 (*Windows NT 6.1*WOW64*) Gecko* Firefox/28.0*] in 811 ms get values: 203 ms Browser_Bits=32 Platform=Win7 Platform_Version=6.1 Platform_Description=Windows 7 Platform_Bits=64 Platform_Maker=Microsoft Corporation Win32=false Win64=true Device_Name=Windows Desktop Device_Code_Name=Windows Desktop Comment=Firefox 28.0 Browser=Firefox Browser_Type=Browser Browser_Maker=Mozilla Foundation Version=28.0 MajorVer=28 Frames=true IFrames=true Tables=true Cookies=true JavaScript=true JavaApplets=true CssVersion=3 Device_Maker=Various Device_Type=Desktop Device_Pointing_Method=mouse RenderingEngine_Name=Gecko RenderingEngine_Version=28.0 RenderingEngine_Description=For Firefox, Camino, K-Meleon, SeaMonkey, Netscape, and other Gecko-based browsers. RenderingEngine_Maker=Mozilla Foundation Browser_Modus=unknown MinorVer=0 Alpha=false Beta=false Win16=false BackgroundSounds=false VBScript=false ActiveXControls=false isMobileDevice=false isTablet=false isSyndicationReader=false Crawler=false AolVersion=0 Device_Brand_Name=unknown