嵌入式应用中面向方面机制的优化探索
在软件开发领域,对于嵌入式应用中面向方面机制的优化是提升系统性能的关键。下面将详细介绍针对方面激活和方面执行的优化策略及效果。
1. 方面激活优化
为了优化方面激活的执行时间,我们采取了两种主要策略:开发虚拟机(VM)内部激活基础设施和实现原生团队激活机制。
1.1 VM 内部激活基础设施
- 数据结构扩展 :为了将团队注册机制迁移到 VM 级别,我们对 JamVM 内部表示类的数据结构进行了扩展,添加了对新引入的注册数据结构的引用。与之前 OT/J 的编织策略不同,现在每个类都拥有这个结构。在 x86 架构上,初始时会产生约 20 字节的极小开销。只有当类实际被方面(团队)适配时,才会进行高级初始化和内存分配。
- 接口实现 :为了将新的数据结构与 OT/J 在字节码级别的其余方面执行机制集成,我们提供了一个接口,用于向基类添加、移除和检索团队实例。该接口的实现类似于 JamVM 提供的原生接口。
- 全局缓存实现 :我们实现了一个用于团队激活的全局缓存。当向基类添加新的团队实例时,该缓存会存储激活结构的先前状态。如果立即移除相同的团队实例,在执行任何其他“添加”或“移除”操作之前,会将缓存写回到相应的激活结构中,从而避免在内存中移动团队实例。
性能评估 :通过执行一个团队级方法 3000 次,导致 3000 次隐式团队激活和后续停用的基准测试,我们比较了原始 JamVM(JamVM_o
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



