But sebb, For me, Scripting is not for prototyping in my experience. In the last 10 Load Testing missions I made recently I always had to script at some point. I remember packaging a JAR years ago, it is more intended to developpers and takes more configuration than scripting. It is really much easier to script than package a Jar with classes no ?
Also with syntax coloring we bring a great enhancement on it, so why not make it efficient by default ? Also Groovy+Caching has nearly same performances as classes inside a Jar. We should make performances great by default and not rely on users tune or use the best option, don't you think so ? Thanks Regards Philippe On Tue, Jul 16, 2013 at 11:05 PM, sebb <[email protected]> wrote: > I'll say again: scripting is intended for prototyping. It is not > intended for the casual user. > > The BeanShell jars are really only included because Beanshell was the > first scripting language included; at the time JSR-223 did not exist > and BSF was not entirely functional. Had JSR223/BSF existed, we > probably would not be shipping BSH with JMeter. But it cannot now be > dropped easily. > > On 16 July 2013 21:45, Philippe Mouawad <[email protected]> > wrote: > > Hello, > > I bounce again on this one as I had an interesting experience this > evening; > > > > I was creating a Template for MongoDB, I started creating it with > > Beanshell, and found it strange that throughput was so bad > > 25 Threads, no pause time, one insert, one count: > > > > - Generate Summary Results = 95514 in 300s = 318.3/s Avg: 74 > > Min: 2 Max: 536 Err: 0 (0.00%) > > > > > > I analyzed a bit and to my surprise time was spent in Beanshell > > So I decided to write the same in JSR223+Groovy+Caching: > > > > > > - Generate Summary Results = 1171779 in 300s = 3905.8/s Avg: 6 > > Min: 0 Max: 648 Err: 0 (0.00%) > > > > > > Results: > > > > - Groovy cached performs > 11 times better than Beanshell. > > > > > > *So I am convinced we should ship Groovy with JMeter to encourage users > to > > use it by default.* > > > > Look at the comment at bottom of this page (I am not saying it is > > representative but It is interesting to know how users think and use > JMeter > > sometimes) > > > > - > > > http://www.ubik-ingenierie.com/blog/jmeter_control_percentage_of_sampler/ > > > > What does he say ? > > > > => The main advantage is that BeanShell is installed by *default* with > > JMeter > > > > Opinions ? > > > > > > > > > > On Fri, Jul 5, 2013 at 5:30 PM, sebb <[email protected]> wrote: > > > >> On 5 July 2013 16:24, Danny Lade <[email protected]> wrote: > >> >> -----Ursprüngliche Nachricht----- > >> >> Von: sebb [mailto:[email protected]] > >> >> Gesendet: Freitag, 5. Juli 2013 16:29 > >> >> An: [email protected] > >> >> Betreff: Re: Groovy > >> >> > >> >> > I'm not sure how could you know the code about JSR223TestElement is > >> >> > implementing the support for "script compilation caching", so here > >> comes > >> >> some short code: > >> >> > > >> >> > processFileOrScript() > >> >> > // Hack as in bsh-2.0b5.jar BshScriptEngine implements > >> Compilable but > >> >> throws new Error > >> >> > boolean supportsCompilable = scriptEngine instanceof > >> Compilable > >> >> > && > >> >> > > !(scriptEngine.getClass().getName().equals("bsh.engine.BshScriptEngine > >> >> > ")); > >> >> > > >> >> > Because the JavaScriptEngine is based on the BshScriptEngine the > >> "script > >> >> compilation caching" > >> >> > isn't available for Java, but it is available for groovy. > >> >> > >> >> Which JavaScriptEngine? > >> >> > >> > There is no physical implementation, but if you use the "JSR223 > Sampler" > >> it provides the language "Java". This is made via the > >> BshScriptEngineFactory which provides the information it also "speaks" > Java. > >> > >> OK, I see. > >> > >> > (see > >> > https://code.google.com/p/beanshell2/source/browse/trunk/src/bsh/BshScriptEngineFactory.java?r=94 > >> ) > >> > However, the "script compilation caching" does not work for Java > >> (provided by BshScriptEngine). > >> > > >> > Besides that, it seems they removed the Java support in newer versions > >> (see same link, but newest version). You should consider that if you > think > >> about using "bsh-2.1b5.jar" in the future. > >> > >> No, we cannot use beanshell2 from that source as it is GPL. > >> However the original beanshell code is hopefully coming to Apache. > >> > >> >> > I'm not saying "you must install groovy" , I just want to be sure > >> >> > having a scripting engine with "script compilation caching" working > >> (or without > >> >> any synchronization during runtime). > >> >> > >> >> What I am saying is that there is no need to include Groovy in the > >> JMeter binary > >> >> release. > >> >> It works just as well if it is downloaded separately. > >> >> > >> >> And if the BSH Compilable bug can be fixed, users could then use > >> BeanShell. > >> >> > >> > It's the same on me, I just want to point out the "script compilation > >> caching" with BeanShell. > >> > All I did was to suggest possible solutions (IMO), the decision is all > >> yours. > >> > > >> > Greetings Danny > >> > > >> > > > > > > > > -- > > Cordialement. > > Philippe Mouawad. > -- Cordialement. Philippe Mouawad.
