Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » Elevate Web Builder Technical Support » Support Forums » Elevate Web Builder General » View Thread |
Messages 11 to 12 of 12 total |
Update on EWB 3.x - Feb 2019 |
Wed, Feb 27 2019 12:01 PM | Permanent Link |
Huseyin Aliz myBiss ApS | I would say, give people something to play with
Make clear that its not allowed to ask for support for this build, no warranty, no use for development or production. People with virtualbox images would not mind to play i think Den 11-02-2019 kl. 20:48 skrev Tim Young [Elevate Software]: > My apologies on there not being updates for a while. Where we're at: > > I started testing the server-side applications in anger in late December/ early January, and the performance of the EWB interpreter was just not that great. It was especially bad at large numbers of small computations like tight loops with millions or 1 billion iterations. So, while the interpreter has worked okay in the EWB IDE for design-time usage, I didn't consider it performant enough for general-purpose usage. For example, a simple loop like this: > > project WhileTest; > > var > I: Integer; > begin > I:=0; > while (I < 1000000000) do > I:=I+1; > end. > > would take ~22 secs in PHP (5.6), ~110 secs in Python, and ~740 seconds in EWB (this excludes startup time and only measures the execution time of the main code block). > > The current EWB interpreter that is in EWB 2.x is an AST (Abstract Syntax Tree)-walker where it simply iterates over the token nodes and evaluates them. The execution overhead with such an architecture is/was just too much, resulting in the poor performance. At the very least, I deemed it necessary for the EWB interpreter to be *at least* as fast as PHP 5.x. > > A month ago I started working on a new interpreter for EWB 3, and I'm finishing it up this week. In comparison to the above figures, the new EWB 3 interpreter takes ~11 secs to execute the 1 billion iteration loop above, so it's around twice as fast as PHP 5.x, right around the same performance as PHP 7.x (estimated), and 10 times faster than Python with simple, raw loops that don't do much, which is a fairly good measure of the overhead of the interpreter. > > Another test I ran was populating a 10 million element string array using a user function, in order to get an idea of the function call overhead: > > project ForArrayTest; > > function UserIntToStr(Value: Integer): String; > begin > Result:=IntToStr(Value); > end; > > var > I: Integer; > TempStrings: array of String; > begin > SetLength(TempStrings,10000000); > for I:=0 to 9999999 do > TempStrings[I]:=UserIntToStr(I); > end.; > > This can execute in ~1700 msecs, while native Delphi clocks in at ~570 msecs. > > So, once I finish up the new EWB 3 interpreter, I will be then be completing work on the rest of the runtime library and components for server-side applications and can release a beta. > > Right now it looks like the end of March for such a beta release. > > If you have any questions/comments, please feel free to post them in response. > > Tim Young > Elevate Software > www.elevatesoft.com > |
Wed, Feb 27 2019 12:08 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Huseyin,
<< I would say, give people something to play with >> That will be the beta - the compiler's not entirely ready yet, but the rest of the IDE/web server is ready to go. Tim Young Elevate Software www.elevatesoft.com |
« Previous Page | Page 2 of 2 | |
Jump to Page: 1 2 |
This web page was last updated on Thursday, October 10, 2024 at 02:11 PM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |