Efficient Aspect Weaver for the .Net Platform
Jose Manuel Felix, Francisco Ortín · IEEE Latin America Transactions · 2015
Aspect-oriented programming provides better modularization of applications by encapsulating crosscutting concerns into aspects, solving the code scattering and tangling problems. However, the additional code added to achieve static and dynamic aspect weaving commonly involves runtime performance and memory consumption penalties. Consequently, we propose different techniques to optimize both static and dynamic aspect weaving, implementing those techniques in the .NET platform, which does not support the runtime replacement of class implementations. To evaluate the efficiency of our approach, we measure the execution time and memory consumption of four different aspect-oriented applications. Our platform provides the best performance for both static and dynamic weaving, and its weaving cost is the lowest one. Moreover, the proposed optimizations consume less memory resources than the existing systems providing the closest performance.