草庐IT

iOS包$APP$性能

全部标签

C# Regex 性能非常慢

我是正则表达式主题的新手。我想用以下正则表达式解析日志文件:(?(.*?))[|](?(.*?))[|](?(.*?))[|](?[1-3])[|](?(.*?))[|][|][|](?(.*?))[|][|](?(.*?))[|](?(.*))日志行如下所示:2001.07.1309:40:20|1|SomeSection|3|======Somelogmessage::Type:test=sdfsdf|||.\SomeFile.cpp||60|-1带有appr的日志文件。3000行需要很长时间来解析它。你有一些加快性能的提示吗?谢谢...更新:我使用正则表达式是因为我使用了不同的日

c# - 如何以编程方式修改 app.config 中的 assemblyBinding?

我试图通过使用XmlDocument类并直接修改值来在安装时更改bindingRedirect元素。这是我的app.config的样子:......然后我尝试使用以下代码将1.0更改为2.0privatevoidSetRuntimeBinding(stringpath,stringvalue){XmlDocumentxml=newXmlDocument();xml.Load(Path.Combine(path,"MyApp.exe.config"));XmlNoderoot=xml.DocumentElement;if(root==null){return;}XmlNodenode=r

c# - 单个 WCF channel 性能与多个 channel

我有一个应用程序一遍又一遍地重用同一个WCFchannel。我通过工厂对象保留静态引用。我想知道这是一个好的做法还是我应该打开x个channel并通过这些channel轮询所有服务调用而不是使用单个channel?如果仅使用1个channel,这些服务调用是否会排队?或者当我使用x个channel时是否会发生同样的情况? 最佳答案 您应该为所有请求使用一个channel工厂,但应该为每个请求构造不同的channel。永远不要重复使用channel。它们的创建成本并不高,而且不是线程安全的。创建成本高昂的是channel工厂。它是线程

c# - Console.Writeline 对性能的影响

我的应用程序有4个线程。每个线程实际上是一个Timer并在特定的时间间隔内完成一项单独的工作。这些线程使用Console.Writeline显示它们的日志。性能在此应用程序中非常重要。我想知道删除Console.Writeline是否会调整此应用程序的性能? 最佳答案 是的,执行Console.WriteLine需要大量时间。删除Console.WriteLine调用或将其更改为写入数据的缓冲后台线程将真正加快应用程序的速度。但是,您的里程数可能会因使用的操作系统而异。 关于c#-Con

c# - 从 C# : Instance does not exist in the specified category 读取性能计数器

我正在尝试从另一个.NET4应用程序中读取正在运行的.NET4应用程序的许多性能计数器。一些计数器,例如Process\%ProcessorTime和Process\PrivateBytes工作正常。但是,一旦我尝试从.NET类别之一读取性能计数器,例如.NETCLRMemory\#Gen0Collections,我就会收到以下异常:Instance'MyApplication'doesnotexistinthespecifiedCategory当我打电话时:newPerformanceCounterCategory(".NETCLRMemory").GetInstanceNames(

c# - 获取 C# WinForms App 的应用程序图标

我使用“项目属性”选项卡为C#WinForms应用分配了一个图标。此图标在构建时随程序list一起提供。有没有办法在运行时获取此图标的System.Drawing.Icon对象,而无需再次将其嵌入到资源中?我已完成研究;有办法extractaniconoutofanEXE,但我找不到从应用程序中从正在运行的C#应用程序中提取图标的任何东西。 最佳答案 您看到链接中的第二个答案了吗?(HowcanIgettheiconfromtheexecutablefileonlyhavinganinstanceofit'sProcessinC#)

c# - 为什么使用 Fiddler 时 HttpWebRequest 对象的性能会提高?

我在使用HttpWebRequest时遇到了一些非常奇怪的行为,我希望有人能帮助我。我有一个控制台应用程序,它通过使用HttpWebRequest对象检索目标网站的内容来完成一些聚合工作。由于要求的性质,该应用程序是多线程的,并尝试同时建立10到30个连接(我一直在尝试一系列值)。实际的网络请求结构如下:varreq=(HttpWebRequest)WebRequest.Create(url);WebResponseresp=req.GetResponse();Streams=resp.GetResponseStream();varsr=newStreamReader(s,Encodi

c# - 我应该压缩内存中的 C# 对象以获得更好的性能吗?

我有一个应用程序(C#、WPF)可以显示许多财务图表以及来自服务器的实时数据流。在内存中收集的数据可能会变得有点大,我不想在磁盘上保留任何数据。由于历史数据本身不会改变,只会被添加,以某种压缩格式保留该数据(存储在集合对象中)是否有意义?是否有可能,如果可以,有人可以推荐一个好的做法吗?更新关于性能和权衡的一些注意事项:我知道压缩会增加访问数据的延迟,但是,用户只需要对到达的新数据进行快速更新。当访问已经呈现的数据(例如,研究或重新呈现它)时,他不需要快速响应。 最佳答案 压缩和解压缩会使您的应用程序变慢,因此对于性能(速度)而言,

C# 读取注册表 : ProductID returns null in x86 targeted app. "Any CPU"工作正常

我最近搬到了一台装有VS2010的W764位机器上。我的项目设置为在AnyCPU上运行。当我将其更改为针对x86时,我注意到我的某些注册表调用不再有效。我正在尝试像这样读取ProductID字段:RegistryKeywindowsNTKey=Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\WindowsNT\CurrentVersion");objectproductID=windowsNTKey.GetValue("ProductId");productID在x86模式下运行时始终为null,在“任何CPU”下运行时它可以

c# - CommandBehavior.SequentialAccess 是否有任何性能提升?

我意识到我总是按照索引(使用常量)返回的顺序读取我的字段。因此,据我所知,我的代码已经与CommandBehavior.SequentialAccess兼容。如果我打开它会有什么好处吗?DataReader已经是只向前的,只读的,这是真正的性能提升吗? 最佳答案 它的主要用途是当您读取非常大的CLOB(nvarchar(max)等)或BLOB(varbinary(max))字段时。在默认用法中,它会先缓冲整行数据,然后再让您靠近它——这可能意味着它必须为任何BLOB/CLOB字段分配一个大缓冲区。使用顺序模式时,不会缓冲行;您可以对