我发现谷歌的微基准项目Caliper非常有趣,但文档仍然(除了一些例子)完全不存在.
我有两种不同的情况需要影响Jiper Caliper的命令行启动:
我看到一些关于添加这样的功能的讨论,但我不能断定它是否已被添加,在这种情况下语法变成了什么?
一些示例或指向Java文档的指针(假设这在某处都有记录)等将非常感谢!
我正在做一个关于如何在处理器中添加内核影响计算速度的科学公平项目.我编写了自己的基准测试,用Eclipse平台在Java中完成了这个.我的问题是,当程序运行时,计算机只使用1个处理核心所花费的时间与使用全部计算机所花费的时间之间的差别很小.有没有办法让我可以获得程序使用额外的处理核心,以便它在6个核心上运行得更快?这是代码的副本:
import java.util.Calendar;
import java.text.SimpleDateFormat;
import java.util.Scanner;
import java.text.*;
public class SciFair
{
/**
* N. Roberts
* 1/13/11
* Science Fair 2011
*/
public static String now(String dateFormat) {
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
return sdf.format(cal.getTime());
}
public static void main(String[] args)
{
Scanner dataIn = new Scanner(System.in);
DecimalFormat timeInSeconds = new DecimalFormat("##.###");
System.out.println("Are you ready to begin the benchmark? ");
String response = dataIn.nextLine();
double num = 5832544225416546445465465465465465448412168546725.2655236355335649499923164684654345649874181221173246189579162421579584572121334216957951462175918894199993642446445548521652158975;
double endNum = 0;
if(response.equals("Yes") || …Run Code Online (Sandbox Code Playgroud) 什么是衡量v8或spidermonkey等javascript引擎性能的准确方法?它应该至少与一个评估和另一个评估没有很大的偏差,可能允许在不同操作系统和不同硬件配置上的不同javascript引擎之间进行排名.
我的第一次尝试是在一个没有任何内容的网页上,我在网页浏览器中加载了该页面.然后我尝试在Google Chrome的javascript控制台中执行此代码,结果非常不同,您将在结果中看到:
mean = function (distr) {
var sum = 0;
for (obs in distr) {
sum += distr[obs];
};
return sum / distr.length;
};
stdev = function (distr,mean) {
var diffsquares = 0;
for (obs in distr) {
diffsquares += Math.pow(distr[obs] - mean , 2);
};
return Math.sqrt((diffsquares / distr.length));
};
var OPs = 1000000;
var results = [];
for (var t = 0; t < 60; t++) {
var start = (new Date()).getTime();
for(var i = 0.5; …Run Code Online (Sandbox Code Playgroud) 我正在做一个涉及比较编程语言的项目.我在计算Ackermann函数.我测试了Java,Python和Ruby,并获得了10到30毫秒的响应.但C++似乎需要125毫秒.这是正常的,还是一个问题gettimeofday()? Gettimeofday()是时候了.
我正在测试(虚拟)Ubuntu Natty Narwhal 32位.我不是短处理能力(四核2.13 GHz Intel Xeon).
我的代码在这里:
#include <iostream>
#include <sys/time.h>
using namespace std;
int a(int m,int n) {
if (m == 0) {
return n + 1;
} else if (m > 0 and n == 0) {
return a(m-1,1);
} else if (m > 0 and n > 0) {
return a(m-1,a(m,n-1));
}
}
int main() {
timeval tim;
gettimeofday(&tim,NULL);
double t1 = tim.tv_usec;
int v = a(3,4);
gettimeofday(&tim,NULL);
double t2 = …Run Code Online (Sandbox Code Playgroud) 我写了一个简单的程序,它包含了一个巨大的切片中包含的所有值.当我使用10倍大的切片时,我预计会有10倍的性能下降.但是,在执行提供的测试时,存在巨大的性能差距.程序输出如下:
oadam@oadam-Latitude-E6510:~/$ go test -bench .
testing: warning: no tests to run
PASS
BenchmarkLittle 2000000000 0.11 ns/op
BenchmarkBig 1 2417869962 ns/op
ok _/home/oadam/ 5.048s
Run Code Online (Sandbox Code Playgroud)
和代码
package main
import (
"math/rand"
"testing"
)
const (
little = 5000000
big = 50000000
)
var a = make([]uint32, big)
func benchOR(b *testing.B, l int) {
for i := 0; i < l; i++ {
a[i] = rand.Uint32()
}
var result uint32
for i := 0; i < l; i++ {
result |= a[i] …Run Code Online (Sandbox Code Playgroud) 我决定看看迭代一系列哈希需要多长时间.以下是代码:
pairs = [{name: "firstname", value: "string"},{name: "lastname", value: "string"},{name: "country", value: "string"},{name: "city", value: "string"},{name: "state", value: "string"},{name: "company", value: "string"},{name: "year", value: "string"},{name: "political_affiliation", value: "string"},{name: "social_security_number", value: "string"}] * 1000
blank = {}
start = Time.now
pairs.each do |pair|
blank[pair[:name]] = pair[:value]
end
p Time.now - start
Run Code Online (Sandbox Code Playgroud)
通过从循环之前的当前时间减去循环之后的当前时间来计算时间.
根据代码中的数学计算,这是YARV 2.1.1中计算所花费的时间:
0.001962017
Run Code Online (Sandbox Code Playgroud)
这是Rubinius 2.2.6花了多长时间:
0.022598
Run Code Online (Sandbox Code Playgroud)
和jRuby 1.7.12
0.022317
Run Code Online (Sandbox Code Playgroud)
据说Rubinius和jRuby比YARV具有性能优势.为什么他们花费的时间几乎是执行相同基本操作的12倍?这是正常的还是我有不正确的配置?
我有兴趣在MySQL和Cassandra中基于相同的数据集并仅使用一个节点进行一些性能查询测试
我想要的是检查Cassandra和MySQL中查询的响应时间,以查找不同类型的数据量以及多个数据访问.(试着强调数据库).
有什么更好的方法呢?什么是最合适的基准?
mysql benchmarking performance-testing cassandra database-performance
我正在学习如何使用JMH对事物进行微观标记.我开始看似简单的东西:StringBuildervs的字符串连接String +=.
根据我的理解,我应该创建一个State包含一个实例的对象,StringBuilder因为我不想对它的构造函数进行基准测试(我也不想每次迭代都是空的).同样适用于String +=测试 - 我希望我的String对象State与新字符串连接.
这是我的代码:
@State(Scope.Thread)
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
public class Test {
@State(Scope.Thread)
public static class BenchmarkState {
public StringBuilder builder;
public String regularString;
@Setup(Level.Iteration)
public void setup() {
builder = new StringBuilder();
regularString = "";
}
}
@Benchmark
public String stringTest(BenchmarkState state) {
state.regularString += "hello";
return state.regularString;
}
@Benchmark
public String stringBuilderTest(BenchmarkState state) {
state.builder.append("hello");
return state.builder.toString();
}
public static void main(String[] …Run Code Online (Sandbox Code Playgroud) 比较各种C编译器的C优化器的标准基准是什么?
我对ARM基准测试(或可以移植到ARM的基准测试)特别感兴趣。