草庐IT

c# - 在我的应用程序中,EF 4.1 代码优先执行查询比常规 EF 慢 3 倍

我有一个宠物项目(一个简单的论坛应用程序),我用它来测试所有最新的.NET技术,最近我开始玩弄EntityFrameworkCode-First。这个应用程序已经有一个现有的EF解决方案,其中一个EDMX文件映射到一个现有的数据库,我的所有实体都是自动生成的。到目前为止,该解决方案效果很好。注意:请记住,对EF4.1的这一更改纯粹是为了学习。如果你想知道我的需求是什么导致我升级,没有任何需求。我只是想好玩。我复制了该项目并进行了升级,因此我将拥有相同的项目但具有不同的EntityFramework实现。在新项目中,我使用了一个名为EntityFrameworkPowerTools的Vi

c# - 循环从 0 开始比循环从 1 开始快?

看看这两个循环constintarrayLength=...版本0publicvoidRunTestFrom0(){intsum=0;for(inti=0;i版本1publicvoidRunTestFrom1(){intsum=0;for(inti=1;i版本2publicvoidRunTestFrom2(){intsum=0;for(inti=2;iarrayLength=50的结果是(来自多次采样编译的X64的平均值):版本0:0.998s(平均0.001s的标准误差)总循环数:312500000版本1:1.449秒(平均0.000秒的标准误差)总循环次数:282475249版本2

c# - WCF 比运行相同代码的 WebAPI 慢得多

我目前有2个暴露的端点。第一个是WebAPI(.NET4.6)。第二个是WCF(.NET3.5)。它们都能够执行相同的计算,但是WCF平均要慢10倍。有问题的计算代码包含在一个dll中,我们称之为core.dll。此dll还公开WCF端点并由ASP.NET站点使用。webapidll,我们称它为api.dll引用core.dll并由SPA使用。计算可以由任一客户端触发。平均而言,使用我的测试数据,WCF服务执行计算大约需要4.5秒,而WebAPI大约需要450毫秒(或快大约10倍)。我应该注意,所有数据库调用都是在测量的时间范围之外完成的。所有数据都是事先检索的,所有更新都是在计算完成

c# - c# 编译器比 VB.NET 编译器更聪明吗?

如果我查看在Linqpad中为以下两个代码片段创建的IL,我想知道这里发生了什么。在C#中inti=42;产生以下IL代码IL_0000:ret而在VB中DimiAsInteger=42是IL_0000:ldc.i4.s2AIL_0002:stloc.0显然,c#编译器知道该值从未被使用过,因此什么也不返回。在VB.NET中,翻译了实际代码。这是由于编译器优化的差异还是其他原因造成的?更新:只是为了澄清这一点-我只是将这一行输入到LinqPad中并查看它创建的IL(最肯定的是通过运行相应的编译器)。没有程序。 最佳答案 去掉linq

斯坦福用几百块钱训练的alpaca,体验一下基于llama的7b和13b模型,据说比gpt3.0还牛,结果怎样??你能信?

好久没写代码了,上头了,强撸了!1、自己买个GPU服务器(如果不训练,可以随便买个高内存的即可),有些网站很便宜,小时起租!2、alpaca和模型下载地址:GitHub-antimatter15/alpaca.cpp:LocallyrunanInstruction-TunedChat-StyleLLMgitcloneGitHub-antimatter15/alpaca.cpp:LocallyrunanInstruction-TunedChat-StyleLLMcdalpaca.cpp3、模型下载:ggml-alpaca-7b-q4.bin、ggml-alpaca-13b-q4.bin,不知道哪

c# - 创建一个包含比原始元素更多的 ReactiveUI 派生集合

是否可以创建一个包含比原始元素更多的ReactiveUI派生集合?我已经看到有一种方法可以过滤集合并选择单个属性,但我正在寻找的是与可枚举对象的SelectMany操作等效的方法。为了说明这一点,想象一下试图获取一个派生集合来代表每位陷入交通堵塞的乘客。classCar{ReactiveCollectionPassengers;}varTrafficJam=newReactiveCollection();EveryPassengerInTheTrafficJam=Cars.CreateDerivedCollection(c=>c.Passengers);以上不起作用,我认为错误是IEn

c# - Bitmap.SetPixel 在 f# 中的行为比在 c# 中慢

f#代码实际上比c#代码慢500倍。我究竟做错了什么?我试图使两种语言的代码基本相同。SetPixel在f#中慢得多是没有意义的。F#:moduleImagingopenSystem.Drawing;#lighttypeImage(width:int,height:int)=classmemberz.Pixels=Array2D.createwidthheightColor.Whitememberz.Widthwithget()=z.Pixels.GetLength0memberz.Heightwithget()=z.Pixels.GetLength1memberz.Save(file

c# - 为什么 Enumerable.Range 比直接 yield 循环更快?

下面的代码正在检查执行相同解决方案的三种不同方法的性能。publicstaticvoidMain(string[]args){//forloop{Stopwatchsw=Stopwatch.StartNew();intaccumulator=0;for(inti=1;iaccumulator+n);sw.Stop();Console.WriteLine("time={0};result={1}",sw.ElapsedMilliseconds,ret);}//self-madeIEnumerable{Stopwatchsw=Stopwatch.StartNew();varret=GetI

c# - 有没有比 String.Replace 更好的方法来从字符串中删除退格符?

我有一个从另一个来源读取的字符串,例如“\b\bfoo\bx”。在这种情况下,它将转换为单词“fox”,因为前2个\b被忽略,最后一个“o”被删除,然后被“x”替换。另外一种情况是“patt\b\b\b\b\b\b\b\b\b\bfoo”应该被翻译成“foo”我想出了一些使用String.Replace的方法,但它很复杂,我担心它不能正常工作,而且它会创建很多我想避免的新字符串对象。有什么想法吗? 最佳答案 可能最简单的方法就是遍历整个字符串。根据您的输入,以下代码可以在1-pass中完成此操作publicstringReplace

c# - lambda 函数是否比委托(delegate)/匿名函数更快?

我假设lambda函数、delegates和anonymousfunctions具有相同的主体将具有相同的“速度”,但是,运行以下简单程序:staticvoidMain(string[]args){Listitems=newList();Randomrandom=newRandom();for(inti=0;iresult;Func@delegate=delegate(inti){returnilambda=i=>ii我得到:Delegate:4.2948msLambda:0.0019msAnonymous:0.0034ms虽然可以忽略不计,但为什么这三种-显然相同-方法以不同的速度运