首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么运行一个程序会增加sysCall时间?

为什么运行一个程序会增加sysCall时间?
EN

Stack Overflow用户
提问于 2021-06-30 23:00:41
回答 1查看 300关注 0票数 0

我一直在分析一些代码,这些代码可能会在系统调用中花费大量的执行时间。对某些函数进行手动计时,并使用回调时,Call差事报告系统调用时间约为20、30或40倍,而不是简单地计时该函数(当然,这也包括CPU时间)。

收集-systime=ON用于收集每个函数的sysCall时间。

据我所知,回调是通过计算CPU指令来工作的,而对于定时系统调用,只需让操作系统完成工作而不产生干扰。我不明白为什么在sysCalls上花费的时间会增加,有人能详细说明一下吗?

在sysCalls中花费的时间是否仍然是一个有用的工具?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-01 00:23:47

您能尝试一下--collect-systime=usec--collect-systime=nsec,看看它们是否有很大的不同吗?usec可能更快一些。

当指定-收集-systime时,Val差伦将为每个客户端应用程序系统调用不同的时间系统之一。我希望这会增加相当大的开销,特别是当客户端应用程序调用了很多“快速”系统时。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68205657

复制
相关文章
「  【WEB】给你的网站增加运行时间代码  」
时候觉得添加一些东西还是挺好玩的,比如在网站底部加一个运行时间代码还是挺好玩的 <center> 今天是:<span><script language=Javascript type=text/Javascript> var day=""; var month=""; var ampm=""; var ampmhour=""; var myweekday=""; var year=""; mydate=new Date(); myweekday=mydate.getDay(); mymo
青益
2023/01/03
9310
如何计算一个程序的运行时间
#include<iostream.h> #include<time.h> void main() { clock_t start,finish; double totaltime; start=clock(); …… //把你的程序代码插入到这里面 finish=clock(); totaltime=(double)(finish-start)/CLOCKS_PER_SEC; cout<<"\n此程序的运行时间为"<<totaltime<<“秒!”<<endl; }
杨鹏伟
2020/09/11
9330
程序运行时间测试 - 使用系统函数 getrusage 获取程序运行时间
https://github.com/yaowenxu/Workplace/blob/master/timer/getrusagetimer.c
西湖醋鱼
2020/12/30
1.1K0
【Python】记录程序运行时间
转载自:blog 方法1 import datetime starttime = datetime.datetime.now() #long running endtime = datetime.datetime.now() print (endtime - starttime).seconds 方法 2 start = time.time() run_fun() end = time.time() print end-start 方法3 start = time.clock() run_fun() end
蛮三刀酱
2019/09/10
1.4K0
Python计算程序运行时间
k为datetime.timedelta类型,以上是timedelta的所有的属性和函数 利用以下代码可以获取以秒为单位的时间差,小数点后6位为微秒。
周小董
2019/03/25
1.8K0
测试python程序运行时间
经由测试,print()花费时间大约是1e-6s,decimal运行花费的时间大约是int的三倍。
py3study
2020/01/08
1K0
测试python程序运行时间
程序运行时间 C语言
要获得一个 C 语言程序的运行时间,常用的方法是调用头文件 time.h,其中提供了 clock() 函数,可以捕捉从程序开始运行到 clock() 被调用时所耗费的时间。这个时间单位是 clock tick,即“时钟打点”。同时还有一个常数 CLK_TCK,给出了机器时钟每秒所走的时钟打点数。于是为了获得一个函数 f 的运行时间,我们只要在调用 f 之前先调用 clock(),获得一个时钟打点数 C1;在 f 执行完成后再调用 clock(),获得另一个时钟打点数 C2;两次获得的时钟打点数之差 (C2-C1) 就是 f 运行所消耗的时钟打点数,再除以常数 CLK_TCK,就得到了以秒为单位的运行时间。
叶茂林
2023/07/28
4750
【PAT乙级】程序运行时间
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
喜欢ctrl的cxk
2019/11/08
5180
go实现程序运行时间
package main import (    "fmt"    "time" ) type FuncType func() func main() {    time := runFuncByConsumptionTime(test)    fmt.Printf("The consumption time is:%d ms \n", time) } func test() {    time.Sleep(1*time.Second) } func runFuncByConsumptionTim
仙士可
2022/03/28
4990
为什么在 Eclipse 中,运行本程序却是另外一个程序的结果?
你使用 Eclipse 敲代码的时候,有没有遇到过这样一种情况,明明我点击运行本程序结果却是另外一个程序的结果?这是为什么呢?话不多说,我们从实际案例来分析错误原因。
白鹿第一帅
2021/03/02
2.6K0
为什么在 Eclipse 中,运行本程序却是另外一个程序的结果?
浅析syscall
最近在面试一些人的免杀问题时总会谈到syscall,但对于一些检测、细节、绕过检测反而没有说的很清楚,本文简单总结一些syscall的方式,来帮你唬过面试官。
鸿鹄实验室
2022/02/17
3.7K0
浅析syscall
为什么模型复杂度增加时,模型预测的方差会增大,偏差会减小?
编辑:忆臻 https://www.zhihu.com/question/351352422 本文仅作为学术分享,如果侵权,会删文处理
小白学视觉
2019/11/07
4.1K0
为什么程序员要会linux
三大操作系统概述 windows, macOS, linux是当今主流三大操作系统,普通用户一般是选择windows或macOS, linux主要是占据服务器领域市场。这三个操作系统给人的感觉是:windows经济适用,档次较低; macOS高端大气上档次; Linux是极客专用,一个黑乎乎的窗口,各种花花绿绿的指令在闪烁,对着键盘噼里啪啦一通乱敲,就能窃取各种机密... 普通用户对于操作系统的选择很简单,经济实用选windows,钱多讲究格调选macOS, 毕竟普通用户切换操作系统的成本并不大。而程序员就
章鱼喵
2018/06/27
1.8K0
1026. 程序运行时间(15)
要获得一个C语言程序的运行时间,常用的方法是调用头文件time.h,其中提供了clock()函数,可以捕捉从程序开始运行到clock()被调用时所耗费的时间。这个时间单位是clock tick,即“时钟打点”。同时还有一个常数CLK_TCK,给出了机器时钟每秒所走的时钟打点数。于是为了获得一个函数f的运行时间,我们只要在调用f之前先调用clock(),获得一个时钟打点数C1;在f执行完成后再调用clock(),获得另一个时钟打点数C2;两次获得的时钟打点数之差(C2-C1)就是f运行所消耗的时钟打点数,再除以常数CLK_TCK,就得到了以秒为单位的运行时间。
AI那点小事
2020/04/20
6510
1026. 程序运行时间(15)
程序运行时间定位函数Stopwatch
话说上个月分享了一个《我是如何定位和处理大数据容易报错》,后有小伙伴后台私信我说计算程序运行时间不用这么复杂,可以用Stopwatch进行时间定位。Stopwatch在JAVA的时候好像用过,不知道原来C#也有。那就上网看看资料分享一下给大家吧。
谭广健
2022/10/05
4440
1026 程序运行时间 (15 分)
除以100的四舍五入有没有考虑到,因此在最开始虽然输入是整数,但是也要赋值double。
可爱见见
2019/09/09
6820
1026 程序运行时间 (15 分)
c++怎么计算程序运行的时间
使用clock函数获得程序开始和结束的时间,相减就能得到程序运行的时间。clock()是C/C++中的计时函数,而与其相关的数据类型是clock_t。在MSDN中,查得对clock函数定义如下:clock_t clock(void) ;简单而言,就是该程序从启动到函数调用占用CPU的时间。这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock);若挂钟时间不可取,则返回-1。其中clock_t是用来保存时间的数据类型。
杨鹏伟
2020/09/11
3.3K0
java如何计算程序运行时间
long  startTime = System.currentTimeMillis();    //获取开始时间
用户7886150
2021/04/28
3.2K0
1026 程序运行时间 (15 分)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
韩旭051
2019/11/08
5450
C++记录程序运行时间
方式一 #include<iostream> #include<ctime> using namespace std; int main() { clock_t startTime,endTime; // 计时开始 startTime = clock(); for (int i = 0; i < 2147483640; i++) { i++; } // 计时结束 endTime = clock(); cout << "运
ClearSeve
2022/02/10
8720

相似问题

为什么重新运行火花作业会增加运行作业所需的时间?

11

为什么使用广播会增加时间?

11

为什么增加并行度会增加查询时间

11

为什么ImageResizer会增加加载时间?

11

为什么增加减速器的数量会增加运行减少阶段的时间?

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文