Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Why browsers are bloated [Part 2]

Name: Anonymous 2016-04-23 22:49

Cudder is all talk and no action!

Name: Cudder !cXCudderUE 2017-04-24 11:18

The HTML5 entities list and code, after cleaning out the dupes and other crap, still turns into >20k of binary (i.e. around 2/3 as big as everything else so far; which includes a HTML tokeniser/parser, DOM viewer, UI, and crude renderer)... the HTML4 ones are a slightly better ~4k.

Especially since it's not needed for Acid2 pass and would otherwise contribute to >30% of my 64k budget, I'll stay with the 253 HTML4 entities. It'll be easy to add the rest of them anyway.

Name: Anonymous 2017-04-24 11:26

>>241
if it doesn't pass Acid3--it's shit

Name: Anonymous 2017-04-24 11:47

>>241
xir's back, everyone.
/prog/spoiler] is complete again

Name: Anonymous 2017-04-24 14:25

Cudder is back! Cudder is back!!!
I love you Cudder, stay strong!

Name: Anonymous 2017-04-24 14:25

>>243
Where is LAC.

Name: Anonymous 2017-04-24 14:36

>>245
I recall that LAC appeared on the /prog/rider IRC once to say that he was done playing his character and while that might have been an imposter he hasn't posted since. I really miss his rants about stakboi retoids.

Name: Cudder !cXCudderUE 2017-04-25 0:47

Name: /jewtube/ 2017-04-25 7:48

/jewtube/

Name: Anonymous 2017-04-25 14:02

>>246
Sad
Is there any other /prog/rider irc?

Name: Anonymous 2017-04-25 14:27

>>249
/prog/rider is dead, so no. There was progrider@conference.jabber.ccc.de during the shutdown, but it pretty much became the goatfinger chatroom after a while. No idea if it's even alive anymore.

Name: Anonymous 2017-04-25 17:52

Jabber and XMPP in general are ugly so I don't think that I missed much.

Name: Anonymous 2017-04-25 17:55

Will Cudder's browser support Jabber and XMPP?
These are the questions on everyone's mind.

Name: Anonymous 2017-04-25 19:49

I want to browse NNTP, can I?

Name: Cudder !cXCudderUE 2017-05-01 10:51

>>252-253
If it's not HTML it's not.

I just noticed the WhatWG can't spell either:

https://html.spec.whatwg.org/multipage/syntax.html#hexademical-character-reference-start-state

They've also introduced a bunch of completely unnecessary states and a "temporary buffer" just for character references. What a load of bullshit. The spec was already disgustingly verbose, and they made it even worse.

Name: Anonymous 2017-05-01 10:55

>>254
Well opera has an email and irc client, yet they both aren't HTML

Name: Anonymous 2017-05-01 11:11

>>254
I never took a look at web specs until now, but what the fuck is this? This looks like spec-by-implementation, except that the implementation isn't in a programming language.

Name: Anonymous 2017-05-01 11:49

>>255
Bloat

>>254,256
Why don't you email the committee with all the mistakes and foolishness that you have found? I am actually interested to see how they are going to defend this cancerous radioactive mess.

Name: Anonymous 2017-05-01 11:50

>>257
Committees don't listen to hobbyists.

Name: Anonymous 2017-05-01 11:53

The www should have used postscript!

Name: Anonymous 2017-05-01 21:59

>>259
They should have used scheme

Name: Anonymous 2017-05-01 22:21

Scheme should replace TEX!

Name: Cudder !cXCudderUE 2017-05-02 11:34

>>257,258
Many years ago when this first started I tried to ask them to replace a quadratic-time algorithm in the spec with a linear-time one which produced the identical results, but they didn't care. You are welcome to try, however.

Name: Anonymous 2017-05-03 3:21

>>5
- email alerts whenever someone posts /Cudder/gi
Um, what?

Name: Anonymous 2017-05-03 7:14

>I tried to ask them to replace a quadratic-time algorithm in the spec with a linear-time
Which one?

Name: Cudder !cXCudderUE 2017-05-03 11:33

>>264
https://html.spec.whatwg.org/multipage/syntax.html#adoption-agency-algorithm
See if you can figure out how it actually works by reading that description... it is really a simple algorithm, but the W3C managed to fuck it up as usual and turn it into a monsterously verbose mess.

