dragome-sdk icon indicating copy to clipboard operation
dragome-sdk copied to clipboard

StringBuilder is very slow

Open neuronsupport opened this issue 7 years ago • 6 comments

For string concatenation which is faster with Dragome? StringBuilder does not seem to be fast. It uses array and uses array push for append. Is concat method of String faster? what do you recommend?

neuronsupport avatar May 05 '17 13:05 neuronsupport

StringBuilder uses array for concatenation. This is very slow. GWT uses plain javascript strings with StringBuilder. I would recommend taking the GWT approach instead of array.

neuronsupport avatar May 07 '17 05:05 neuronsupport

https://jsperf.com/string-concat-vs-array-join-10000/2

neuronsupport avatar May 07 '17 06:05 neuronsupport

"ScriptHelper.eval*", is this really javascript eval? Or dragome creates raw javascript method for it?

neuronsupport avatar May 08 '17 11:05 neuronsupport

Hi @norzak sorry for the delay, ScriptHelper in general creates raw js for eval, but in some particular cases, for example when you are not using a constant string as parameter it uses eval.

fpetrola avatar May 08 '17 17:05 fpetrola

It seems it could easy to use gwt implementation: https://github.com/gwtproject/gwt/blob/master/user/super/com/google/gwt/emul/java/lang/StringBuilder.java We can try it

fpetrola avatar May 08 '17 17:05 fpetrola

Great. I agree.

neuronsupport avatar May 09 '17 05:05 neuronsupport