草庐IT

MySQL性能优化

全部标签

c# - 回收 ListView 中这个看不见的、吞噬性能的单元格是什么?

所以我在使用ListView的Xamarin.Forms应用程序(在Android上)中遇到了性能问题。原因是,因为我在ListView的ItemTemplate中使用了一个非常复杂的自定义控件。为了提高性能,我在自定义控件中实现了很多缓存功能,并将ListView的CachingStrategy设置为RecycleElement。性能并没有变得更好。所以我深入挖掘,试图找出原因。我终于注意到了一些非常奇怪的错误,并将其隔离在一个新的空应用程序中。代码如下:主页.xaml测试控件.cspublicclassTestControl:Grid{staticintid=0;intmyid;p

c# - 如何衡量 .NET 中托管线程的性能

我想测量托管(.NET)线程的性能。具体来说,我需要测量以下-线程使用CPU多长时间?它保持阻塞多长时间(等待远程方法调用完成)?使用System.Diagnostic.StopWatch没有帮助,因为它读取操作系统/硬件的高分辨率性能计时器功能,其中可能包括并行运行和共享同一CPU的其他线程消耗的时间。 最佳答案 您可以使用此处描述的方法http://www.codeproject.com/KB/dotnet/ExecutionStopwatch.aspx它使用系统函数GetThreadTimeshttp://msdn.micro

c# - DataTable 循环性能比较

以下哪项性能最好?我已经看到在JavaScript中实现的方法二获得了巨大的性能提升,但是,我无法衡量C#中的任何提升,并且想知道即使像方法1一样编写时,编译器是否已经执行了方法2。方法2背后的理论是代码不必在每次迭代时访问DataTable.Rows.Count,它可以简单地访问intc。方法一for(inti=0;i方法二for(inti=0,c=DataTable.Rows.Count;i 最佳答案 不,它不能那样做,因为没有办法表达一个值的随时间变化。如果编译器应该能够做到这一点,则返回值的代码必须保证该值是常量,并且在循环

c# - 高性能事件日志

所以我一直在尝试各种方法来批量获取事件日志数据(1000多条记录/秒)。我需要一些可以过滤掉旧日志的东西,现在我存储最后记录的事件记录ID并检索事件ID大于该记录的所有记录....我已经尝试过EventLogQuery/EventLogReader,这工作速度很快,除非我想提取消息数据,为了获得安全日志的格式化消息,我需要调用EventLogRecord.FormattedMessage(),这使我的日志速度大约为150/秒,易于格式化的日志,复杂的日志更糟。我试过System.Diagnoistics.EventLog,这不允许我构建过滤器,所以每次我运行它时它都必须加载所有事件日志

c# - SQL Server 2008 R2 上的身份验证设置是否会对性能产生影响?

好的这是第一种方法publicstaticstringsrConnectionString="server=localhost;database=myDB;"+"uid=sa;pwd=myPW;";这是第二种方法publicstaticstringsrConnectionString="server=localhost;database=myDB;"+"integratedsecurity=SSPI;persistsecurityinfo=False;Trusted_Connection=Yes;";这两个连接字符串之间是否存在任何性能差异或任何其他差异?这里我的sql连接类有什么建议

c# - C++/CLI 性能与 native C++ 相比?

早上好我正在编写一个拼写检查器,在这种情况下,它对性能至关重要。那就是,因为我计划连接到数据库并使用C#制作GUI,所以我用C编写了一个编辑距离计算例程,并使用DllImport编译为我在C#中使用的DLL。问题是,我认为(尽管我可能错了)将单词从String一个接一个地编码到char*会导致很多高架。那就是,我考虑过使用C++/CLI,以便我可以直接在.NET中使用String类型......我的问题是C++/CLI性能与nativeC代码相比如何重数学计算和数组访问?非常感谢。 最佳答案 C++/CLI也必须进行某种编码(mar

c# - C# 优化器性能差?

我刚刚编写了一个小示例来检查C#优化器在索引器情况下的行为。这个例子很简单——我只是将一个数组包装在一个类中并尝试填充它的值:一次是直接填充,一次是通过索引器(它在内部访问数据的方式与直接解决方案完全相同)。publicclassArrayWrapper{publicArrayWrapper(intnewWidth,intnewHeight){width=newWidth;height=newHeight;data=newint[width*height];}publicintthis[intx,inty]{get{returndata[y*width+x];}set{data[y*w

c# - WPF如何优化布局/渲染周期?

WPF如何在高度易变的应用程序中优化布局/呈现周期?例如,假设我连续两次使自定义控件无效,它会呈现两次吗?当数据/属性更新速率快于主渲染速率时是否存在性能问题? 最佳答案 根据我的经验,我可以说不,如果速度足够快,它不会渲染两次。我不是100%确定,但这就是我认为的原因:我们有一个非常繁重的应用程序(数千个控件),它是一个飞机驾驶舱,全部在wpf中,每个按钮、开关、屏幕都可以通过手势或鼠标移动。驾驶舱是10,000x10,000像素,实现了放大/缩小(使用鼠标滚轮),单击鼠标右键时平移。在优化之前,它非常卡顿、缓慢,所以每个“缩放”

c# - 有没有办法让 .Net JIT 或 C# 编译器优化掉空的 for 循环?

Does.NETJIToptimizeemptyloopsaway?的跟进:下面的程序只运行一个空循环十亿次并打印出运行时间。在我的机器上需要700毫秒,我很好奇是否有办法让抖动优化空循环。usingSystem;namespaceConsoleApplication1{classProgram{staticvoidMain(){varstart=DateTime.Now;for(vari=0;i据我所知,答案是否定的,但我不知道是否有我可能没有尝试过的隐藏编译器选项。我已经确保在Release模式下编译并在没有附加调试器的情况下运行,但仍然需要700毫秒来运行这个空循环。我也尝试了N

c# - 高性能套接字上的异步等待与线程池与多线程(C10k 解决方案?)

我对async-await、pool和thread真的很困惑。主要问题始于这个问题:“当我必须处理10k套接字I/O时我能做什么?”(又名TheC10kProblem)。首先,我尝试创建一个自定义的线程池架构它使用一个主Queue和多个Thread来处理所有传入数据。这是一次关于理解的很棒的经历thread-safety和multi-threading但thread是一个矫枉过正现在使用async-await。后来,我用async-await实现了一个简单的架构,但我无法理解为什么“async和await关键字不会导致要创建的额外线程。”(fromMSDN)?我认为有必须有一些thre