Name: Anonymous 2017-05-03 12:48

>>262
Many years ago when this first started I tried to ask them to replace a quadratic-time algorithm in the spec with a linear-time one
Read https://wiki.whatwg.org/wiki/FAQ

Name: Cudder !cXCudderUE 2017-05-04 11:42

>>266
Exactly. I'm not wading through that bureaucratic bullshit.

Name: Anonymous 2017-05-04 12:57

>>267
That's why they didn't care

Name: Cudder !cXCudderUE 2017-05-10 3:35

Some unintentional humour I found while cleaning up the code.

#define IDonkeydown 199
#define IDonkeypress 200
#define IDonkeyup 201

Name: Anonymous 2017-05-13 17:18

Is this a direct competitor to the aging elinks?

Name: Cudder !cXCudderUE 2017-05-14 3:44

>>270
Does elinks support CSS at all?

Read the thread and the previous one ( https://dis.tinychan.org/read/prog/1406427616 ) --- it will be competing with Dildo, Netsurf, and IE6.

Name: Anonymous 2017-05-14 9:25

>>271
Elinks supports CSS 2.1

Name: Cudder !cXCudderUE 2017-05-15 11:45

>>272
It's still text-only.

I found some interesting benchmarks (featuring most of the parsers discussed in the last thread):

https://lexborisov.github.io/benchmark-html-persers/

It's mostly an advert for MyHTML, which turns out to be faster than the others, but I haven't been able to benchmark it against mine since his benchmark code is not usable on Windows... and I don't have the same hardware so the results there aren't comparable.

Meanwhile, I've improved mine so it parses the original HTML5 spec page I was using for testing in 46ms. It started at ~170ms, then moved down to 70ms, 60ms, and now 46ms. Amusingly enough, assembling and linking the compiler output vs. letting the compiler do it, makes it faster by ~3ms (to 43ms.) The original progrider page took 8ms; it's down to 1.2ms.

Maybe it's good enough now, and I should move onto CSS parsing...

Name: Anonymous 2017-05-15 14:05

Will anyone design a new car from scratch, just because others are expensive and bloated? Thats seems like a waste of effort

Name: Anonymous 2017-05-15 14:48

>>274
Is it still​ a waste if you design it to be easily produced, say with a 3D printer?

Name: Cudder !cXCudderUE 2017-05-16 2:28

I think I have a competitor, who coincidentally also seems to be Russian:

https://lexborisov.github.io/myhtml/

His code is rather WTF, however --- you wouldn't do this if you were actually thinking about what you're writing:

https://github.com/lexborisov/Modest/blob/master/source/modest/style/default.c

In any case, I should try to compile and benchmark it...

Name: Anonymous 2017-05-16 7:15

I had no idea that Cudder-sama was Russian!

Name: Cudder !cXCudderUE 2017-05-16 11:51

Preliminary benchmarks (MyHTML in single-threaded mode, so it's operating in a similar fashion to mine)!

Some basics:


Parser Binary Size Contents
------------------------------------------------
MyHTML 1123KB DLL + 30KB EXE parser+CLI
parseh(mine) 29.5KB EXE parser+GUI


Huge size advantage in my favour.

The ~1MB HTML5 spec:

Parser Mem Time
------------------------------
MyHTML 11.3MB 27.7ms
parseh(mine) 3.72MB 43.6ms


Mine looks significantly slower, but MyHTML is reading the whole file into memory and processing it in one go whereas I'm doing it in 4KB blocks (much like a real browser would, for incremental rendering). I'm also using 1/3 of the memory, and there is some GUI stuff too --- the crude DOM viewer and renderer is part of this, whereas MyHTML is only the parser with the bare minimal CLI needed to make it parse.

How about something bigger... much bigger?

100MB of HTML:

Parser Mem Time
------------------------------
MyHTML 1850MB 32957ms
parseh(mine) 540MB 8506ms


This eliminates any startup overhead and shows that even when it's reading 4KB at a time, mine is almost 4x faster and uses 3/10ths of the memory. Cache effects are important here.

Name: Anonymous 2017-05-16 21:48

>>278
The main difference is that MyHTML didn't take 4 years and is cross-platform.

Name: Anonymous 2017-05-16 23:28

>>278
where did you get the 100mb of html?

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List