Future standard GUI library
Wolfgang Keller
feliphil at gmx.net
Sat Jun 15 08:25:02 EDT 2013
> Okay... how long does a round-trip cost?
With a protocol that wasn't made for the purpose (such as HTTP) and all
that HTML to "render" (not to mention javascript that's required for
even the most trivial issues) - way too long.
> Considering that usability guidelines generally permit ~100ms for
> direct interaction,
That's "generous".
A proficient user with a responsive application can easily outpace that.
100ms is definitely a noticeable lag. Even I feel that and I don't use
touch-typing to use the GUI. 50ms might not be noticeable, but I don't
have the skills myself to test that.
> (Magento, a PHP-based online shopping cart system, took the better
> part of a second - something in the order of 700-800ms
> - to add a single item. And that on reasonable hardware, not a
> dedicated server but my test box was certainly not trash.)
That's not a question of hardware. Just like with MS (Not Responding).
> That's the entire round-trip cost. The queries from Sikorsky to
> Yosemite involve three computers (the client, the server, and the file
> server), and is completed in under 30 milliseconds.
I am talking about applications that actually do something. In my case,
database applications. A PostgreSQL transaction is supposed to take at
most 25ms to complete (anything above is generally considered an issue
that needs to be solved, such as bad SQL), *server-side*. That leaves
you another 25ms for the entire network protocol (the pgsql protocol,
whatever it is, was designed for the purpose, unlike HTTP) *and* the
client-side application logic, including the GUI "rendering".
Qt is already quite sluggish sometimes, don't know why. GTK and
wxPython "feel" swifter, at least on an actual *operating* system. MS
(Not Responding) is definitely incapable to allow applications anything
remotely close to "responsiveness". Minute-long lockups with frozen
cursor are "normal".
> That still gives you 70 milliseconds to render the page to the user,
Forget that.
25ms for client-server (pgsql) network protocol, client-side
application logic *and* GUI.
With a "web" application that would have to include "application
server"-side application logic, *and* generation of HTML (and
javascript), *and* HTTP protocol *and* HTML "rendering" *and*
client-side javascript.
Won't work.
Sincerely,
Wolfgang
More information about the Python-list
mailing list