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.
---