On Thu, 5 Mar 2020 at 17:28, Vladimir Sitnikov
<sitnikov.vladi...@gmail.com> wrote:
>
> >Properties, XML, etc are not executed by the JVM; they are effectively
> >just data.
>
> BeanShell, JavaScript, and Groovy are not "just data", but it is code which
> is a part of JMeter.
>
> So far I see no technical justification for requiring all transitive
> dependencies to be written in Java language only.

I'll try again.

+ The main reason is portability.

Compiled Java source is portable to all systems that have a suitable JVM.

Native code is inherently not portable.

+ Another reason is that compiled Java byte code cannot cause a JVM crash.
Native code can (and does) cause crashes, and these are generally very
difficult to debug.

+ A third reason is that Java source code only needs a JDK to compile it.
There is no need to install additional compilers.
Indeed you can compile the code on one OS and deploy on another.

Native code usually means installing a C-compiler.
Unfortunately, there are lots of varieties of C-compilers with
incompatible options and syntax.
This make compiling native code rather difficult and error-prone
Also compilation generally has to be done on the same OS version.

===

As far as JMeter is concerned, it is the first two reasons that are
most important.
The 3rd reason is of more concern to creators of distributions.

===

Note that BeanShell, JavaScript (Rhino) and Groovy are themselves pure
Java - that is why the same jar can be used on all OSes.

===

I hope you now understand what 100% Pure Java is about and why it is
important to JMeter?

> Vladimir

Reply via email to