草庐IT

cpu-time

全部标签

c++ - 如何从 boost::timer::cpu_timer 获取耗时(以秒为单位)?

以下粗略代码,基于thedocumentation,给我从boost中提供的计时器对象中耗时(以秒为单位)。boost::timer::cpu_timertimer;//...dosomework...constboost::timer::nanosecond_typeoneSecond(1000000000LL);returntimer.elapsed().user/oneSecond;这个方法的问题是我的代码中有这个令人不舒服的魔数(MagicNumber)。boost中是否有某种方法可以从nanosecond_type值中为我提供elapsed().user调用中可用的elaps

c++ - 为什么我的 CUDA 实现与我的 CPU 实现一样快

我在标准C++和CUDA中创建了一些代码来对1300x1300灰度图像和15x15内核进行二维卷积。两个版本:中央处理器:#include#include#defineN1300#defineK15#defineK2((K-1)/2)templateinlineintindex(intx,inty){returnx*my+y;}intmain(){double*image=newdouble[N*N];double*kernel=newdouble[K*K];double*result=newdouble[N*N];for(intx=0;x=0andx+i-K2=0andy+j-K2(

c++ - 将 long int 转换为 const time_t

我有变量tmit:longtmit;。我在这段代码中出错:printf("Time:%s",ctime(&tmit));错误说:无法将参数“1”的“longint*”转换为“consttime_t*{akaconstlonglongint*}”到“char*ctime(consttime_t*)”我的问题是,如果我想查看日期,如何在不丢失任何有关时间的信息的情况下将long转换为time_t或如何更改此代码。我正在研究这个answer,但我得到了错误。 最佳答案 一般情况下,您不能这样做,因为std::time_t之间不需要有任何合

c++ - 从编译时已知的日历日期创建 `std::chrono::time_point`

This答案显示了如何将字符串解析为std::chrono::time_point,如下所示:std::tmtm={};std::stringstreamss("Jan9201412:35:34");ss>>std::get_time(&tm,"%b%d%Y%H:%M:%S");autotp=std::chrono::system_clock::from_time_t(std::mktime(&tm));如果我想从一个(公历)日历日期创建一个std::chrono::time_point,其年、月和日在编译时已知,是否有任何比上面建议的从字符串解析它更简单的方法?

c++ - CPU 内部并行化

我一直在研究Xorshift*随机数生成器,我遇到了this探索它们的属性。从该站点引用(强调我的):Howcanaxorshift64*generatorbeslowerthanaxorshift1024*generator?Dependencies.Thethreexor/shiftsofaxorshift64*generatormustbeexecutedsequentially,aseachoneisdependentontheresultofthepreviousone.Inaxorshift1024*generatortwoofthexor/shiftsarecomplet

c++ - 当我运行多个与 CPU 核心/线程数相匹配的线程时,每个线程会在单独的核心/线程上运行吗?

线程由std::async(func)启动。如果不行,我该怎么做? 最佳答案 该标准不保证您的线程将在哪些内核/超线程上运行。这取决于操作系统。如果您想获得平台特定(不可移植),那么有各种API来控制线程亲和性-例如(例如)pthread_setaffinity_np在Linux上。但我个人建议将其留给操作系统-它很可能会做得很好,除非您有非常的特定需求。 关于c++-当我运行多个与CPU核心/线程数相匹配的线程时,每个线程会在单独的核心/线程上运行吗?,我们在StackOverflow

C++::Boost::posix_time(经过的秒数。经过的小数秒)

我正在尝试对两个起初看起来并不难的问题给出答案。Q1:如何获取UTC.Now()和给定日期之间经过的秒数?A1:就像下面的代码一样!Q2:我如何确定自上次“完整”秒以来已经过去了多少小数秒?我想打印“total_elapsed_seconds.fractional_seconds”->“1234124.45”。我怎么做?A2:???#include#include#includeusingnamespacestd;usingnamespaceboost::gregorian;usingnamespaceboost::posix_time;voidmain(){ptimeJan1st19

c++ - 将 time_t 转换为 int

我想将给定时间转换为epoch(time_t),反之亦然。谁能告诉我这是什么例程或算法?谢谢更新epoch_strt.tm_sec=0;epoch_strt.tm_min=0;epoch_strt.tm_hour=0;epoch_strt.tm_mday=1;epoch_strt.tm_mon=1;epoch_strt.tm_year=70;epoch_strt.tm_isdst=-1;doublensecs=difftime(curtime,basetime);//currenttimefromsystem,Iconverrtingittostructtm但出于某种原因,这总是返回3

CISC&RISC? CPU架构有哪些? x86 & ARM?

编者按:鉴于笔者水平有限,文中难免有不当之处,还请各位读者海涵。是为序我猜,常年混迹CSDN的同学应该不会没听说过CPU吧?但你真的了解CPU吗?那笔者问你CPU有哪些架构呢?如果你对你的答案不是很确定,那刚好,不妨跟随笔者来大致了解一下吧~下面开始正文。CISC/RISC照例,先抛出几个问题,带着问题来阅读本文,效果会更好。目前市面上有哪些CPU厂商呢?他们所采用的CPU架构又是哪些呢?不同的CPU架构下面又有哪些CPU品牌呢?话不多说,让咱们来一一解密。先说说CPU厂商,在PC和服务器领域,Intel和AMD是耳熟能详的,在移动消费领域有基于ARM架构进行设计的TI、ST、NXP等等,它们

c++ - 使用 Cairo 绘图时有什么方法可以加快/减少 CPU 使用率?

我写了一个应用程序,它使用Cairo在屏幕上绘制东西(准确地说是在Gtk::DrawingArea上)。它需要经常重绘一切。事实证明,尽管绘制的图形非常简单,但X服务器在重绘时会占用大量CPU,并且应用程序运行速度非常慢。有什么办法可以加快速度吗?或者也许我不应该使用DrawingArea和其他一些小部件?我画的是一组矩形,用户可以通过鼠标拖动来移动它们。整个绘图是使用on_expose_event完成的,但是随着鼠标指针四处移动(按下按钮),我调用queue_draw()来刷新绘图。 最佳答案 只需检查几件事:你的画是在expos