You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm wondering if this is a possibility, or if the class loading procedure can't be parallelized. For projects with large numbers of classes it could result in a performance boost.
I do not have much experience in this field. For now, I have no such plans.
You are wondering if it could boost performance. I.e., you have not tried. How about creating some verifable facts? If you want to take a stab at implementing it, feel free to do so.
Create a PR.
Make sure not to break any tests (or adjust them to pass again, in case they only fail due to parallel log output that is expected to be serial).
Measure performance for some repeatable scenarios (before/after) to have proof of whether and by much it speeds up typical use cases.
Add test cases hardening the change for multi-threaded scenarios in danger of breaking if implemented incorrectly. E.g., it might be problematic if classes are loaded in parallel, if weavable target classes are loaded before the corresponding aspects, or if aspect advices are woven before ITDs from the same or another aspect are in place. Methods, fields or implemented interfaces introduced by ITD might be the target of aspects. Probably there are numerous other cases in need to be handled in the correct order.
I'm wondering if this is a possibility, or if the class loading procedure can't be parallelized. For projects with large numbers of classes it could result in a performance boost.
https://docs.oracle.com/javase/8/docs/technotes/guides/lang/cl-mt.html
The text was updated successfully, but these errors were encountered: