小编use*_*504的帖子

rust clone() 与 Rc 或 Arc?

我试图了解以下之间的优缺点:

  • 使用 Arc 并克隆 Arc(我在不同的地方/线程中使用 Something)

  • 使用 Something.clone() (我的 Something 结构只有 1 个已可克隆的字段)

除了测量和比较性能结果(我认为两者中的任何一个在性能方面都不会差很多)之外,我还试图了解在锈类动物的头脑中什么被认为是“通常更好”或“更惯用”。

如果我理解正确的话:

  • Arc 和克隆:我在堆上有 1 个东西(与堆栈相比昂贵)+我正在克隆 Arc(与 Rc.clone 相比昂贵,但如果我需要跨线程使用则需要),所以我根据方式创建/删除 N 个 Arc很多次我克隆/删除

  • Something.clone:我在堆栈上创建/删除 N 个 Something 实例,具体取决于我克隆/删除的次数

在这种情况下(“某些东西”的创建成本很低),与仅克隆它相比,将其包装在 Arc 中是否有任何好处?这两个选项中哪一个更可取?

clone reference-counting rust

8
推荐指数
1
解决办法
4876
查看次数

更改 AWS AMI 名称

是否可以使用 aws cli 更改 AMI 名称?

我可以成功添加“名称”标签(使用 aws ec2 create-tags),但不能更改 Web UI 上显示的“AMI 名称”。这是一个导入的 AMI,因此 AMI 名称类似于
import-ami-XXXXX。

我试过了:

aws ec2 modify-image-attribute --image-id AMI_ID --attribute Name --value VALUE

但我回来了:

An error occurred (InvalidParameterCombination) when calling the ModifyImageAttribute operation: No attributes specified.
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?

amazon-ec2 amazon-web-services

7
推荐指数
1
解决办法
6332
查看次数