标签: benchmarking

如何更简洁地找到缺失值?

下面的代码检查xy是不同的值(变量x,y,z只能有值a,bc),并且如果是这样,设置z于第三字符:

if x == 'a' and y == 'b' or x == 'b' and y == 'a':
    z = 'c'
elif x == 'b' and y == 'c' or x == 'c' and y == 'b':
    z = 'a'
elif x == 'a' and y == 'c' or x == 'c' and y == 'a':
    z = 'b'
Run Code Online (Sandbox Code Playgroud)

有可能以更简洁,可读和有效的方式做到这一点吗?

python benchmarking microbenchmark

76
推荐指数
8
解决办法
3238
查看次数

秒表基准测试可以接受吗?

有没有人使用秒表基准测试,还是应该总是使用性能工具?有没有适合Java的免费工具?你用什么工具?

为了澄清我的担忧,由于操作系统调度,秒表基准测试会出错.在程序的给定运行中,操作系统可能会在您正在计时的函数中间安排另一个(或多个)进程.在Java中,如果你试图为一个线程化的应用程序计时,事情会更糟糕,因为JVM调度程序会在混合中引入更多的随机性.

基准测试时如何解决操作系统调度问题?

java benchmarking

74
推荐指数
4
解决办法
1万
查看次数

为什么Python中的range()循环比使用while循环更快?

前几天我做了一些Python基准测试,我发现了一些有趣的东西.下面是两个或多或少相同的循环.循环1大约需要循环2执行的两倍.

循环1:

int i = 0
while i < 100000000:
  i += 1
Run Code Online (Sandbox Code Playgroud)

循环2:

for n in range(0,100000000):
  pass
Run Code Online (Sandbox Code Playgroud)

为什么第一个循环这么慢?我知道这是一个微不足道的例子,但它引起了我的兴趣.range()函数有什么特别之处,它比以相同方式递增变量更有效吗?

python performance benchmarking

73
推荐指数
4
解决办法
5万
查看次数

将变量传递给函数时如何使用python timeit?

我正在努力使用timeit并且想知道是否有人有任何提示

基本上我有一个函数(我传递一个值),我想测试速度并创建它:

if __name__=='__main__':
    from timeit import Timer
    t = Timer(superMegaIntenseFunction(10))
    print t.timeit(number=1)
Run Code Online (Sandbox Code Playgroud)

但是当我运行它时,我得到了来自timeit模块的奇怪错误:

ValueError: stmt is neither a string nor callable
Run Code Online (Sandbox Code Playgroud)

如果我自己运行该功能,它可以正常工作.当我在模块中包装它时,我得到了错误(我尝试使用双引号而没有..sameoutput).

任何建议都会很棒!

谢谢!

python debugging benchmarking

73
推荐指数
3
解决办法
3万
查看次数

有没有简单的方法来基准python脚本?

通常我使用shell命令time.我的目的是测试数据是小型,中型,大型还是非常大的集合,多少时间和内存使用量.

用于linux或python的任何工具都可以做到这一点?

python unix shell benchmarking

71
推荐指数
8
解决办法
5万
查看次数

为什么这个延迟循环在没有睡眠的几次迭代后开始运行得更快?

考虑:

#include <time.h>
#include <unistd.h>
#include <iostream>
using namespace std;

const int times = 1000;
const int N = 100000;

void run() {
  for (int j = 0; j < N; j++) {
  }
}

int main() {
  clock_t main_start = clock();
  for (int i = 0; i < times; i++) {
    clock_t start = clock();
    run();
    cout << "cost: " << (clock() - start) / 1000.0 << " ms." << endl;
    //usleep(1000);
  }
  cout << "total cost: " << …
Run Code Online (Sandbox Code Playgroud)

c++ linux performance benchmarking

71
推荐指数
1
解决办法
6808
查看次数

大型公共数据集?

我正在寻找一些大型公共数据集,特别是:

  1. 已匿名化的大型示例Web服务器日志.

  2. 用于数据库性能基准测试的数据集.

任何其他指向大型公共数据集的链接都将受到赞赏.我已经了解亚马逊的公共数据集:http: //aws.amazon.com/publicdatasets/

database performance benchmarking dataset

65
推荐指数
5
解决办法
4万
查看次数

包含,存在和任何的性能基准测试

我一直在寻找之间的性能基准测试Contains,Exists以及Any方法可用List<T>.我只想出于好奇而发现这一点,因为我总是在这些中感到困惑.关于SO的许多问题描述了这些方法的定义,例如:

  1. LINQ Ring:任何()vs Contains()用于巨大的集合
  2. Linq.任何VS.Exists - 有什么区别?
  3. LINQ扩展方法 - Any()vs. Where()vs. Exists()

所以我决定自己做.我将其添加为答案.对结果有任何更多见解是最受欢迎的.我还对数组进行了基准测试以查看结果

c# performance benchmarking

60
推荐指数
3
解决办法
5万
查看次数

什么是microbenchmarking?

我听说过这个术语,但我不完全确定它是什么意思,所以:

  • 它意味着什么,它意味着什么?
  • IS和IS不是微基准测试的一些例子是什么?
  • 微基准测试的危险是什么,你如何避免它?
    • (或者这是件好事吗?)

java optimization performance benchmarking jit

58
推荐指数
4
解决办法
1万
查看次数

清除一个小整数数组:memset与for循环

有两种方法可以将整数/浮点数组清零:

memset(array, 0, sizeof(int)*arraysize);
Run Code Online (Sandbox Code Playgroud)

要么:

for (int i=0; i <arraysize; ++i)
    array[i]=0;
Run Code Online (Sandbox Code Playgroud)

显然,memset对于大型更快arraysize.但是,在什么时候memset的开销实际上大于for循环的开销?例如,对于大小为5的数组 - 哪个最好?第一个,第二个,甚至可能是未滚动的版本:

array[0] = 0;
array[1] = 0;
array[2] = 0;
array[3] = 0;
array[4] = 0;
Run Code Online (Sandbox Code Playgroud)

c performance benchmarking

56
推荐指数
3
解决办法
6万
查看次数