linux中recvfrom读取速度,Linux中的select、sendto、recvfrom的系统开销
未完成
测试环境为8核Intel Core i7 860 2.8GHz,内存8Gb 1333MHz,网卡是100Mbps。内核版本2.6.18。
下面的统计都是使用long sys_clock_gettime (CLOCK_PROCESS_CPUTIME_ID, struct timespec *tp)完成的,计时精度为纳秒(ns)。
得出的时间并不是很精确,只是对开销的数量级做一个参考。
函数名称:long sys_clock_gettime (clockid_t which_clock, struct timespec *tp);
测试参数:which_clock=CLOCK_PROCESS_CPUTIME_ID
开销:400ns左右,换算下来要1120个时钟周期,着实不小。
函数名称:int select(int nfds, fd_set *readfds, fd_set *writefds,fd_set *exceptfds, struct timeval *timeout);
测试参数:只在 fd_set *readfds有一个句柄,timeout=0,立即返回。
开销:1000ns左右,约2800个时钟周期。
函数名称:ssize_t sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen);
测试参数:s是一个已创建的UDP socket,发送长度为1k字节
开销:1100ns左右,这个时间只是把数据拷贝给协议栈的开销,而不是完整的发送时间。
函数名称:ssize_t recvfrom(int s, void *buf, size_t len, int flags,struct sockaddr *from, socklen_t *fromlen);
测试参数:s是一个已创建的UDP socket,接收长度为1k字节的数据。
开销:待更新
linux中recvfrom读取速度,Linux中的select、sendto、recvfrom的系统开销相关推荐
- linux中recvfrom读取速度,Linux系统调用-- recv/recvfrom 函数详解
Linux系统调用-- recv/recvfrom函数详解 功能描述: 从套接字上接收一个消息.对于recvfrom,可同时应用于面向连接的和无连接的套接字.recv一般只用在面向连接的套接字,几乎等 ...
- .NET Core类库项目中如何读取appsettings.json中的配置
这是一位朋友问我的问题,写篇随笔回答一下.有2种方法,一种叫丑陋的方法 -- IConfiguration ,一种叫优雅的方法 -- IOptions . 1)先看丑陋的方法 比如在 RedisCli ...
- linux上jar包无法识别本地文件格式,解决使用maven将项目打包成jar包后运行在linux系统中无法读取jar包中文件的问题...
哈哈,之前计划的每周至少更新一个博客的计划又因为各种原因都泡汤了.看来坚持真得是一件挺让人头疼的问题,无论如何,从这周开始接下来每周一定要至少更新一个技术博客,欢迎大家监督! 好,言归正传.之前前几周 ...
- qt linux excel文件读取显示,qt中写入excle?QT怎样读写excel-CSDN论坛
如何通过Qt 创建一个excel文件 首先,我们打开前文所的工目. 然后,我们在界面设计,加入一个label用于显示,要保存的目录.注意设置下相应的界面布局. 然后,我们在mainwindow.h类中 ...
- linux通过串口读取文件,Linux 串口读写(二)
例子 下面是一个简单的读取串口数据的例子,使用了上面定义的一些函数和头文件 /************************************************************* ...
- linux 内存block读取6,Linux硬盘
和文件系统维护
1. 分区 MBR(Master Boot Recorder)主引导分区仅提供最多4个分区,主分区(Primary,P)与扩展分区(Extended,E),如3P+1E,扩展分区最多只好 有1个. 2 ...
- linux raw 分区 读取,在linux上使用raw device方式
在linux上使用raw device一般有两个方式,下面分别测试一下: 第一种方式是非lvm方式,直接使用partion方式如下: 一,创建分区 [root@localhost ~]# fdisk ...
- linux rsync删文件速度,Linux下使用rsync最快速删除大量文件的方法
要在Linux下删除海量文件的情况,需要删除三层哈希目录下的几十万个文件.这个时候,删除命令rm -rf * 就不好用了,因为要等待的时间太长.所以必须要采取一些非常手段.我们可以使用rsync来实现 ...
- java 解析dat_JAVA中怎么读取DAT文件中的内容
匿名用户 1级 2016-12-23 回答 DAT估计是个二进制 或者文本 跟普通读取文件是一样的 读取上来 你再对文件格式进行拆分 首先你要了解 它的格式是什么 你可以用 NOTEPAD++或者 ...
最新文章
- 跨界 | 隐形AI与设计
- python 编译器重构_Python之父考虑重构Python解释器
- Python 中的 import 与 from import 区别
- 欢乐纪中A组周六赛【2019.4.13】
- 【2016.11.17】HTML学习笔记第二天
- 云南林业计算机单招试题,2016年云南林业职业技术学院单招的模拟题含解析-.docx...
- Java开发快速上手
- w ndows10电脑配置看哪里,win10对电脑配置要求及如何查看电脑配置
- asp.net gridview 模板列 弹出窗口编辑_Mac桌面多窗口整理工具Moom,使用教程
- c语言 文学研究助手 源程序,数据结构文学研究助手
- 计算机键盘重复设置,电脑键盘错乱怎么恢复 一键快速重新设置电脑快捷键方法...
- 【Unity3D】使用 FBX 格式的外部模型 ③ ( FBX 模型中的材质重映射 | FBX 模型使用外部材质 | FBX 模型的分解重组 )
- STM32掌机教程8,背景音乐
- Oracle 只读表空间 说明
- 你不屑于大器晚成,就只能平庸一生
- android 开发之蓝牙开发
- (附源码)springboot毕业论文管理系统 毕业设计 030946
- 【硬见小百科】高速PCB设计中的阻抗匹配
- My shortcomings | 我的不足
- 实战小项目_猜数字小游戏