Github user jloisel commented on the issue:

    https://github.com/apache/jmeter/pull/221
  
    > That basically means if newer Webdriver would use Guava 20, that might 
render "newer webdriver incompatible with older JMeter". 
    
    Well, in 2.13 webdriver plugin was already breaking JMeter by using 
HttpClient 4.5.2 while JMeter was using 4.2.6. The solution to dependency 
problem is not to not use any dependency at all. What if you write everything 
by yourself? You end up maintaining a lot more code, and probably less well 
written than someone who wrote and maintained a library doing this for years.
    
    > JMeter needs high-performant algorithms
    
    First make it right, then make it fast. Stop optimizing all the time. 
Optimization comes with a major trade-off, code complexity. Hashing is surely 
not the bottleneck in JMeter overall performances.
    
    > On the other hand, if we integrate Guava, then end-users would notice 
nothing (Guava has nothing to do for day-to-day JMeter usage), except 
"increased download size".
    
    Sure, downloading 2MiB of additional dependencies adds exactly 1 sec with a 
standard 20Mbits DSL connection. commons-math3 takes 2.2 MiB and is being used 
by exactly 4 classes in JMeter. Should we write the statistics computation from 
scratch to save those 2MiBs? Hell no.
    
    > In other words: building Groovy in would be visible to end-users. On the 
other hand, if we integrate Guava, then end-users would notice nothing.
    
    This is the kind of reasoning which made me leave a software company. 
Refactoring was considered not adding any value for the end user. Needless to 
say they are unable to maintain the product anymore today.
    
    When using a library written by somewhere else which does the job for you 
instead writing the code yourself, it's like "hiring someone to do the job for 
you". And He takes care of maintaining that stuff, instead of you.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to