Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
colorEagleStdio
qtcpp_demo
提交
138e3da3
qtcpp_demo
项目概览
colorEagleStdio
/
qtcpp_demo
通知
465
Star
24
Fork
12
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
qtcpp_demo
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
138e3da3
编写于
7月 01, 2022
作者:
M
manjaro-xfce
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
加入管道性能测试C语言程序
上级
63cae355
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
133 addition
and
19 deletion
+133
-19
README
README
+30
-19
tunnel_speed/test.c
tunnel_speed/test.c
+103
-0
未找到文件。
README
浏览文件 @
138e3da3
C++知识点测试小程序
closure
C++闭包
https://goldenhawking.blog.csdn.net/article/details/70589476
chesspi
一天时间攒一个C++控制台中国象棋程序
https://goldenhawking.blog.csdn.net/article/details/117534567
closure
C++闭包
https://goldenhawking.blog.csdn.net/article/details/70589476
cpp_rv_ref
C++右值引用的效果测试
...
...
@@ -16,26 +15,30 @@ cpp_threadpool
functional助力C++11实现高度可重用接口-线程池例子
https://goldenhawking.blog.csdn.net/article/details/51981905
find0xff
论坛:二维数组中找最大特征数组
https://goldenhawking.blog.csdn.net/article/details/116240710
fileLoadControl
机械盘阵高并发——使用ImDisk 与 junction显著提高整体吞吐性能
https://goldenhawking.blog.csdn.net/article/details/122093588
f
loodfill_md
f
作业讲评-二值矩阵避障最短路径算法
https://goldenhawking.blog.csdn.net/article/details/109411787
f
ind0xf
f
论坛:二维数组中找最大特征数组
https://goldenhawking.blog.csdn.net/article/details/116240710
findfoo
大道至简-基于C的库封装发布技术
https://goldenhawking.blog.csdn.net/article/details/119845838
floodfill_mdf
作业讲评-二值矩阵避障最短路径算法
https://goldenhawking.blog.csdn.net/article/details/109411787
huarongdao
广度优先求解算法演示(华容道C++代码,速度2644组/秒)
https://goldenhawking.blog.csdn.net/article/details/112414933
kafka
MSYS2显著简化Kafka在windows C++下的使用门槛
https://goldenhawking.blog.csdn.net/article/details/123928247
nmcalc
一种基于C++STL库的回溯排列组合枚举器
https://goldenhawking.blog.csdn.net/article/details/80037669
...
...
@@ -68,19 +71,27 @@ sharedptr_ndarray
share_ptr在C++多维数组管理方法中的优势和性能测试
https://goldenhawking.blog.csdn.net/article/details/78171742
string_split
C++11分解字符串
https://goldenhawking.blog.csdn.net/article/details/80833565
tunnel_speed
基于进程管道的SDR最大吞吐速率测试
https://goldenhawking.blog.csdn.net/article/details/124575558
udp_loss_test
(Win32) QUdpSocket 丢包测试与解决
https://goldenhawking.blog.csdn.net/article/details/105622237
uhd_cpp
USRP B210 SDR C/C++接口连续收发程序
https://goldenhawking.blog.csdn.net/article/details/109907083
USRP 套件在windows下的快速引入
https://goldenhawking.blog.csdn.net/article/details/110727815
string_split
C++11分解字符串
https://goldenhawking.blog.csdn.net/article/details/80833565
udp_loss_test
(Win32) QUdpSocket 丢包测试与解决
https://goldenhawking.blog.csdn.net/article/details/105622237
tunnel_speed/test.c
0 → 100644
浏览文件 @
138e3da3
#include <stdio.h>
#include <time.h>
#include <memory.h>
#include <stdlib.h>
#include <string.h>
#ifdef _WIN32
#include <io.h>
#include <fcntl.h>
#endif
int
main
(
int
argc
,
char
*
argv
[])
{
const
size_t
package_size
=
1024
*
1024
;
char
*
array
=
(
char
*
)
malloc
(
package_size
);
unsigned
long
long
*
header
=
(
unsigned
long
long
*
)
array
;
unsigned
long
long
*
length
=
(
unsigned
long
long
*
)(
array
+
sizeof
(
unsigned
long
long
));
unsigned
long
long
totalsz
=
0
;
clock_t
start_clk
=
0
,
end_clk
=
0
,
total_clk
=
0
;
int
produce
=
0
,
consume
=
0
;
int
i
=
0
;
for
(
int
i
=
1
;
i
<
argc
;
++
i
)
{
//-p means produce
if
(
strstr
(
argv
[
i
],
"p"
))
produce
=
1
;
if
(
strstr
(
argv
[
i
],
"c"
))
consume
=
1
;
}
if
(
produce
==
0
&&
consume
==
0
)
{
fprintf
(
stderr
,
"Usage: %s <[-c][-p]>
\n
"
,
argv
[
0
]);
return
0
;
}
#ifdef _WIN32
_setmode
(
_fileno
(
stdout
),
O_BINARY
);
_setmode
(
_fileno
(
stdin
),
O_BINARY
);
#endif
start_clk
=
clock
();
if
(
produce
==
1
&&
consume
==
0
)
{
long
long
lz
=
0
;
while
(
++
lz
<
10000
)
{
*
header
=
lz
;
*
length
=
package_size
-
sizeof
(
unsigned
long
long
)
*
2
;
//Produce
fwrite
((
char
*
)
header
,
1
,
*
length
+
sizeof
(
unsigned
long
long
)
*
2
,
stdout
);
fflush
(
stdout
);
totalsz
+=
*
length
+
sizeof
(
unsigned
long
long
)
*
2
;
}
*
header
=
lz
;
*
length
=
0
;
fwrite
((
char
*
)
header
,
1
,
sizeof
(
unsigned
long
long
)
*
2
,
stdout
);
fflush
(
stdout
);
totalsz
+=
sizeof
(
unsigned
long
long
)
*
2
;
}
else
if
(
produce
==
0
&&
consume
==
1
)
{
fread
((
char
*
)
header
,
2
,
sizeof
(
unsigned
long
long
),
stdin
);
while
(
*
length
)
{
//Consume
fread
(((
char
*
)
header
)
+
sizeof
(
unsigned
long
long
)
*
2
,
1
,
*
length
,
stdin
);
totalsz
+=
*
length
+
sizeof
(
unsigned
long
long
)
*
2
;
fread
((
char
*
)
header
,
2
,
sizeof
(
unsigned
long
long
),
stdin
);
}
totalsz
+=
sizeof
(
unsigned
long
long
)
*
2
;
}
else
{
fread
((
char
*
)
header
,
2
,
sizeof
(
unsigned
long
long
),
stdin
);
while
(
*
length
)
{
//Consume
fread
(((
char
*
)
header
)
+
sizeof
(
unsigned
long
long
)
*
2
,
1
,
*
length
,
stdin
);
//Produce
fwrite
((
char
*
)
header
,
1
,
*
length
+
sizeof
(
unsigned
long
long
)
*
2
,
stdout
);
fflush
(
stdout
);
totalsz
+=
*
length
+
sizeof
(
unsigned
long
long
)
*
2
;
fread
((
char
*
)
header
,
2
,
sizeof
(
unsigned
long
long
),
stdin
);
}
fwrite
((
char
*
)
header
,
1
,
*
length
+
sizeof
(
unsigned
long
long
)
*
2
,
stdout
);
fflush
(
stdout
);
totalsz
+=
sizeof
(
unsigned
long
long
)
*
2
;
}
free
(
array
);
end_clk
=
clock
();
total_clk
=
end_clk
-
start_clk
;
fprintf
(
stderr
,
"%lld Bytes %s%s
\n\t
%.3lf MB/s(%.2lf Gbits/s)
\n\t
RX(sc16) %.2lf MHz
\n\t
RTX(sc16) %.2lf MHz.
\n
"
,
totalsz
,
(
consume
?
"Consumed "
:
""
),
(
produce
?
"Produced "
:
""
),
totalsz
*
1
.
0
/
1024
/
1024
/
(
total_clk
*
1
.
0
/
CLOCKS_PER_SEC
),
totalsz
*
8
.
0
/
1024
/
1024
/
1024
/
(
total_clk
*
1
.
0
/
CLOCKS_PER_SEC
),
totalsz
*
1
.
0
/
1024
/
1024
/
(
total_clk
*
1
.
0
/
CLOCKS_PER_SEC
)
/
4
.
0
,
totalsz
*
1
.
0
/
1024
/
1024
/
(
total_clk
*
1
.
0
/
CLOCKS_PER_SEC
)
/
8
.
0
);
return
0
;
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录