one example of retarded modern software development
So, lets see, this is kind of a rant ive been wanting to write for a few
years and finally got pissed enough to do so.
so weve all been using this browser from the goog for some years now..
in some ways it seems a great improvement over firefox, in other ways
not so much, but today i want to rant about a way in which it's got to
be doing about the most retarded possible thing, as the only
viable explanation .
Suppose you have a page with a bunch of text, it coudl be anything,
from a page full of the xml or json or key-value pair data dumps that
a lot of software exposes on some port for monitoring, it might just be
a text file with a short story or a letter to grandma, it doesnt really
matter, just that it be text. And not necessarily a whole lot of it either.
50K of text will already visibly aggravate the browser.
What happens is that chrome starts burning an ungodly amount of cpu
doing _something_ with this text. Any operations on that tab become slow-
scrolling, selecting, navigation of the cursor, and forget about searching.
If you get a megabyte or so of data, the thing might seem to freeze up, and
10-20 solid seconds later might again respond to your inputs - which it
will do so very slowly with more freezing up.
A seriously large text file, will just crach the tab altogether.
Now, this cannot be a matter of running out of memory. With, say 5 megabytes
of text, this is 5 megabytes of staic content. no scripts, no doodads,
no graphics, no network connections open and pushing bits, just a static blob
of the most basic data format in the world.. I can see that gmail tab
hogging half a gig or more of memory, constantly hitting the network,
constantly re-updating something, constantly ticking away a percentage
of cpu, i can open up a dozen tabs and play _video_ in them all simultaneously
without a hiccup, but 5 megs of plain old _text_ will bring chrome to its
WTF are you doing in there?
The only things that come top mind are that you're rendering a bazillion
different views and zoom levels and hoarding those in some enormous
stash of memory, or perhaps indexing every n-gram and substring in the whole
thing just in case i wanted to search for 'xyzzy' in there without warning.
Perhaps youre running a whole emulator to handle my text file on a
suitable (virtual) retro platform to pay proper respect to the data format.
perhaps you're translating it on the fly to every language you know of.
but really what the fuck? it's just some fricking text! i want to scroll through
it and possibly search for a string! i'm only even viewing it in your
stupid browser to begin with, because i got to it by way of some other
clicks on other pages and it might be something that isnt going to easily
be accessed from some other mechanism (say i'm looking at logs on some
server, where i have to be authenticated to view them, and , well, sorry
the people who wrote the server only support authentication and access over
https..) and saving the data to a text file to view with something sensible
might be impractical, like, say, i'm on some page that's tailing a log as it's
being written (say this morning i was trying to debug a jenkins build this way)
what the hell are you doing with a couple megabytes of text? Rendering
it on screen as visible characters cannot be difficult, weve been doing that
for decades with cpu's less powerful that the chip that adjusts the led
brightness on this string of christmas lights here... but youre
telling me that modern software on some quad core 16 gigs of memory machine,
cannot scroll through a few megs of text without bogging down to the point
of freezing or crashing?
what the fuck are you doing in there?
This file and all other content on the VAXpower.org site copyright 2008 by G. Economou