1. #31
    Ext JS Premium Member westy's Avatar
    Join Date
    Feb 2009
    Location
    Bath, UK
    Posts
    905
    Vote Rating
    40
    westy is a jewel in the rough westy is a jewel in the rough westy is a jewel in the rough

      4  

    Default


    Quite an argument developing here...

    I think the saner comparison in comparing Ext 3 or Ext 4 is comparing C to C++, not OSes or games.

    C is faster at practically everything, and more efficient on old hardware since it's so much simpler for the compilers to generate optimised code, but C++ brings so much more to the table, including, most relevantly here, object oriented support.
    I believe that is why Ext 4 is slower; it properly supports a class system, with dynamic loading, aliasing, inheritance etc.
    I suppose should also add that it's layout system is far more advanced, but that brings performance penalties...

    I don't know about you, but I find the code in Ext 4, and an application written in it a LOT easier to design, structure, read, understand and maintain. That for me is worth a bit of slowdown. That is worth a lot of slowdown really, when you consider just how painful maintenance and understanding other peoples code can be at times.

    I agree that performance is still often far too slow though, and there is much to improve, but the class system that Ext 4 brought is a massive plus, and I'd have to disagree strongly with anyone who thinks the old way of writing Ext applications is better, because that view is absurd in my opinion.

    Regards,
    Westy
    Product Architect
    Altus Ltd.

  2. #32
    Sencha Premium Member
    Join Date
    Sep 2010
    Posts
    98
    Vote Rating
    5
    plleeuwm is on a distinguished road

      0  

    Default


    Quote Originally Posted by westy View Post
    Quite an argument developing here...

    I think the saner comparison in comparing Ext 3 or Ext 4 is comparing C to C++, not OSes or games.

    C is faster at practically everything, and more efficient on old hardware since it's so much simpler for the compilers to generate optimised code, but C++ brings so much more to the table, including, most relevantly here, object oriented support.
    I believe that is why Ext 4 is slower; it properly supports a class system, with dynamic loading, aliasing, inheritance etc.
    I suppose should also add that it's layout system is far more advanced, but that brings performance penalties...

    I don't know about you, but I find the code in Ext 4, and an application written in it a LOT easier to design, structure, read, understand and maintain. That for me is worth a bit of slowdown. That is worth a lot of slowdown really, when you consider just how painful maintenance and understanding other peoples code can be at times.


    I agree that performance is still often far too slow though, and there is much to improve, but the class system that Ext 4 brought is a massive plus, and I'd have to disagree strongly with anyone who thinks the old way of writing Ext applications is better, because that view is absurd in my opinion.

    Regards,
    Westy
    I agree mostly with this, actually the performance problems are not that big of a concern to me since (4.1). I just thought comparing them to OS's and video games was a bad comparison.

    To address your bolded part:
    The class system has been revamped and 4 and has many more features but that is not why it is slow. It is the layout system that is dragging things down. Ext 4 allows you to write cleaner and more maintainable code with mixins and other class features but the bugs it has on every release is a maintenance nightmare, at least for us. I guess it depends on the size of the codebase. My team of 4 has literally run into 100's of bugs and incomplete features. On my personal project where I used 4.0.2a I only had 1 bug and it has been fixed since. It all depends on how many features are being used.

  3. #33
    Touch Premium Member
    Join Date
    Nov 2010
    Location
    Chicago
    Posts
    1,325
    Vote Rating
    114
    LesJ is a glorious beacon of light LesJ is a glorious beacon of light LesJ is a glorious beacon of light LesJ is a glorious beacon of light LesJ is a glorious beacon of light LesJ is a glorious beacon of light

      0  

    Default


    Quote Originally Posted by westy View Post
    Quite an argument developing here...

    I think the saner comparison in comparing Ext 3 or Ext 4 is comparing C to C++, not OSes or games.

    C is faster at practically everything, and more efficient on old hardware since it's so much simpler for the compilers to generate optimised code, but C++ brings so much more to the table, including, most relevantly here, object oriented support.
    I believe that is why Ext 4 is slower; it properly supports a class system, with dynamic loading, aliasing, inheritance etc.
    I suppose should also add that it's layout system is far more advanced, but that brings performance penalties...

    I don't know about you, but I find the code in Ext 4, and an application written in it a LOT easier to design, structure, read, understand and maintain. That for me is worth a bit of slowdown. That is worth a lot of slowdown really, when you consider just how painful maintenance and understanding other peoples code can be at times.

    I agree that performance is still often far too slow though, and there is much to improve, but the class system that Ext 4 brought is a massive plus, and I'd have to disagree strongly with anyone who thinks the old way of writing Ext applications is better, because that view is absurd in my opinion.

    Regards,
    Westy
    Very well said.

  4. #34
    Ext JS Premium Member
    Join Date
    Apr 2008
    Posts
    359
    Vote Rating
    16
    rich02818 will become famous soon enough

      0  

    Default


    Quote Originally Posted by westy View Post
    ...snip...

    I agree that performance is still often far too slow though, and there is much to improve, but the class system that Ext 4 brought is a massive plus, ...snip...

    Regards,
    Westy
    Quite true. Unfortunately when performance is too slow for end users it simply doesn't matter how much the developers like the toolset.

    Years ago Sencha committed to making ExtJS v4 at least as fast as v3 and apparently has decided to forget about that commitment. For those who've been around long enough, don't forget that v3 was *much* slower than v2. V3 performance was acknowledged to be an issue (by Sencha) and we were first told that v4 was faster, then when that was shown to be completely wrong, were promised it would be fixed... We're still waiting.

  5. #35
    Sencha Premium Member
    Join Date
    Feb 2012
    Location
    Raleigh, NC
    Posts
    421
    Vote Rating
    136
    brian428 is a splendid one to behold brian428 is a splendid one to behold brian428 is a splendid one to behold brian428 is a splendid one to behold brian428 is a splendid one to behold brian428 is a splendid one to behold

      1  

    Default


    Quote Originally Posted by plleeuwm View Post
    I'm sorry I think you are trolling at this point you compared Windows7 and Win 95. You completely ignored the point of V8 getting faster
    Obviously, you completely missed the fact that my comparison of Windows 7 to Windows 95 was to destroy the argument that something is "worse" if it doesn't run as fast on the same hardware. And if you still can't grasp the difference between a narrowly-focused low-level runtime engine like V8 and a high-level GUI-based software library, there's not much else to say.

    Quote Originally Posted by plleeuwm View Post
    and Ext 1,2,3 getting progressively faster but able to produce same gui's but I don't expect you to address those points because you can't.
    Ext 1,2 and 3 gained performance in some areas because they were optimizing and adding incremental features. 4 was a complete re-write that significantly expanded the features and underlying framework core. Additional power and flexibility usually comes with increased complexity under the hood, which means things run faster on new hardware than old hardware. I assumed this was obvious to anyone, but apparently I was wrong.

    I'm weary of this now, so I'll stop here. You guys feel free to go on demanding that Ext JS 5 run as fast as Ext JS 4 on outdated hardware and we'll see how that works out for you.

  6. #36
    Sencha Premium Member
    Join Date
    Sep 2010
    Posts
    98
    Vote Rating
    5
    plleeuwm is on a distinguished road

      0  

    Default


    Quote Originally Posted by brian428 View Post
    Obviously, you completely missed the fact that my comparison of Windows 7 to Windows 95 was to destroy the argument that something is "worse" if it doesn't run as fast on the same hardware. And if you still can't grasp the difference between a narrowly-focused low-level runtime engine like V8 and a high-level GUI-based software library, there's not much else to say.
    I don't think we are talking about the same thing. Ext 3 and 4 can produce the same GUI's and experiences on the same hardware. Windows 7 and 95 can't. The comparison is absurd.


    Quote Originally Posted by brian428 View Post
    Ext 1,2 and 3 gained performance in some areas because they were optimizing and adding incremental features. 4 was a complete re-write that significantly expanded the features and underlying framework core. Additional power and flexibility usually comes with increased complexity under the hood, which means things run faster on new hardware than old hardware. I assumed this was obvious to anyone, but apparently I was wrong.

    I'm weary of this now, so I'll stop here. You guys feel free to go on demanding that Ext JS 5 run as fast as Ext JS 4 on outdated hardware and we'll see how that works out for you.
    Not that you are going to respond but I'll still rip this to shreds. The main gui system of Ext4 can still be written in Ext 3. Ext 3 has Grids, Panels, Containers, Toolbars, Components, Buttons, Menus, Data Views, Button Groups, FormPanels, Html Editors along with all of our favorite layouts including Accordion, Absolute, Anchor, Auto, VBox, HBox, Card, Column, Fit, Table and the list goes on. Give me an Ext 4 gui and I can implement it in 3 and there is a good bet it will be faster in all browsers. I thought this was obvious to anyone, I guess not.

    Quote Originally Posted by brian428 View Post
    Additional power and flexibility usually comes with increased complexity under the hood, which means things run faster on new hardware than old hardware
    Everything runs better on new hardware, not sure what the point is. Then again ill point to the JVM, CLR and V8. Features got added performance got better on the same hardware.

  7. #37
    Sencha Premium Member
    Join Date
    Feb 2012
    Location
    Raleigh, NC
    Posts
    421
    Vote Rating
    136
    brian428 is a splendid one to behold brian428 is a splendid one to behold brian428 is a splendid one to behold brian428 is a splendid one to behold brian428 is a splendid one to behold brian428 is a splendid one to behold

      0  

    Default


    Quote Originally Posted by plleeuwm View Post
    I don't think we are talking about the same thing. Ext 3 and 4 can produce the same GUI's and experiences on the same hardware. Windows 7 and 95 can't. The comparison is absurd. Not that you are going to respond but I'll still rip this to shreds. The main gui system of Ext4 can still be written in Ext 3. Ext 3 has Grids, Panels, Containers, Toolbars, Components, Buttons, Menus, Data Views, Button Groups, FormPanels, Html Editors along with all of our favorite layouts including Accordion, Absolute, Anchor, Auto, VBox, HBox, Card, Column, Fit, Table and the list goes on. Give me an Ext 4 gui and I can implement it in 3 and there is a good bet it will be faster in all browsers. I thought this was obvious to anyone, I guess not.
    Build a locked, buffered data grid with pivoting and right-to-left text in Ext 3. Let me know when that's ready so I can compare it to the Ext 4 version. I'll see you in a few months, after you've completely re-written the Ext 3 grid components.

    Then, build a dependency injection system in Ext 3 that uses class preprocessors to automatically resolve the dependencies at class load and creation time using annotations. Oh wait...you can't, because there are no class preprocessors. Not everything that changed and added overhead was specific to the UI. A lot of it is in the framework core and the class system and was directed at developers rather than end users.

  8. #38
    Sencha Premium Member
    Join Date
    Sep 2010
    Posts
    98
    Vote Rating
    5
    plleeuwm is on a distinguished road

      0  

    Default


    Quote Originally Posted by brian428 View Post
    Build a locked, buffered data grid with pivoting and right-to-left text in Ext 3. Let me know when that's ready so I can compare it to the Ext 4 version. I'll see you in a few months, after you've completely re-written the Ext 3 grid components.
    Congrats you can state the few differences in GUI from 4 to 3 most GUI's can be written in 3. Funny enough you can't do what you are describing in 4.0 4.0.2a 4.0.7 4.1 4.1.1 4.1.2. Also the buffered grid is supported in 3 and it is terrible buggy in 4. If you want pay me for it I can have it to you in less than a month, we've already implemented buffered grids (which work, also support views), grid locking (which can lock from both sides) and some rtl stuff.


    Quote Originally Posted by brian428 View Post
    Then, build a dependency injection system in Ext 3 that uses class preprocessors to automatically resolve the dependencies at class load and creation time using annotations. Oh wait...you can't, because there are no class preprocessors. Not everything that changed and added overhead was specific to the UI. A lot of it is in the framework core and the class system and was directed at developers rather than end users.
    The non ui changes have nothing to do with performance which is what we are arguing about.

  9. #39
    Sencha Premium Member
    Join Date
    Feb 2012
    Location
    Raleigh, NC
    Posts
    421
    Vote Rating
    136
    brian428 is a splendid one to behold brian428 is a splendid one to behold brian428 is a splendid one to behold brian428 is a splendid one to behold brian428 is a splendid one to behold brian428 is a splendid one to behold

      1  

    Default


    Quote Originally Posted by plleeuwm View Post
    The non ui changes have nothing to do with performance which is what we are arguing about.
    It's funny that you think non-UI changes have nothing to do with performance.

  10. #40
    Sencha Premium Member
    Join Date
    Sep 2010
    Posts
    98
    Vote Rating
    5
    plleeuwm is on a distinguished road

      0  

    Default


    Quote Originally Posted by brian428 View Post
    It's funny that you think non-UI changes have nothing to do with performance.
    That is funny that you think it is funny, a bad dom read can take many milliseconds. Having faster non-ui stuff would be nice but for the most part performance is in the ui and dom. Non ui changes are not nothing but they are very very small when compared to the UI. You can define about 800 claseses in 100ms, classes only need to be defined once. In the layout system bad dom reads can happen again and again and again all in front of the end user.

    http://www.sencha.com/forum/showthre...edless-layouts