标签: pipeline

将版本添加到管道

是否有任何标准或推荐的方法将版本号添加到管道(在我的例子中用 Snakemake 编写)?

例如,我有这个管道,刚才我添加了一个CHANGELOG.md文件,其中当前版本位于顶部。是否有更好的方法来识别用户正在部署的版本?

python pipeline version python-3.x snakemake

3
推荐指数
1
解决办法
53
查看次数

Gitlab CI - 带有“when:always”的规则与不带“when:always”的规则之间有区别吗?

我在 Gitlab-CI 中有一个管道,其中一项作业有以下规则:

rules:
  - if: "$CI_PIPELINE_SOURCE == "merge_request_event"
Run Code Online (Sandbox Code Playgroud)

如果我将其更改为:会有什么不同吗?

  - if: "$CI_PIPELINE_SOURCE == "merge_request_event"
    when: always
Run Code Online (Sandbox Code Playgroud)

因为,第一个规则将在满足条件时执行,而替代规则(带有when:always的规则)将执行相同的操作。

那么“何时:总是”会发生什么变化呢?如果它能改变什么的话。

if-statement pipeline rules gitlab gitlab-ci

3
推荐指数
1
解决办法
8888
查看次数

范围管道删除用于格式化样式的 typedef

使用 C++23,我们可以漂亮地打印范围,目前在{fmt}. 例如,std::set格式为{},而序列容器如std::vector格式为[]。在内部,formatter类模板根据嵌套 typedef 的存在key_typestd::set有或std::vector没有)进行调度。

通过管道将 astd::set插入任何类型view都会删除key_typetypedef 并将其漂亮地打印为std::vector.

#include <ranges>
#include <set>
#include <fmt/ranges.h>

int main()
{
    auto s = std::set<int>({ 2, 3, 5, 7 });

    fmt::println("{}", s);                                              // nice, formats as { 2, 3, 5, 7 }
    fmt::println("{}", s | std::views::reverse);                        // meh, now uses [] instead of {}
    fmt::println("{}", s | std::views::reverse …
Run Code Online (Sandbox Code Playgroud)

c++ pipeline fmt std-ranges c++23

3
推荐指数
1
解决办法
165
查看次数

PowerShell,从其他PS脚本调用函数并返回一个Object

如何从其他PowerShell脚本调用函数并返回该对象?

主脚本:

# Run function script
. C:\MySystem\Functions.ps1

RunIE

$ie.Navigate("http://www.stackoverflow.com")  
# The Object $ie is not existing
Run Code Online (Sandbox Code Playgroud)

功能脚本:

function RunIE($ie) 
{
$ie = New-Object -ComObject InternetExplorer.Application
}
Run Code Online (Sandbox Code Playgroud)

powershell pipeline object

2
推荐指数
1
解决办法
1283
查看次数

自行车流水线

我有一个矩阵:Array2D和一个函数

let DivideAndSubstract value index (matrix: float[,]) = 
    //something that returns a matrix
Run Code Online (Sandbox Code Playgroud)

所以我需要将这个函数n次应用到我的矩阵中:

matrix  
|> DivideAndSubstract matrix.[0,0] 0  
|> DivideAndSubstract matrix.[1,1] 1  
|> DivideAndSubstract matrix.[2,2] 2  
....  
|> DivideAndSubstract matrix.[n,n] n 
Run Code Online (Sandbox Code Playgroud)

其中n = Array2D.length1矩阵 - 1
如何实现此流水线操作?

f# pipeline

2
推荐指数
1
解决办法
178
查看次数

PowerShell是否可以将消息写入多个目标

是否有使用PowerShell管道来同时写入输出和写入文件,而不使用自定义包装功能?

powershell pipeline output

2
推荐指数
1
解决办法
178
查看次数

I/O绑定性能 - 加速?

我正在写,涉及到最小0.5GB(和最高达20GB)的分析CSV文件的程序,我从CSV读取与如下fstream,while (getline(fin,line)) {}和做17millisecs平均每个逗号分隔的记录工作.简单的东西.

但是,有很多记录.显然,该程序受I/O限制,但我想知道是否可以提高I/O性能.我无法使用OpenMP,因为我会处理CPU约束,而缓冲这个大的文件也不会工作.所以我可能需要某种管道......

我在C++中的多线程方面经验很少,从未使用过数据流框架.有人能指出我正确的方向吗?


更新(2014年12月23日):

谢谢你们的评论.你是对的,17ms有点多......在做了大量的分析(哦,痛苦)之后,我把瓶颈分离为每个记录中一个子串的迭代(75个字符).我试验过,#pragmas但它并不足以并行化.函数调用的开销是主要的抱怨 - 现在每条记录5.41μs,已经移动了一个大块.它很难看,但速度更快.

感谢@ChrisWard1000的建议.不幸的是,我对目前使用的硬件没有多少控制权,但是会使用更大的数据集(> 20GB CSV)进行分析,看看我如何引入mmap /多线程解析等.

c++ io performance multithreading pipeline

2
推荐指数
1
解决办法
860
查看次数

是否从akka i/o中删除了管道?

在学习如何使用akka I/OI时,我试图在akka i/o上实现一个简单的协议,并在此处遵循文档.

但是在我的gradle文件中,我使用版本2.3.9,如下所示

dependencies {
    compile group: 'org.slf4j', name: 'slf4j-log4j12', version: '1.7.7'
    compile group: 'com.typesafe.akka', name: 'akka-actor_2.11', version: '2.3.9'
    compile group: 'com.typesafe.akka', name: 'akka-contrib_2.11', version: '2.3.9'
    compile group: 'org.scala-lang', name: 'scala-library', version: '2.11.5'
    testCompile group: 'junit', name: 'junit', version: '4.11'
}
Run Code Online (Sandbox Code Playgroud)

导入一些特定于管道的东西

import akka.io.SymmetricPipelineStage;
import akka.io.PipelineContext;
import akka.io.SymmetricPipePair;
Run Code Online (Sandbox Code Playgroud)

生成无法解决符号错误.

因此我的问题.

  1. 如果删除了这些或者我需要添加到gradle文件中有一些依赖性.
  2. 如果删除它们,将如何处理编码/解码阶段?

java pipeline tcp akka akka-io

2
推荐指数
1
解决办法
477
查看次数

如果无序超标量处理器的每个周期的取指令数是恒定的?

我想知道无序超标量处理器(假设是Intel i7处理器)的每个周期的取指令数是否恒定,或者它可能会根据高速缓存未命中率或分支未命中预测的数量而改变.给出代码/程序?

如果不是常数,如何解释其背后的原因呢?据我所知,在现代多核处理器中,解码器单元总是尝试解决依赖关系并尝试使用独立指令填充管道气泡.那么,对于任何给定的工作负载,获取指令的数量不应总是相同(大约)?

cpu pipeline multicore computer-architecture instructions

2
推荐指数
1
解决办法
271
查看次数

x86-64管道是否像JMP RAX那样间接跳转?

在x86-64中,如果使用以下汇编代码:

MOV RAX, (memory address)
JMP RAX
Run Code Online (Sandbox Code Playgroud)

管道在执行分支之前是否停止(等待MOV完成RAX),还是像条件分支一样刷新管道?

assembly pipeline x86-64 intel nasm

2
推荐指数
1
解决办法
644
查看次数