[ 
https://issues.apache.org/jira/browse/GROOVY-11571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17930468#comment-17930468
 ] 

ASF GitHub Bot commented on GROOVY-11571:
-----------------------------------------

codecov-commenter commented on PR #2154:
URL: https://github.com/apache/groovy/pull/2154#issuecomment-2683477628

   ## 
[Codecov](https://app.codecov.io/gh/apache/groovy/pull/2154?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   All modified and coverable lines are covered by tests :white_check_mark:
   > Project coverage is 68.8221%. Comparing base 
[(`c471e5d`)](https://app.codecov.io/gh/apache/groovy/commit/c471e5dd3eb02464ae985e8294ec51784ecb9f53?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 to head 
[(`518f7ab`)](https://app.codecov.io/gh/apache/groovy/commit/518f7ab3140d202a202e5684b0a9b1fdff69a8e7?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).
   > Report is 3 commits behind head on master.
   
   <details><summary>Additional details and impacted files</summary>
   
   
   [![Impacted file tree 
graph](https://app.codecov.io/gh/apache/groovy/pull/2154/graphs/tree.svg?width=650&height=150&src=pr&token=1r45138NfQ&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)](https://app.codecov.io/gh/apache/groovy/pull/2154?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
   
   ```diff
   @@                Coverage Diff                 @@
   ##               master      #2154        +/-   ##
   ==================================================
   - Coverage     68.8238%   68.8221%   -0.0018%     
   + Complexity      29442      29441         -1     
   ==================================================
     Files            1420       1420                
     Lines          113173     113173                
     Branches        19558      19558                
   ==================================================
   - Hits            77890      77888         -2     
   - Misses          28740      28741         +1     
   - Partials         6543       6544         +1     
   ```
   
   [see 2 files with indirect coverage 
changes](https://app.codecov.io/gh/apache/groovy/pull/2154/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
   
   </details>




> Performance problem in Eclipse RCP/OSGi/Equinox environment
> -----------------------------------------------------------
>
>                 Key: GROOVY-11571
>                 URL: https://issues.apache.org/jira/browse/GROOVY-11571
>             Project: Groovy
>          Issue Type: Bug
>          Components: groovy-runtime
>    Affects Versions: 4.0.25
>         Environment: Eclipse RCP 4.25
>            Reporter: Torsten Witte
>            Assignee: Paul King
>            Priority: Major
>
> We have an Eclipse RCP application that includes Groovy (4.0.25) so that 
> users can customise it via Groovy scripts (groovy, groovy-datetime, 
> groovy-dateutil, groovy-json, groovy-templates, groovy-xml, groovy-yaml).
> Unfortunately, we have noticed that the compilation of each individual script 
> takes several seconds (e.g. 3 seconds and more for a tiny script).
> We have discovered that it will be faster if we remove some Groovy libs (e.g. 
> groovy-yaml), but that is not an option because we need the dependencies.
> Then we have noticed that the scripts compile in a few milliseconds if the 
> application has been started with the Eclipse "-clean" parameter 
> ("osgi.clean").
> The scripts can therefore be compiled much faster!
> However, the "-clean" parameter slows down the start of the application, as 
> the OSGi configuration has to be recreated each time, and that is also not an 
> option for us.
> It seems that Eclipse/OSGi/Equinox holds some wiring information in its 
> configuration folder which slow down the Groovy compile times (more precise: 
> the class loading).
> When drilling down into the problem, we got as far as buddy class loading, 
> where the time is lost.
> The reason is in the {{MANIFEST.MF}} of the {{groovy_<version>.jar}}:
> {noformat}
> Eclipse-BuddyPolicy: dependent
> {noformat}
> Setting the value to "global" fixes the problem and the scripts are always 
> compiled in a few milliseconds, whether starting the application with or 
> without the "-clean" parameter.
> {noformat}
> Eclipse-BuddyPolicy: global
> {noformat}
> The documentation of the [Buddy Class 
> Loading|https://wiki.eclipse.org/Context_Class_Loader_Enhancements#Buddy_Policy_2]
>  says:
> bq. dependent - Consults all bundles that directly or indirectly depend on 
> the bundle. An indirect dependency can be introduced by bundles that use 
> Require-Bundle with the visibility directive set to reexport. Note that this 
> casts a rather wide net and may introduce performance problems as the number 
> of bundles increase.
> We use Require-Bundle in our {{MANIFEST.MF}} but without visibility reexport:
> {noformat}
> Require-Bundle: [...],
>  groovy;bundle-version="4.0.25",
>  groovy-datetime;bundle-version="4.0.25",
>  groovy-dateutil;bundle-version="4.0.25",
>  groovy-json;bundle-version="4.0.25",
>  groovy-templates;bundle-version="4.0.25",
>  groovy-xml;bundle-version="4.0.25",
>  groovy-yaml;bundle-version="4.0.25",
>  [...]
> {noformat}
> Are there reasons why the entry "Eclipse-BuddyPolicy" in the {{MANIFEST.MF}} 
> of the {{groovy_<version>.jar}} is set to "dependent"?
> Is it possible to set the value to "global" in further releases?
> (Another problem with the Eclipse-BuddyPolicy is described in GROOVY-6491)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to