关于静态和动态调度的生锈书部分中有关于此主题的一些基本背景,但tldr基本上是:在特征引用上调用方法和其他一些不同的情况(函数指针等)导致动态而不是静态调度.
所以,问题:
在应用优化后,实际的运行时成本是多少?
例如,想象一下这组结构和特征:
struct Buffer;
struct TmpBuffer;
struct TmpMutBuffer;
impl BufferType for Buffer { ... }
impl BufferType for BufferTmp { ... }
impl BufferType for BufferTmpMut { ... }
impl Buffer2D for BufferType { ... }
impl Buffer2DExt for Buffer2D { ... }
Run Code Online (Sandbox Code Playgroud)
特别注意,这里的特征是在特征本身上实现的.
在struct reference上从Buffer2DExt调用方法的动态调度的调用成本是多少?
最近有一个关于解除引用规则的问题这是什么是Rust的确切自动解除引用规则?; 这些规则是在编译时还是运行时应用的?
rust ×1