这是一个示例代码:
public class TestIO{
public static void main(String[] str){
TestIO t = new TestIO();
t.fOne();
t.fTwo();
t.fOne();
t.fTwo();
}
public void fOne(){
long t1, t2;
t1 = System.nanoTime();
int i = 10;
int j = 10;
int k = j*i;
System.out.println(k);
t2 = System.nanoTime();
System.out.println("Time taken by 'fOne' ... " + (t2-t1));
}
public void fTwo(){
long t1, t2;
t1 = System.nanoTime();
int i = 10;
int j = 10;
int k = j*i;
System.out.println(k);
t2 = System.nanoTime();
System.out.println("Time taken …Run Code Online (Sandbox Code Playgroud) 我正在对一些SSE代码(将4个浮点数乘以4个浮点数)与传统的C代码进行基准测试.我认为我的基准代码在某种程度上必须是错误的,因为它似乎说非SSE代码比SSE快2-3倍.
有人能告诉我下面的基准测试代码有什么问题吗?并且可能建议另一种方法准确地显示SSE和非SSE代码的速度.
#include <time.h>
#include <string.h>
#include <stdio.h>
#define ITERATIONS 100000
#define MULT_FLOAT4(X, Y) ({ \
asm volatile ( \
"movaps (%0), %%xmm0\n\t" \
"mulps (%1), %%xmm0\n\t" \
"movaps %%xmm0, (%1)" \
:: "r" (X), "r" (Y)); })
int main(void)
{
int i, j;
float a[4] __attribute__((aligned(16))) = { 10, 20, 30, 40 };
time_t timer, sse_time, std_time;
timer = time(NULL);
for(j = 0; j < 5000; ++j)
for(i = 0; i < ITERATIONS; ++i) {
float b[4] …Run Code Online (Sandbox Code Playgroud) 我想在服务器中运行时测量.Net应用程序的性能,尤其是ASP.Net中的Web应用程序.
我需要知道任何基准工具使我知道我的源代码可以优化.只要基准工具可以帮助我优化网站的性能.
有关获得仅测量.Net的基准工具的建议吗?请列出商业和免费应用程序或任何开源基准测试工具.
我正在尝试将c与ocaml进行基本的微基准比较.我听说对于斐波纳契程序,c和ocaml大致相同,但我无法复制这些结果.我用gcc -O3 fib.c -o c-code编译c代码,并用ocamlopt -o ocaml-code fibo.ml编译OCaml代码.我通过使用时间./c-code和时间./ocaml-code计时.每次我这样做OCaml需要0.10秒,而c代码每次约为0.03秒.除了这是一个天真的基准,有没有办法让ocaml更快?谁能看到他们电脑上的时代是什么?
C
#include <stdio.h>
int fibonacci(int n)
{
return n<3 ? 1 : fibonacci(n-1) + fibonacci(n-2);
}
int main(void)
{
printf("%d", fibonacci(34));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
OCaml的
let rec fibonacci n = if n < 3 then 1 else fibonacci(n-1) + fibonacci(n-2);;
print_int(fibonacci 34);;
Run Code Online (Sandbox Code Playgroud) 我需要跟踪php函数运行时间以找到Time to First Byte问题?
最近我一直在面对"X小时前","X天前"功能的网站.(包括stackoverflow)
就像,Anil在一个小时前玩了一场比赛.两天前Anil平了.Anil刚才发表了这条评论.
我知道可以通过一个小函数轻松完成,该函数计算到当前时间的旧时间,以秒(或毫秒)获得差异并相应地返回字符串值.
我想问的是;
PS.我不是在寻找脚本.
我正在寻找一种压力测试Web应用程序的好方法.基本上我正在使用可编写脚本的界面搜索类似于ab的内容.理想情况下,我想定义一些任务,模拟webapp上的不同操作(注册帐户,登录,搜索等),该工具运行一堆执行这些任务*的进程.结果我想要"平均请求时间","最慢请求(每个uri)"等等.
*:要从客户端带中独立,我将从一些EC2实例运行这些测试,所以在一个完美的世界中,该工具已经支持这个 - 否则我将脚本使用boto.
python benchmarking web-applications stress-testing performance-testing
我有:像这样的方法:
@GenerateMicroBenchmark
public static void calculateArraySummary(String[] args) {
// create a random data set
/* PROBLEM HERE:
* now I measure not only pool.invoke(finder) time,
* but also generateRandomArray method time
*/
final int[] array = generateRandomArray(1000000);
// submit the task to the pool
final ForkJoinPool pool = new ForkJoinPool(4);
final ArraySummator finder = new ArraySummator(array);
System.out.println(pool.invoke(finder));
}
private static int[] generateRandomArray(int length) {
final int[] array = new int[1000000];
final Random random = new Random();
for (int i …Run Code Online (Sandbox Code Playgroud) 什么是对redis-cluster进行基准测试的正确方法(最近在3.0 RC中发布).AFAIK,redis-benchmark实用程序仅访问群集的一个节点.
编辑:(详细信息)我没有任何群集的单个redis实例提供了~90 k设置/获取操作的吞吐量,但群集设置失败了很长时间.
设置1:8核心机器运行3个主站+ 3个从站的集群(全部在同一台机器上)我还在同一台机器上运行3个基准测试实用程序.每个主节点的吞吐量降至25 k.
这让我觉得我可能会为我的机器上的核心数量运行太多的进程.
设置2:我更新设置以拥有3个主设备和0个从设备.有趣的是,这也无济于事,每台机器的吞吐量仍为25 k
我正在运行的基准测试命令是:redis-benchmark-7000 -n 10000000 -t set,get
在这方面的任何帮助将不胜感激.
我试图在尝试优化函数之前尝试执行函数.(代码是Elixir,但我正在使用Erlang :timer.tc.)
我的一般方法是"多次运行,然后计算平均持续时间." 但是,当我运行它时,平均值会急剧下降(达到一定程度).
一个例子:
some_func = fn ->
# not my actual function; it's a pure function,
# but exhibits the same speedup
:rand.uniform()
end
run_n_times = fn (count, func) ->
Enum.each(1..count, fn (_i) ->
func.()
end)
end
n = 20
{microseconds, :ok} = :timer.tc(run_n_times, [n, some_func])
IO.puts "#{microseconds / n} microseconds per call (#{microseconds} total for #{n} calls)"
Run Code Online (Sandbox Code Playgroud)
增加值的输出n是这样的(轻度格式化):
174.8 microseconds per call (3496 total for 20 calls )
21.505 microseconds per call …Run Code Online (Sandbox Code Playgroud)