相关疑难解决方法(0)

在linux上快速流逝的时间

我正在寻找一种快速的方法来获取C中两次函数调用之间的经过时间.

我考虑使用jiffies,但它们不在用户区中.那么,我应该使用getimeofday()还是有任何最快的方法来做到这一点.

我只对两次调用之间的缩短时间感兴趣,以便在基准测试工具中使用.

c linux time

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

C循环优化有助于最终分配

因此,对于我在计算机系统课程中的最终作业,我们需要优化这些forloops,使其比原始版本更快.使用我们的linux服务器,基本等级不到7秒,完整等级不到5秒.我在这里的代码大约需要5.6秒.我想我可能需要以某种方式使用指针来使它更快,但我不是很确定.任何人都可以提供我的任何提示或选项吗?非常感谢!

QUICKEDIT:文件必须保持50行或更少,我忽略了教师所包含的那些注释行.

#include <stdio.h>
#include <stdlib.h>

// You are only allowed to make changes to this code as specified by the comments in it.

// The code you submit must have these two values.
#define N_TIMES     600000
#define ARRAY_SIZE   10000

int main(void)
{
    double  *array = calloc(ARRAY_SIZE, sizeof(double));
    double  sum = 0;
    int     i;

    // You can add variables between this comment ...
    register double sum1 = 0, sum2 = 0, sum3 = 0, sum4 = 0, sum5 = 0, …
Run Code Online (Sandbox Code Playgroud)

c optimization loops compiler-optimization debug-mode

8
推荐指数
2
解决办法
5650
查看次数

golang中的磁盘写性能

在下面的代码中,我使用golang中的bufio将消息写入文件.我的磁盘I/O速度约为1000M/s.奇怪的是,当写入文件的大小小于20G时,写入速度约为每秒800M~900M,略低于I/O速度.但是,当文件大小超过21G时,我发现写入速度大约是每秒200M,远低于I/O速度.我不知道为什么,任何人都可以帮助我?谢谢.

package main

import "fmt"
import (
    "os"
    "time"
    "flag"
    "bufio"
)

func main() {
    var pRound = flag.Int64("round", 3500000, "loop round")
    flag.Parse()

    var message string
    for i := 0; i < 1024; i++ {
        message += "1234567890"
    }
    message += "\n"

    f, err := os.OpenFile("server", os.O_CREATE|os.O_APPEND|os.O_RDWR, 0666)
    if err != nil {
        fmt.Println(err)
        return
    }
    w := bufio.NewWriter(f)

    var i int64 = 0
    round := *pRound
    start := time.Now()
    for i = 0; i < round; i++ {
        w.WriteString(message) …
Run Code Online (Sandbox Code Playgroud)

io performance file fwrite go

8
推荐指数
2
解决办法
2687
查看次数

当我输入"%% time"时,这些参数在jupyter笔记本中意味着什么?

  1. 我在我的jupyter笔记本中创建了一个新单元格.
  2. 我输入%%time新单元格的第一行.
  3. 我在第二行输入了一些代码.
  4. 我运行这个单元格并获得如下信息

    CPU时间:用户2分8秒,系统:14.5秒,总计:2分22秒

    停留时间:1分29秒

我的问题是这些参数意味着什么?CPU时间,用户,系统,总数(我认为这意味着用户+总数),挂起时间

parameters time jupyter-notebook

8
推荐指数
1
解决办法
1566
查看次数

'cmake rebuild_cache' for*just*a subdirectory?

I have an issue with the generation of makefiles stage of CMake being slow which is similar to this unanswered question:

CMake is slow to generate makefiles

My project is made up of a top level CMakeLists.txt file which uses add_subdirectory() to add various subprojects for individual library and executable components.

For a given component, the CMakeLists.txt file contains something like:

add_library(mylib SHARED
  sourceFile1.cpp
  sourceFile2.cpp
  ...
)
Run Code Online (Sandbox Code Playgroud)

I can build just the contents of that directory using:

make mylib
Run Code Online (Sandbox Code Playgroud)

If …

build-process build cmake meson-build

7
推荐指数
1
解决办法
2322
查看次数

php中的cpu_get_usage?

我创建了一个基准类,允许用户插入例如

$timer->checkpoint('1');
Run Code Online (Sandbox Code Playgroud)

检查一些代码的时间,内存消耗等......如果她/他想测试它,她/他必须插入代码的末尾

$result=$timer->result();
Run Code Online (Sandbox Code Playgroud)

这给公共函数result()提供了一些数据,例如内存使用(使用memory_get_peak_usage)和时间消耗(microtime()).

这对我来说都很好.

但是,如何使用现有内置php函数的组合来获取可被视为CPU消耗的值

使用内置函数计算在某段代码上花费了多少时间非常容易,但我一直在想办法如何获得某段代码的CPU消耗.

php cpu benchmarking

6
推荐指数
1
解决办法
2555
查看次数

流水线sed调用和多个sed表达式之间的效率是否存在差异?

我对bash中的sed效率有疑问.我有一系列流水线的sed语句,例如:

var1="Some string of text"

var2=$(echo "$var1" | sed 's/pattern1/replacement1/g' | sed 's/pattern2/replacement2/g' | sed 's/pattern3/replacement3/g' | sed 's/pattern4/replacement4' | sed 's/pattern5/replacement5/g')
Run Code Online (Sandbox Code Playgroud)

假设没有输入依赖于早期sed管道的编辑输出,我最好用表达式语句编写上面的脚本吗?例如:

var2=$(echo "$var1" | sed -e's/pattern1/replacement1/g' -e's/pattern2/replacement2/g' -e's/pattern3/replacement3/g' -e's/pattern4/replacement4/g' -e's/pattern5/replacement5/g')
Run Code Online (Sandbox Code Playgroud)

这里有效率吗?

regex bash performance sed

5
推荐指数
2
解决办法
419
查看次数

在没有加速FFT的情况下增加占用率

问题

我必须计算许多傅里叶变换.我想与我的许多内核并行执行这些操作.请注意,我不想要并行FFT算法,我只想发布许多令人尴尬的并行FFT.

我发现,当我的CPU使用率上升时,我的完成时间不会减少.

我们创建一些随机数据

In [1]: import numpy as np

In [2]: x = np.random.random(10000000)  # some random data
Run Code Online (Sandbox Code Playgroud)

并计算一次计算FFT的时间和计算一次FFT所需的时间.

In [3]: %time _ = np.fft.rfft(x)        # cost of one run
CPU times: user 589 ms, sys: 23.9 ms, total: 612 ms
Wall time: 613 ms

In [4]: %time _ = np.fft.rfft(x)        # there is some speedup from mulitple runs
CPU times: user 365 ms, sys: 12.4 ms, total: 378 ms
Wall time: 381 ms
Run Code Online (Sandbox Code Playgroud)

我们按顺序在一系列数据上运行它

In [5]: %time …
Run Code Online (Sandbox Code Playgroud)

python multithreading numpy fft scipy

5
推荐指数
1
解决办法
125
查看次数

如何计算可执行文件的运行时间?

有没有办法计算可执行文件的准确执行时间?

具体来说,我正在寻找一种可用于对使用 Matlab 编译的可执行文件进行计时的方法。我指的不是tictoc

matlab executable runtime

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

如何在 ubuntu 中计算 C 程序的运行时间

我试过 >>time ./a.out

得到了

real 0m0.035s

user 0m0.008s

sys  0m0.004s
Run Code Online (Sandbox Code Playgroud)

它的真正含义是什么?

当我重复我得到

real 0m0.012s

user 0m0.000s

sys  0m0.012s
Run Code Online (Sandbox Code Playgroud)

如果我每次得到不同的输出时都尝试多次,为什么?我该如何解决。

c gcc

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

执行perl测试的时间是多少?

我有大量基于Selenium的perl Testscripts.完成测试后,它会打印一个日志,如下所示.这指定了什么?如何计算下面的时间和基于什么

Files=1, Tests=17, 209 wallclock secs ( 0.13 usr +  0.01 sys =  0.14 CPU)
Run Code Online (Sandbox Code Playgroud)

perl automation

2
推荐指数
1
解决办法
90
查看次数

使gprbuild默认为并行构建?

如何使gprbuild默认执行并行构建?它不再是1990年了,拥有所有这些备用内核,并且不想继续添加-j0到命令行.

根据我对文档的理解,这应该有效:

package Builder is
    for Default_Switches("Builder") use ("-j0");
end Builder;
Run Code Online (Sandbox Code Playgroud)

......但它没有; 它被忽略了.我已经看到了Default_Switches("Ada")应该起作用的互联网的提及,但所有这一切都是将--jobs选项传递给GNAT,这当然是错误的.

ada

2
推荐指数
1
解决办法
300
查看次数

C++:Linux中的时序(使用clock())不同步(由于OpenMP?)

在程序的顶部和末尾,我使用clock()来计算程序完成所需的时间.不幸的是,它的报告时间似乎只有一半.我用"time"命令仔细检查了这一点.

我的计划报告:在45.86s完成

时间命令报告:实际0m22.837s用户0m45.735s sys 0m0.152s

使用我的手机定时,它在23秒完成(又名:"真实"时间)."用户"时间是所有线程的总和,因为我使用的是OpenMP.(你可以在这里阅读:'真实','用户'和'sys'在时间(1)的输出中是什么意思?)

那么,为什么clock()报告的是"用户"时间而不是"真实"时间?我应该使用不同的函数来计算程序运行的时间吗?

作为旁注,Windows的clock()按预期工作,并在"实际"时间内报告.

c c++ time clock openmp

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