You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@netbeans.apache.org by GitBox <gi...@apache.org> on 2022/06/26 01:56:58 UTC

[GitHub] [netbeans] mbien opened a new pull request, #4284: php test performance

mbien opened a new pull request, #4284:
URL: https://github.com/apache/netbeans/pull/4284

   lets see if this has any side effects, I didn't do a full test run yet, only checked few specific tests - CI will tell for sure.
   
   commit msg:
   
    - set event delay to 0
    - tweak JVM settings a bit (little bit more heap, use throughput GC)
   
   the event delay caused some tests to lose >1s per test method with CPU mostly
   idling. Tests with a lot of cases were observed to complete 4-5x faster after
   this tweak.
   
   e.g: OccurrencesFinderImplTest: ~10 mins -> ~2 mins


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


[GitHub] [netbeans] mbien commented on pull request #4284: php test performance

Posted by GitBox <gi...@apache.org>.
mbien commented on PR #4284:
URL: https://github.com/apache/netbeans/pull/4284#issuecomment-1166414931

   in case anyone is curious how i found this:
   1) filtered the log with a shell script to find the top 10 slowest tests, started with the slowest
   2) while looking at async-profiler flamegraphs and VisualVM GC graphs, I noticed that the CPU use was unusually low (basically idle!)
   3) now I measured setup and teardown time and found an unusual pattern:
   ```
       [junit] setup: 0.773
       [junit] teardown: 0.502
       [junit] setup: 0.828
       [junit] teardown: 0.502
       [junit] setup: 0.827
       [junit] teardown: 0.503
       [junit] setup: 0.835
       [junit] teardown: 0.503
   ...
   ```
   500 ms looked very suspicious -> it had to be an artificial delay.
   
   4) Finding it was not easy though. The integration tests are synced via keywords in loggers with the NB instance, involving multiple threads and countdown latches - so flamegraphs of locks or thread diagrams didn't help - all I saw were threads waiting for something. It did also not help that i looked in the wrong area at first (RequestProcessor itself). At some point I started to search for "500" while debugging and found this in the event system code:
   
   https://github.com/apache/netbeans/blob/c084119009d2e0f736f225d706bc1827af283501/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/PathRegistry.java#L958-L963
   
   which is used to debounce events during api call bursts (and everything waited for this event). I set it to 0 and:
   ```
       [junit] setup: 0.21
       [junit] teardown: 0.001
       [junit] setup: 0.229
       [junit] teardown: 0.001
       [junit] setup: 0.223
       [junit] teardown: 0.001
       [junit] setup: 0.229
       [junit] teardown: 0.001
   ...
   ```
   Done. -1s per test method (the test has 463 methods!). This made the test run 5x faster, and apparently reduced the total from >2h to <1h since many other tests were also affected.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


[GitHub] [netbeans] mbien commented on a diff in pull request #4284: php test performance

Posted by GitBox <gi...@apache.org>.
mbien commented on code in PR #4284:
URL: https://github.com/apache/netbeans/pull/4284#discussion_r906847815


##########
nbbuild/templates/projectized.xml:
##########
@@ -290,7 +290,7 @@
     <target name="test-lib-init" depends="-init-bootclasspath-prepend,init,-build-libs.junit4">
         <path id="test.unit.lib.cp"/>
         <property name="test.jms.flags" value=""/>
-        <property name="test.run.args" value="-ea -Xmx700m ${metabuild.jms-flags.jvm} ${test.jms.flags} -XX:+IgnoreUnrecognizedVMOptions"/>
+        <property name="test.run.args" value="-ea -Xms1200m -Xmx1200m -XX:+UseParallelGC ${metabuild.jms-flags.jvm} ${test.jms.flags} -XX:+IgnoreUnrecognizedVMOptions"/>

Review Comment:
   Hi Matthias,
   
   ParallelGC is a generational throughput GC. It is available on all JDKs from all hotspot vendors and designed for tasks which are willing to trade latency for throughput (batch processing or tests). The GC can do that since it is not concurrent, and has therefore no additional runtime overhead (for both CPU and heap upkeep overhead).
   
   G1 (new default), Shenandoha and ZGC are the concurrent GCs which try to keep latency low but have more overhead. G1 is general purpose, ZGC is mostly for very large heaps, Shenandoah scales well from small to large heaps and has also lower heap size overhead compared to other concurrent GCs, but is not included in Oracle JDKs. (picking between the 3 concurrent GCs is often application specific and requires testing)
   
   SerialGC is like parallel just single threaded, nice for small heaps, e.g embedded or single threaded micro service deployment (Shenandoah is also nice for embedded if you have multiple cores and low throughput).
   
   Our nodes (both gh actions and travis have 2 threads minimum, and 7GB RAM (travis might have 4GB)) so we can use ParallelGC instead of SerialGC. Further, increasing heap size even allows to run some tests without triggering a GC cycle at all. By using a non-concurrent GC we also get lower overhead, even if it doesn't run. We could likely further tweak this by increasing Xmx, but the gain might be fairly small.
   
   Did I measure that for the tests? No since we have 14h of test jobs. But since we are looking for throughput and don't care about latency the choice is fairly simple since there is only one GC available on hotspot distributions which is made for this usecase.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


