Giter VIP home page Giter VIP logo

Comments (1)

anonymouse64 avatar anonymouse64 commented on July 30, 2024

Hi, thanks for the comments.

You're right of course that the primary measurement that we use this for, the time before a window is displayed to the user, is slightly misleading in that the application still is probably not ready to interact with users the way that something like xresponse would measure. This number is still very important to us for a few reasons though:

  1. This number is very user visible. If a user clicks on a window and it takes 500ms vs 50ms to respond, the user will probably notice this, but if it takes 10s vs 1s to display anything after the user clicks on their launcher to open an application it is way more visible and they are much more likely to notice this. We see this in bug reports, on the snapcraft forum, on social media, etc. that users think snaps are slow primarily because they are slow to show a window or show some indication that the snap is opening/working/doing something after they go to launch it. It could certainly be the case that after we have made snap launch time faster than we will then run into the problem of snaps not being as responsive, but since we haven't had as many reports about that problem, we haven't put effort into measuring that problem.
  2. This number also has very usability concerns in that if somebody is booting up their computer and wants to quickly launch a snap app to do something, taking an additional 5s to launch their application does slow them down, where as an application taking another few hundred milliseconds to respond to the user clicking on something most likely does not slow the user down this much.
  3. Our analysis of this number has led us to find performance issues which are probably deeply related to the root cause of other performance issues with snaps. For example, with this measurement I also found that snaps have inefficient dynamic library loading: https://forum.snapcraft.io/t/effects-of-dynamic-library-caching-on-snap-startup-performance/14454 and analyzed the effect of making changes to how dynamic libraries are searched for, and those changes have led to some performance improvements in snaps that will also help non-graphical applications like CLI applications as well. As such, this number is a "good enough" proxy for general snap performance that it was worth the effort we put into analyzing it with this program and continues to pay dividends as we explore new avenues of performance. We may some day run into issues which etrace and the time to display a window do not help us, but we don't want to worry about that until we have to, premature optimization being the root of all evil and such.

Regarding the name, it's a fair criticism the name could be better and there are too many other things named this way, but I rather like how simple it is and naming things is hard and I'd rather work on etrace itself than spend time trying to rename or come up with a better name. 😄

from etrace.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.