Net 4.6 RC x64的速度是x86(发布版本)的两倍:
考虑一下这段代码:
class SpectralNorm
{
public static void Main(String[] args)
{
int n = 5500;
if (args.Length > 0) n = Int32.Parse(args[0]);
var spec = new SpectralNorm();
var watch = Stopwatch.StartNew();
var res = spec.Approximate(n);
Console.WriteLine("{0:f9} -- {1}", res, watch.Elapsed.TotalMilliseconds);
}
double Approximate(int n)
{
// create unit vector
double[] u = new double[n];
for (int i = 0; i < n; i++) u[i] = 1;
// 20 steps of the power method
double[] v = new …Run Code Online (Sandbox Code Playgroud) 我试图比较Java 8和PLINQ(C#/ .Net 4.5.1)中并行流之间的性能.
这是我在我的机器上得到的结果(系统制造商Dell Inc.系统型号Precision M4700处理器Intel(R)Core(TM)i7-3740QM CPU @ 2.70GHz,2701 Mhz,4 Core(s),8个逻辑处理器(s )已安装的物理内存(RAM)16.0 GB操作系统名称Microsoft Windows 7企业版6.1.7601 Service Pack 1 Build 7601)
C#.Net 4.5.1(X64-release)
串行:
470.7784,491.4226,502.4643,481.7507,464.1156,463.0088,546.149,481.2942,502.414,483.1166
平均值:490.6373
平行:
158.6935,133.4113,217.4304,182.3404,184.188,128.5767,160.352,277.2829,127.6818,213.6832
平均值:180.5496
Java 8(X64)
串行:
471.911822,333.843924,324.914299,325.215631,325.208402,324.872828,324.888046,325.53066,325.765791,325.935861
平均:326.241715
平行:
212.09323,73.969783,68.015431,66.246628,66.15912,66.185373,80.120837,75.813539,70.085948,66.360769
平均:70.3286
看起来PLINQ不能跨CPU核心扩展.我想知道我是否想念一些东西.
这是C#的代码:
class Program
{
static void Main(string[] args)
{
var NUMBER_OF_RUNS = 10;
var size = 10000000;
var vals = new double[size];
var rnd = new Random();
for (int i = 0; i < size; i++)
{
vals[i] = rnd.NextDouble();
}
var …Run Code Online (Sandbox Code Playgroud) 与"Web框架基准"网站Web框架基准测试中的其他框架相比,Spring(Boot)的性能相对较低.我查看了源代码(JSON序列化),找不到任何奇怪的东西.所以我想知道低性能是由Tomcat还是框架本身造成的?