草庐IT

Feign的性能优化

全部标签

c# - 使用 C# 删除大量(>100K)文件,同时保持 Web 应用程序的性能?

我正在尝试从一个位置删除大量的文件(我的意思是超过100000个),因此该操作是从网页启动的。显然我可以使用string[]files=System.IO.Directory.GetFiles("pathwithfilestodelete");foreach(varfileinfiles){IO.File.Delete(file);}Directory.GetFileshttp://msdn.microsoft.com/en-us/library/wz42302f.aspx这个方法已经发过几次了:Howtodeleteallfilesandfoldersinadirectory?和De

c# - 资源 (.resx) 文件是否存在任何性能问题或注意事项?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭1年前。Improvethisquestion资源文件似乎非常适合标签和消息的本地化,但它们是否完美?例如:如果资源量很大,有没有更好的解决方案?就像.resx文件中的100,000个字符串?(理论上,我实际上没有这个问题)这是存储其他类型数据(例如图像、图标、音频文件、常规文件等)的好方法吗?将.resx文件存储在独立项目中以便于更新/编译是否是最佳做法?您在使用.resx文件时是否遇到过任何其他问题?

c# - 使用性能计数器计算平均值

我有一个服务进程,我想使用性能计数器来发布完成任务所需的平均时间。我正在使用AverageTimer32计数器来执行此操作。它几乎按照我想要的方式工作,但不完全是这样:当我增加计数器时,它会短暂地上升到我期望的值(在性能监视器中观察),但然后它会立即回落到零。所以,计数器为零,我运行一个任务,任务完成,计数器短暂地增加(到正确的值),但随后它几乎立即回落到零。我正在使用以AverageBase作为分母的AverageTimer32计数器。每次开始任务时,我将AverageBase增加1,然后每次完成任务时,我将AverageTimer32增加要完成的滴答数。谁能给我一个推?

c# - 在 C# 中使用多个键优化缓存 - 删除对象的重复

我在Asp.NetCore中有一个项目。这个项目有一个ICacheService如下:publicinterfaceICacheService{TGet(stringkey);TGet(stringkey,Funcgetdata);TaskGet(stringkey,Func>getdata);voidAddOrUpdate(stringkey,objectvalue);}实现只是基于ConcurrentDictionary,所以它并没有那么复杂,只是从这个字典中存储和检索数据。在我的一项服务中,我有如下方法:publicasyncTask>GetLanguagesAsync(stri

C# 编译器优化

我想知道是否有人可以向我解释编译器到底做了什么让我观察到一个简单方法的性能差异如此之大。publicstaticuintCalculateCheckSum(stringstr){char[]charArray=str.ToCharArray();uintcheckSum=0;foreach(charcincharArray){checkSum+=c;}returncheckSum%256;}我正在与一位同事合作,为消息处理应用程序做一些基准测试/优化。在VisualStudio2012中使用相同的输入字符串对此函数进行1000万次迭代大约需要25秒,但是当使用“优化代码”选项构建项目时

c# - 素数生成器的 F# 与 C# 性能对比

我注意到F#和C#中看似等效的代码执行起来并不相同。F#慢了一个数量级。作为示例,我提供了我的代码,它在F#和C#中生成素数/给出第n个素数。我的F#代码是:letrecisprimex=primes|>Seq.takeWhile(funi->i*iSeq.forall(funi->x%i0)andprimes=seq{yield2yield!(Seq.unfold(funi->Some(i,i+2))3)|>Seq.filterisprime}letn=1000letstart=System.DateTime.Nowprintfn"%d"(primes|>Seq.nthn)letdu

c# - 优化 LINQ Count() > X

这个问题在这里已经有了答案:EfficientLinqEnumerable's'Count()==1'test(7个答案)关闭6年前。问题:给定IEnumerable,如何检查包含超过x的序列项目?MCVE:staticvoidMain(string[]args){vartest=Test().Where(o=>o>2&&o1)//howtooptimizethis?foreach(vartintest)//consumerConsole.WriteLine(t);}staticIEnumerableTest(){for(inti=0;i这里的问题是什么Count()将运行完整的序列,

c# - 具有 Task.Run 性能的 ASP.NET Web API 2 异步操作方法

我正在尝试对几个ASP.NETWebAPI2.0端点进行基准测试(使用Apache基准测试)。其中一个是同步的,一个是异步的。[Route("user/{userId}/feeds")][HttpGet]publicIEnumerableGetNewsFeedItemsForUser(stringuserId){return_newsFeedService.GetNewsFeedItemsForUser(userId);}[Route("user/{userId}/feeds/async")][HttpGet]publicasyncTask>GetNewsFeedItemsForUse

C# - ADO.NET 的一些高性能最佳实践/技巧是什么

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭2年前。Improvethisquestion我决定不使用orm,而是直接为我的项目使用ADO.NET。我知道我知道它会花费更长的时间来编程,但我只希望页面即使在高峰时间也能高速加载。

c# - 为 C# 方法添加返回语句会提高性能吗?

这blog说12)IncludeReturnStatementswithintheFunction/Method.HowitimprovesperformanceExplicitlyusingreturnallowstheJITtoperformslightlymoreoptimizations.Withoutareturnstatement,eachfunction/methodisgivenseverallocalvariablesonstacktotransparentlysupportreturningvalueswithoutthekeyword.Keepingthesear