[GitHub] [netbeans] mbien commented on a diff in pull request #4284: improve php test performance

Posted by GitBox <gi...@apache.org>.
mbien commented on code in PR #4284:
URL: https://github.com/apache/netbeans/pull/4284#discussion_r907747129


##########
nbbuild/templates/projectized.xml:
##########
@@ -290,7 +290,7 @@
     <target name="test-lib-init" depends="-init-bootclasspath-prepend,init,-build-libs.junit4">
         <path id="test.unit.lib.cp"/>
         <property name="test.jms.flags" value=""/>
-        <property name="test.run.args" value="-ea -Xmx700m ${metabuild.jms-flags.jvm} ${test.jms.flags} -XX:+IgnoreUnrecognizedVMOptions"/>
+        <property name="test.run.args" value="-ea -Xms1200m -Xmx1200m -XX:+UseParallelGC ${metabuild.jms-flags.jvm} ${test.jms.flags} -XX:+IgnoreUnrecognizedVMOptions"/>

Review Comment:
   travis results look promising so far (php cluster runs on gh actions, this is only for the gc settings)
   ![ParallelGC](https://user-images.githubusercontent.com/114367/176024486-1b5316c3-d663-4fb6-9d42-f7e4c5f3110c.png)
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


[GitHub] [netbeans] mbien merged pull request #4284: improve php test performance

Posted by GitBox <gi...@apache.org>.
mbien merged PR #4284:
URL: https://github.com/apache/netbeans/pull/4284


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


[GitHub] [netbeans] mbien commented on a diff in pull request #4284: improve php test performance

Posted by GitBox <gi...@apache.org>.
mbien commented on code in PR #4284:
URL: https://github.com/apache/netbeans/pull/4284#discussion_r907660474


##########
ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/PathRegistry.java:
##########
@@ -68,7 +68,7 @@
 public final class PathRegistry implements Runnable {
 
     private static final boolean FIRE_UNKNOWN_ALWAYS = false;
-    /*test*/ static final int FIRER_EVT_COLLAPSE_WINDOW = 500;
+    /*test*/ static final int FIRER_EVT_COLLAPSE_WINDOW = Integer.getInteger(PathRegistry.class.getName()+".FIRER_EVT_COLLAPSE_WINDOW", 500);

Review Comment:
   tbh I was wondering if reducing this value in production (e.g to 200) would have any effect. Who knows what else is waiting for the delay to complete. Maybe certain editor features would refresh faster. 500ms is fairly long in computer science.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


[GitHub] [netbeans] mbien commented on a diff in pull request #4284: improve php test performance

Posted by GitBox <gi...@apache.org>.
mbien commented on code in PR #4284:
URL: https://github.com/apache/netbeans/pull/4284#discussion_r907720224


##########
ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/PathRegistry.java:
##########
@@ -68,7 +68,7 @@
 public final class PathRegistry implements Runnable {
 
     private static final boolean FIRE_UNKNOWN_ALWAYS = false;
-    /*test*/ static final int FIRER_EVT_COLLAPSE_WINDOW = 500;
+    /*test*/ static final int FIRER_EVT_COLLAPSE_WINDOW = Integer.getInteger(PathRegistry.class.getName()+".FIRER_EVT_COLLAPSE_WINDOW", 500);

Review Comment:
   Btw I wanted to make it private but it is actually used by a static inner class (and not in tests). So the /*test*/ comment was basically false advertisement until now :)
   
   I guess I could make it private but add a non-public getter and add a proper comment.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


[GitHub] [netbeans] matthiasblaesing commented on a diff in pull request #4284: improve php test performance

Posted by GitBox <gi...@apache.org>.
matthiasblaesing commented on code in PR #4284:
URL: https://github.com/apache/netbeans/pull/4284#discussion_r907707336


##########
ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/PathRegistry.java:
##########
@@ -68,7 +68,7 @@
 public final class PathRegistry implements Runnable {
 
     private static final boolean FIRE_UNKNOWN_ALWAYS = false;
-    /*test*/ static final int FIRER_EVT_COLLAPSE_WINDOW = 500;
+    /*test*/ static final int FIRER_EVT_COLLAPSE_WINDOW = Integer.getInteger(PathRegistry.class.getName()+".FIRER_EVT_COLLAPSE_WINDOW", 500);

Review Comment:
   I did not go deep, but it looks as if this fires when source roots and classpaths change. This is always a slow operation and grouping them together for 500ms is IMHO sane. Going down with this might trigger indexing more often and thus blocking the editor more often.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


[GitHub] [netbeans] matthiasblaesing commented on a diff in pull request #4284: improve php test performance

Posted by GitBox <gi...@apache.org>.
matthiasblaesing commented on code in PR #4284:
URL: https://github.com/apache/netbeans/pull/4284#discussion_r907737051


##########
nbbuild/templates/projectized.xml:
##########
@@ -290,7 +290,7 @@
     <target name="test-lib-init" depends="-init-bootclasspath-prepend,init,-build-libs.junit4">
         <path id="test.unit.lib.cp"/>
         <property name="test.jms.flags" value=""/>
-        <property name="test.run.args" value="-ea -Xmx700m ${metabuild.jms-flags.jvm} ${test.jms.flags} -XX:+IgnoreUnrecognizedVMOptions"/>
+        <property name="test.run.args" value="-ea -Xms1200m -Xmx1200m -XX:+UseParallelGC ${metabuild.jms-flags.jvm} ${test.jms.flags} -XX:+IgnoreUnrecognizedVMOptions"/>

Review Comment:
   Noise was not meant in measurement gitter, but unnecessary configuration. I suspect changing the GC will not impact the test runtime only minimally and thus the configuration should not be there. Anyway, I made my point, so lets stop discussing and keep as is.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


[GitHub] [netbeans] mbien commented on a diff in pull request #4284: php test performance

Posted by GitBox <gi...@apache.org>.
mbien commented on code in PR #4284:
URL: https://github.com/apache/netbeans/pull/4284#discussion_r906935378


##########
ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/PathRegistry.java:
##########
@@ -68,7 +68,7 @@
 public final class PathRegistry implements Runnable {
 
     private static final boolean FIRE_UNKNOWN_ALWAYS = false;
-    /*test*/ static final int FIRER_EVT_COLLAPSE_WINDOW = 500;
+    /*test*/ static int FIRER_EVT_COLLAPSE_WINDOW = 500;

Review Comment:
   done



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


[GitHub] [netbeans] junichi11 commented on pull request #4284: php test performance

Posted by GitBox <gi...@apache.org>.
junichi11 commented on PR #4284:
URL: https://github.com/apache/netbeans/pull/4284#issuecomment-1166694567

   @mbien Thank you for your great work!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


[GitHub] [netbeans] ebresie commented on pull request #4284: php test performance

Posted by GitBox <gi...@apache.org>.
ebresie commented on PR #4284:
URL: https://github.com/apache/netbeans/pull/4284#issuecomment-1166562917

   From previous checks on the pho test at one point there were many large file request tests which in turn were run of each of the major platforms.  I assume this was to test perform on each platform but is this a possible area to improve on?  Maybe do it once instead of three times or are the differences in platforms significant enough to keep each one?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


[GitHub] [netbeans] matthiasblaesing commented on pull request #4284: php test performance

Posted by GitBox <gi...@apache.org>.
matthiasblaesing commented on PR #4284:
URL: https://github.com/apache/netbeans/pull/4284#issuecomment-1166563694

   @ebresie different discussion. Please lets focus on this PR. And this is about: Improvement of test performance by reducing wait time in PathRegistry and tweaking JVM parameters.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


[GitHub] [netbeans] matthiasblaesing commented on a diff in pull request #4284: improve php test performance

Posted by GitBox <gi...@apache.org>.
matthiasblaesing commented on code in PR #4284:
URL: https://github.com/apache/netbeans/pull/4284#discussion_r907546666


##########
nbbuild/templates/projectized.xml:
##########
@@ -290,7 +290,7 @@
     <target name="test-lib-init" depends="-init-bootclasspath-prepend,init,-build-libs.junit4">
         <path id="test.unit.lib.cp"/>
         <property name="test.jms.flags" value=""/>
-        <property name="test.run.args" value="-ea -Xmx700m ${metabuild.jms-flags.jvm} ${test.jms.flags} -XX:+IgnoreUnrecognizedVMOptions"/>
+        <property name="test.run.args" value="-ea -Xms1200m -Xmx1200m -XX:+UseParallelGC ${metabuild.jms-flags.jvm} ${test.jms.flags} -XX:+IgnoreUnrecognizedVMOptions"/>

Review Comment:
   My point is: If there is no measurement of the performance improvement, all the activation of ParallelGC brings us is noise. I'm no GC expert and I have yet to see a situation where I have to become one, most cases I saw in real life were fixed by removing "optimizations" others have added, so I tend to prefer the defaults until proven wrong.
   
   But then this is not important enough to waste to much time over, so if you think it helps, lets keep it, until the first JDK without ParallelGC surfaces.



##########
ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/PathRegistry.java:
##########
@@ -68,7 +68,7 @@
 public final class PathRegistry implements Runnable {
 
     private static final boolean FIRE_UNKNOWN_ALWAYS = false;
-    /*test*/ static final int FIRER_EVT_COLLAPSE_WINDOW = 500;
+    /*test*/ static final int FIRER_EVT_COLLAPSE_WINDOW = Integer.getInteger(PathRegistry.class.getName()+".FIRER_EVT_COLLAPSE_WINDOW", 500);

Review Comment:
   Just an idea: it might be good to add a comment here, that this is a system property to help tests, so that noone ever can claim this is some supported system property we have to retain even if the unittests run fast without twiddling with ti.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


[GitHub] [netbeans] mbien commented on a diff in pull request #4284: improve php test performance

Posted by GitBox <gi...@apache.org>.
mbien commented on code in PR #4284:
URL: https://github.com/apache/netbeans/pull/4284#discussion_r907709558


##########
nbbuild/templates/projectized.xml:
##########
@@ -290,7 +290,7 @@
     <target name="test-lib-init" depends="-init-bootclasspath-prepend,init,-build-libs.junit4">
         <path id="test.unit.lib.cp"/>
         <property name="test.jms.flags" value=""/>
-        <property name="test.run.args" value="-ea -Xmx700m ${metabuild.jms-flags.jvm} ${test.jms.flags} -XX:+IgnoreUnrecognizedVMOptions"/>
+        <property name="test.run.args" value="-ea -Xms1200m -Xmx1200m -XX:+UseParallelGC ${metabuild.jms-flags.jvm} ${test.jms.flags} -XX:+IgnoreUnrecognizedVMOptions"/>

Review Comment:
   we can measure. We can compare average (non-php) travis runs from after this PR to before if there are any changes. What I mean is that it is annoying to test it locally since we have so many hours of tests.
   
   Conceptionally, ParallelGC is the right GC for this use case since it is the only "throughput GC" there is. Setting a GC has also the benefit of getting predictable results. Tests on 8 would use ParallelGC but anything beyond 8 would likely use G1GC. I say likely since there is also ergonomics code in the JVM, If it does not detect enough cores or memory it might pick something else - this is not specified and could change from version to version, how well the container detection works etc. So setting a GC for tests gives us the opposite of noise IMO.
   
   Serial and Parallel GCs fill an important niche and are still getting new features. I use ParallelGC for example for the maven daemon too. It has less memory and less computational overhead compared to the concurrent GCs which is exactly what you want for worker processes.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


[GitHub] [netbeans] mbien commented on a diff in pull request #4284: php test performance

Posted by GitBox <gi...@apache.org>.
mbien commented on code in PR #4284:
URL: https://github.com/apache/netbeans/pull/4284#discussion_r906845312


##########
ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/PathRegistry.java:
##########
@@ -68,7 +68,7 @@
 public final class PathRegistry implements Runnable {
 
     private static final boolean FIRE_UNKNOWN_ALWAYS = false;
-    /*test*/ static final int FIRER_EVT_COLLAPSE_WINDOW = 500;
+    /*test*/ static int FIRER_EVT_COLLAPSE_WINDOW = 500;

Review Comment:
   sure. This was only rudimentary. Will change it.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


[GitHub] [netbeans] mbien commented on a diff in pull request #4284: improve php test performance

Posted by GitBox <gi...@apache.org>.
mbien commented on code in PR #4284:
URL: https://github.com/apache/netbeans/pull/4284#discussion_r907726704


##########
nbbuild/templates/projectized.xml:
##########
@@ -290,7 +290,7 @@
     <target name="test-lib-init" depends="-init-bootclasspath-prepend,init,-build-libs.junit4">
         <path id="test.unit.lib.cp"/>
         <property name="test.jms.flags" value=""/>
-        <property name="test.run.args" value="-ea -Xmx700m ${metabuild.jms-flags.jvm} ${test.jms.flags} -XX:+IgnoreUnrecognizedVMOptions"/>
+        <property name="test.run.args" value="-ea -Xms1200m -Xmx1200m -XX:+UseParallelGC ${metabuild.jms-flags.jvm} ${test.jms.flags} -XX:+IgnoreUnrecognizedVMOptions"/>

Review Comment:
   in another project we use EpsilonGC for tests - it is the most predictable and fastest GC since it doesn't run at all, the JVM exits if it runs out of memory ;)



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


[GitHub] [netbeans] mbien commented on a diff in pull request #4284: improve php test performance

Posted by GitBox <gi...@apache.org>.
mbien commented on code in PR #4284:
URL: https://github.com/apache/netbeans/pull/4284#discussion_r907720224


##########
ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/PathRegistry.java:
##########
@@ -68,7 +68,7 @@
 public final class PathRegistry implements Runnable {
 
     private static final boolean FIRE_UNKNOWN_ALWAYS = false;
-    /*test*/ static final int FIRER_EVT_COLLAPSE_WINDOW = 500;
+    /*test*/ static final int FIRER_EVT_COLLAPSE_WINDOW = Integer.getInteger(PathRegistry.class.getName()+".FIRER_EVT_COLLAPSE_WINDOW", 500);

Review Comment:
   Btw I wanted to make it private but it is actually used by a static inner class (and not in tests). So the `/*test*/` comment was basically false advertisement until now :)
   
   I guess I could make it private but add a non-public getter and add a proper comment.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


[GitHub] [netbeans] matthiasblaesing commented on a diff in pull request #4284: php test performance

Posted by GitBox <gi...@apache.org>.
matthiasblaesing commented on code in PR #4284:
URL: https://github.com/apache/netbeans/pull/4284#discussion_r906825974


##########
ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/PathRegistry.java:
##########
@@ -68,7 +68,7 @@
 public final class PathRegistry implements Runnable {
 
     private static final boolean FIRE_UNKNOWN_ALWAYS = false;
-    /*test*/ static final int FIRER_EVT_COLLAPSE_WINDOW = 500;
+    /*test*/ static int FIRER_EVT_COLLAPSE_WINDOW = 500;

Review Comment:
   Suggestion: Set this from a system property (Full classname + Fieldname?) and default to 500. That way the field can be kept static final and there is no need to twiddle with accessibility of the field.



##########
nbbuild/templates/projectized.xml:
##########
@@ -290,7 +290,7 @@
     <target name="test-lib-init" depends="-init-bootclasspath-prepend,init,-build-libs.junit4">
         <path id="test.unit.lib.cp"/>
         <property name="test.jms.flags" value=""/>
-        <property name="test.run.args" value="-ea -Xmx700m ${metabuild.jms-flags.jvm} ${test.jms.flags} -XX:+IgnoreUnrecognizedVMOptions"/>
+        <property name="test.run.args" value="-ea -Xms1200m -Xmx1200m -XX:+UseParallelGC ${metabuild.jms-flags.jvm} ${test.jms.flags} -XX:+IgnoreUnrecognizedVMOptions"/>

Review Comment:
   Everytime I see people mess with the GC I have to ask this: Is there a measurable improvement switching from G1GC to ParallelGC and does it depend on the JVM version? Pinning the heapsize in my mind is ok.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


[GitHub] [netbeans] mbien commented on a diff in pull request #4284: improve php test performance

Posted by GitBox <gi...@apache.org>.
mbien commented on code in PR #4284:
URL: https://github.com/apache/netbeans/pull/4284#discussion_r907747129


##########
nbbuild/templates/projectized.xml:
##########
@@ -290,7 +290,7 @@
     <target name="test-lib-init" depends="-init-bootclasspath-prepend,init,-build-libs.junit4">
         <path id="test.unit.lib.cp"/>
         <property name="test.jms.flags" value=""/>
-        <property name="test.run.args" value="-ea -Xmx700m ${metabuild.jms-flags.jvm} ${test.jms.flags} -XX:+IgnoreUnrecognizedVMOptions"/>
+        <property name="test.run.args" value="-ea -Xms1200m -Xmx1200m -XX:+UseParallelGC ${metabuild.jms-flags.jvm} ${test.jms.flags} -XX:+IgnoreUnrecognizedVMOptions"/>

Review Comment:
   results look promising so far
   ![ParallelGC](https://user-images.githubusercontent.com/114367/176024486-1b5316c3-d663-4fb6-9d42-f7e4c5f3110c.png)
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org
For additional commands, e-mail: notifications-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists