根据与MemoryLayout的合作,以下df1 <- data.frame(v1)
df1[order(rank(v1, ties.method = "random")), "v2"] <- sequence(table(v1))
df1
和Foo
结构对Bar
和stride
具有相同的值:
alignment
似乎是预期的。但是,当谈到struct Foo {
let myInt: Int
let myBool: Bool
}
struct Bar {
let myBool: Bool
let myInt: Int
}
print(MemoryLayout<Foo>.stride) // 16
print(MemoryLayout<Bar>.stride) // 16
print(MemoryLayout<Foo>.alignment) // 8
print(MemoryLayout<Bar>.alignment) // 8
时,它会有所不同:
size
事实上,我确实知道它的原因是什么;但是,作为开发者,我应该关心这样的事情吗?它会由编译器自动优化吗?
P.S:如果在Software Engineering询问这样的问题我很抱歉,我不确定