• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Groovy performance collapse from 4.0.6 to 4.0.7

 
Greenhorn
Posts: 2
  • Number of slices to send:
    Optional 'thank-you' note:
I have analyzed groovy performance in my multi threaded, cpu and memory intensive, non-network related, proprietary application. Graph attached.

The attached graph depicts 10 runs using Java openjdk 17.0.9 2023-10-17 LTS. Each peak in the graph shows the start of a run, which then stabilizes in a downward trending slope and ends when stopping the application. After which starts a new run with a new peak. There are 10 peaks/runs, each with Groovy versions 3.0.19, 3.0.20, 4.0.2, 4.0.3, 4.0.4, 4.0.5, 4.0.6, 4.0.7, 4.0.8, 4.0.9.

Between 4.0.6 to 4.0.7 there is a collapse in performance as shown in the attached graph which persists up until the latest version of 4.0.17.

This means that all Groovy versions of 4.0.7 an above are useless in the application.

Is there some specific change between 4.0.6 and 4.0.7 that might help explain why this issue was introduced? Maybe some feature in the language that one might want to avoid for example?

Is anyone aware of this performance collapse?

Thank you
Screenshot-from-2024-01-06-14-52-26.png
groovy performance
 
Bartender
Posts: 217
7
  • Number of slices to send:
    Optional 'thank-you' note:
Hello Per and Welcome to Coderanch!

Can you share a kind of benchmark that shows the performance degrade in newer groovy versions?  It's impossible to comment on something behaviour of proprietary code.

And searching for "groovy performance" did not reveal any finding for the problem you mentioned (except this Coderanch post)
 
Per Eriksson
Greenhorn
Posts: 2
  • Number of slices to send:
    Optional 'thank-you' note:
Hi Roland,

The exact same trend continues for all versions of Groovy from 4.0.7 up to the latest 4.0.17.

Something was introduced in version 4.0.7 that makes my use case slow.

But it seems that this thread, or the similar one I made at SO, either hasn't garnered enough attention or the root of problem is simply unknown.

Anyway, thank you for your effort to respond.

/Per
 
Master Rancher
Posts: 4913
74
  • Number of slices to send:
    Optional 'thank-you' note:
It sees like this performance issue hasn't been noticed by other users... at least, not enough to attract attention.  My guess is, there isn't usually a problem for most people.  There's something specific about your code, in combination with some change they made in Groovy 4.0.5, that creates the problem.  There may be no way for anyone else to observe this, unless they see your code.  Or, unless they see some code that is sufficiently similar to yours, that contains the same problem when it's run under Groovy 4.0.5+.  Since your code is proprietary, that makes it difficult for other people to observe it.

I would try some combination of the following:

1) Use a JVM profiler to find out what the JVM is spending all it's time doing.  What specific methods (Groovy or Java) are taking up all of its time?

2) Try to create alternate, smaller versions of your project code, by disabling or removing sections of code, to see if you can reproduce the problem with a smaller set of code.  Ideally, if you can reproduce a similar problem with a small enough set of code, you may be able to eliminate the proprietary parts that you can't show us.  
reply
    Bookmark Topic Watch Topic
  • New Topic
vceplus-200-125    | boson-200-125    | training-cissp    | actualtests-cissp    | techexams-cissp    | gratisexams-300-075    | pearsonitcertification-210-260    | examsboost-210-260    | examsforall-210-260    | dumps4free-210-260    | reddit-210-260    | cisexams-352-001    | itexamfox-352-001    | passguaranteed-352-001    | passeasily-352-001    | freeccnastudyguide-200-120    | gocertify-200-120    | passcerty-200-120    | certifyguide-70-980    | dumpscollection-70-980    | examcollection-70-534    | cbtnuggets-210-065    | examfiles-400-051    | passitdump-400-051    | pearsonitcertification-70-462    | anderseide-70-347    | thomas-70-533    | research-1V0-605    | topix-102-400    | certdepot-EX200    | pearsonit-640-916    | itproguru-70-533    | reddit-100-105    | channel9-70-346    | anderseide-70-346    | theiia-IIA-CIA-PART3    | certificationHP-hp0-s41    | pearsonitcertification-640-916    | anderMicrosoft-70-534    | cathMicrosoft-70-462    | examcollection-cca-500    | techexams-gcih    | mslearn-70-346    | measureup-70-486    | pass4sure-hp0-s41    | iiba-640-916    | itsecurity-sscp    | cbtnuggets-300-320    | blogged-70-486    | pass4sure-IIA-CIA-PART1    | cbtnuggets-100-101    | developerhandbook-70-486    | lpicisco-101    | mylearn-1V0-605    | tomsitpro-cism    | gnosis-101    | channel9Mic-70-534    | ipass-IIA-CIA-PART1    | forcerts-70-417    | tests-sy0-401    | ipasstheciaexam-IIA-CIA-PART3    | mostcisco-300-135    | buildazure-70-533    | cloudera-cca-500    | pdf4cert-2v0-621    | f5cisco-101    | gocertify-1z0-062    | quora-640-916    | micrcosoft-70-480    | brain2pass-70-417    | examcompass-sy0-401    | global-EX200    | iassc-ICGB    | vceplus-300-115    | quizlet-810-403    | cbtnuggets-70-697    | educationOracle-1Z0-434    | channel9-70-534    | officialcerts-400-051    | examsboost-IIA-CIA-PART1    | networktut-300-135    | teststarter-300-206    | pluralsight-70-486    | coding-70-486    | freeccna-100-101    | digitaltut-300-101    | iiba-CBAP    | virtuallymikebrown-640-916    | isaca-cism    | whizlabs-pmp    | techexams-70-980    | ciscopress-300-115    | techtarget-cism    | pearsonitcertification-300-070    | testking-2v0-621    | isacaNew-cism    | simplilearn-pmi-rmp    | simplilearn-pmp    | educationOracle-1z0-809    | education-1z0-809    | teachertube-1Z0-434    | villanovau-CBAP    | quora-300-206    | certifyguide-300-208    | cbtnuggets-100-105    | flydumps-70-417    | gratisexams-1V0-605    | ituonline-1z0-062    | techexams-cas-002    | simplilearn-70-534    | pluralsight-70-697    | theiia-IIA-CIA-PART1    | itexamtips-400-051    | pearsonitcertification-EX200    | pluralsight-70-480    | learn-hp0-s42    | giac-gpen    | mindhub-102-400    | coursesmsu-CBAP    | examsforall-2v0-621    | developerhandbook-70-487    | root-EX200    | coderanch-1z0-809    | getfreedumps-1z0-062    | comptia-cas-002    | quora-1z0-809    | boson-300-135    | killtest-2v0-621    | learncia-IIA-CIA-PART3    | computer-gcih    | universitycloudera-cca-500    | itexamrun-70-410    | certificationHPv2-hp0-s41    | certskills-100-105    | skipitnow-70-417    | gocertify-sy0-401    | prep4sure-70-417    | simplilearn-cisa    |
http://www.pmsas.pr.gov.br/wp-content/    | http://www.pmsas.pr.gov.br/wp-content/    |