首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在c++中编写一个非常重的测试操作

在c++中编写一个非常重的测试操作
EN

Stack Overflow用户
提问于 2014-06-09 11:17:09
回答 1查看 339关注 0票数 0

这可能与大多数问题相反,但出于测试目的,我希望创建一个谓词,该谓词使用一些不创建数据竞赛的非常慢的操作。与顺序实现相比,我需要测试并行实现,并且希望这样做,而不需要创建大规模的向量。我目前使用这个谓词:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[](std::size_t& v){
    v = 42; //some random number...
}

但是为了看到任何真实的结果,我的向量需要在大小上是巨大的,我宁愿有一个更小的大小和更大的谓词执行时间。我应该编写什么样的lamba函数,这样我就可以测试我的实现,这是非常耗时的。

EN

回答 1

Stack Overflow用户

发布于 2014-06-09 14:35:20

只是一个想法,强迫多次反复读-修改-写:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
std::size_t volatile& vv = v;
vv = 0;
for (int i = 0; i != 100; ++i) { vv +=1; }

因为编译器可能不会对此进行优化,所以它将涉及到对v的大量实际读取。也就是说,你很可能还会进入缓存。

如果要避免这种情况,您需要std::atomic_store

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

https://stackoverflow.com/questions/24127336

复制
相关文章
在GO中编写一个简单的shell
In this post, we will write a minimalistic shell for UNIX(-like) operating systems in the Go programming language and it only takes about 60 lines of code. You should be a little bit familiar with Go (e.g. how to build a simple project) and the basic usage of a UNIX shell.
李海彬
2018/07/26
7500
在GO中编写一个简单的shell
编写一个非常简单的 JavaScript 编辑器
当然,我们已经有可以使用的很好的Web编辑器:你只需下载,并插入页面即可。我以前习惯于使用CodeMirror和ACE。例如,我为CodeMirror写了一个插件来支持PlantUML。然而,这些编辑器有一个问题:它们难以扩展和难以理解。
哲洛不闹
2018/09/14
9430
编写一个非常简单的 JavaScript 编辑器
在Linux下使用Vim编写C++
g++ first.cpp 编译会产生一个 a.out 文件,它就是我们的可执行文件
跋扈洋
2022/01/05
2.6K0
在Linux下使用Vim编写C++
在Linux下使用Vim编写C++
C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。
跋扈洋
2022/01/20
2.4K0
在Linux下使用Vim编写C++
优雅的在终端中编写Python
專 欄 ❈PytLab,Python 中文社区专栏作者。主要从事科学计算与高性能计算领域的应用,主要语言为Python,C,C++。熟悉数值算法(最优化方法,蒙特卡洛算法等)与并行化 算法(MPI,OpenMP等多线程以及多进程并行化)以及python优化方法,经常使用C++给python写扩展。 blog:http://ipytlab.com github:https://github.com/PytLab ❈ 前言 最早我也只是在服务器上编辑文件的时候用用vim来改改程序,并没有把vim当做自己的主力
Python中文社区
2018/01/31
1.7K0
优雅的在终端中编写Python
在 Laravel 中编写第一个 Artisan 命令
不管是 Node.js、Python 还是 PHP 的 Web 框架,都提供了通过命令行与应用进行交互的功能,通过这些命令行工具,我们可以完成一些初始化操作,比如创建新应用、执行数据库迁移、或者快速创建类文件等,在 Laravel 中,我们可以通过三种工具实现命令行交互:
学院君
2021/01/08
3.1K0
C++中的链式操作
链式操作是利用运算符进行的连续运算(操作),它的特点是在一条语句中出现两个或者两个以上相同的操作符,如连续的赋值操作、连续的输入操作、连续的输出操作、连续的相加操作等都是链式操作的例子。
恋喵大鲤鱼
2018/08/03
1.3K0
C++中的链式操作
优雅的在终端中编写Python
最早我也只是在服务器上编辑文件的时候用用vim来改改程序,并没有把vim当做自己的主力编辑器。但是偶然的一次机会需要改一个奇葩的输入文件的格式,用了下Vim的宏录制,尝到了甜头,于是后面就开始用Vim来写程序了,虽然使用初期有些阻力,但时间久了就会发现,双手再也不用离开键盘,即使使用sublime这样的编辑器我也要改成使用Vim模式,Vim真的能让自己一思维的速度编辑文本(对我来说就是写程序了)。
用户1332428
2018/07/26
1.8K0
优雅的在终端中编写Python
神经网络中测试部分的编写
上下两张图中蓝色的曲线分别代表training过程中accuracy和loss,可以看到,随着epoch的增加,accuracy在逐渐变大,loss也在逐渐变小。由图来看貌似训练过程良好,但实际上被骗了
mathor
2020/01/14
7260
神经网络中测试部分的编写
编程篇(011)-编写一个数组去重的方法
参考答案: var arr = [1, 2, 3, 3, 4, 4, 5, 5, 6, 1, 9, 3, 25, 4]; function deRepeat() { var newArr = []; var obj = {}; var index = 0; var l = arr.length; for (var i = 0; i < l; i++) { if (obj[arr[i]] == undefined) { obj[
齐丶先丶森
2022/05/12
1860
Pytorch 中的 5 个非常有用的张量操作
PyTorch是一个基于Python的科学包,用于使用一种称为张量的特殊数据类型执行高级操作。张量是具有规则形状和相同数据类型的数字、向量、矩阵或多维数组。PyTorch是NumPy包的另一种选择,它可以在GPU下使用。它也被用作进行深度学习研究的框架。
代码医生工作室
2020/09/28
2.4K0
Pytorch 中的 5 个非常有用的张量操作
在IDEA中编写Spark的WordCount程序
1:spark shell仅在测试和验证我们的程序时使用的较多,在生产环境中,通常会在IDE中编制程序,然后打成jar包,然后提交到集群,最常用的是创建一个Maven项目,利用Maven来管理jar包
别先生
2018/04/02
2K0
在IDEA中编写Spark的WordCount程序
【C++】非常重要的——多态
  凡是面向对象的语言,都有三大特性,继承,封装和多态,但并不是只有这三个特性,是因为者三个特性是最重要的特性,那今天我们一起来看多态!
The sky
2023/04/12
3620
【C++】非常重要的——多态
在 Laravel 中编写高级的 Artisan 命令
在上一篇教程中,学院君向大家介绍了什么是 Artisan 命令,系统内置的 Artisan 命令,以及如何编写一个简单的 Artisan 命令。我们完全可以将命令行看作与 Web 应用同等的控制台应用(实际上,Laravel 底层也是这么做的),它具备自己的路由、Kernel、输入、控制器(命令类)、输出。因此,在这篇教程中,我们将更进一步,一起来看下如何编写更加高级的 Artisan 命令,比如带输入参数、选项,以及能够与用户互动,输出图表/进度条的 Artisan 命令。
学院君
2021/01/08
8.3K0
C++中的数组类型操作
开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第2天,点击查看活动详情
鲸落c
2022/11/28
1.5K0
在 Linux 终端中退出一个程序的操作命令
在 Linux 中,你可以使用 Ctrl+C 键来中止终端中的运行程序。这对 Ubuntu 和其他 Linux 发行版都适用。
用户9105998
2021/11/22
5.2K0
这个操作符在 C++ 中是什么意思
我在 Google Groups 论坛 comp.lang.c++.moderated 上看到一个回答 Hidden Features and Dark Corners of C++/STL ,他贴的那段代码中,这个操作符(operator)-->没看懂是啥意思,我试了一下,在 Visual Studio 2008、G++ 4.4 和 gcc 上都可以编译通过,下面是代码:
ClearSeve
2022/02/10
1.9K0
使用 Tekton 在 Kubernetes 中编写您的第一个 CI/CD 管道
开始使用 Tekton 的最简单方法是编写您自己的简单管道。如果您每天都使用 Kubernetes,您可能会对 YAML 感到满意,这正是 Tekton 管道的定义方式。这是一个克隆代码存储库的简单管道示例。
KINGLIFE
2021/11/11
8730
Nodejs中编写异步的单元测试代码
在Nodejs的开发过程中,异步这个话题是无论如何都躲不过去的,关于异步的文章已经有过许多篇了,我也不打算写在开发Web应用的过程中,该如何在Nodejs中处理异步代码。在前些日子,我跟单元测试覆盖率这个指标杠上了,因为自己在写一个Nodejs的工程,我希望这个工程的测试代码量不要太少,目标是100%的行覆盖率,所以最近写了许多的单元测试代码。使用的测试框架是Mocha,断言库是Chai,那么今天我们就来聊聊在单元测试中,处理异步代码的各种姿势。
Originalee
2018/12/27
1.4K0
用C++编写函数判别一个数是否是质数,在主程序中实现输入输出
参考链接: C++程序通过创建函数来检查素数 #include<iostream>  using namespace std;  int prime(int n)  { if(n>1) { int i=n-1; while(n%i!=0) { i--; } if(i==1) return 1; else return 0; } else return 0;  }  int main()  { int a; cout<<"请输入一个整数"<<endl; while(1<2) { cin>>a; if(prim
用户7886150
2021/02/06
2.1K0

相似问题

编写简单的C++测试

31

编写一个在C++中检查内存泄漏的测试用例

64

用C++编写一个非常简单的词法分析器

21

需要:用C++编写非常快速的链表

83

为Django的管理操作编写测试

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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