我刚刚启动了新的 AWS t4g linux/arm64 实例,但在其上运行 docker 映像时遇到问题。
我使用 docker-compose.yml 版本 3.7 并使用 gitlab CI 运行程序来构建映像。我已经阅读了官方文档,但当涉及到实际工作时,它有点令人困惑,因为我尝试了几种方法来构建 linux/arm64 的映像,但到目前为止都不起作用。
在这篇文章中,它说这在官方文档--platform中不受支持,docker-compose.yml v3并且在官方文档中说应该包含在 19.3 版本中(我认为它应该适用于 19.3 及更高版本,因为我的实际 Docker 引擎版本是 20.10.3),但没有任何效果。buildx
这是我用于构建 ELK(弹性堆栈)的 gitlab-ci.yml,它失败了,因为--platform我猜这里不支持。
docker-build-elk:
# Official docker image.
image: docker/compose
stage: build
services:
- docker info
- docker:dind
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
script:
# pull dev image for caching
- docker pull ${CI_REGISTRY_IMAGE}:elk || true
- docker-compose -f ./elk/docker-compose.elastic.yml …Run Code Online (Sandbox Code Playgroud) 我正在寻找一个快速的模10算法,因为我需要加速我的程序,它在循环中进行许多模运算.
我查看了这个页面,比较了一些替代方案.据我所知,T3是最快的.我的问题是,x % y看起来如何使用T3技术?
为简单起见,我在这里复制了T3技术,以防链接出现故障.
for (int x = 0; x < max; x++)
{
if (y > (threshold - 1))
{
y = 0; //reset
total += x;
}
y += 1;
}
Run Code Online (Sandbox Code Playgroud)
关于评论,如果这不比常规mod快,我寻找的模数至少比使用模数快2倍%.我看过许多使用2的功能的例子,但由于10不是,我怎么能让它工作?
编辑:
对于我的程序,假设我有2个循环,其中n=1 000 000和m=1000.
看起来像这样:
for (i = 1; i <= n; i++) {
D[(i%10)*m] = i;
for (j = 1; j <= m; j++) {
...
}
}
Run Code Online (Sandbox Code Playgroud)