Hooray, my IPv6 parser is mostly working, and only missing the final cursed case.

It's done. By god, it's done.

I mean, parseIPv6 is also awful and embarassing and much worse than the stdlib implementation right now. But is it at least faster than the stdlib?
Ope never mind, other tests are failing still. Bah.
lol, fuck. Not only is it 50% slower than the stdlib's parser, it's also not alloc-free.
oh, it's because it's benchmarking parsing a zone, and we have to intern the zone... I think.
Yess. For IPs without a zone, my parser is faster and alloc-free. Not hugely faster mind you.
I guess if you squint, it's about as good as the IPv4 parser. It has to touch 4x more bytes, so just under 4x slower isn't that bad.
That said, I'm pretty sure my code is a branch predictor's nightmare right now, not to mention it's entirely unreadable even by my low standards. Needs another round of improving, now that it passes tests.
I think it's time to checkpoint and play Elite Dangerous tonight, but the plan for tomorrow is to see if I can't turn this into a more explicit state machine, so that the code is considering fewer possibilities at any one time.
In general, I think all IPv6s parse in 4 stages:
- Hex before ellipsis
- Hex after ellipsis
- Embedded IPv4
- Zone suffix

All but the first are optional, and the conditionals to decide which new state to transition to is a bit ugly...
... But I think within each state the "happy loop" condition is simple and should keep the CPU and branch predictors pretty happy.
Current WIP, as I pack in for tonight to go play Elite: https://t.co/acwEFavxQi

WARNING: side-effects may include eye bleeding and stomach ulcers.
It also still has a bunch of debugging code in it, the comments may not match the code any more, and I haven't yet iterated on the benchmarks and SSA to see what hand-inlining was actually productive vs. harmful. So it's all hand-inlined, in the worst possible way.
The code's definitely not getting submitted like this, but that's my hacking process I guess :)

More from Internet

🚨 🦮 Seven ways to test for accessibility using only what is already in browser developer tools of Chromium browsers https://t.co/C7kdbigHGE

@MSEdgeDev @EdgeDevTools @ChromiumDev
#tools #accessibility #browsers
Also, a thread: 👇🏼


Issues pane, powered by @webhintio, listing accessibility issues with explanations why these are problems, links to more info and direct links to the tools where to fix the problem.
https://t.co/4K5RynHhbg


The inspect element overlay showing accessibility relevant information of the element, including contrast information, ARIA name, role and if it can be focused via keyboard.


Colour picker with contrast information offering colours that are AA/AAA compliant. You can also see compliant colours indicated by a line on the colour patch.
Note: the current algorithm fails to take font weight into consideration, that's why there will be a new one.


Vision deficit ("colour blindness") emulation. You can see what your product looks like for different visitors.
https://t.co/bxj1vySCAb

You May Also Like

॥ॐ॥
अस्य श्री गायत्री ध्यान श्लोक:
(gAyatri dhyAna shlOka)
• This shloka to meditate personified form of वेदमाता गायत्री was given by Bhagwaan Brahma to Sage yAgnavalkya (याज्ञवल्क्य).

• 14th shloka of गायत्री कवचम् which is taken from वशिष्ठ संहिता, goes as follows..


• मुक्ता-विद्रुम-हेम-नील धवलच्छायैर्मुखस्त्रीक्षणै:।
muktA vidruma hEma nIla dhavalachhAyaiH mukhaistrlkShaNaiH.

• युक्तामिन्दुकला-निबद्धमुकुटां तत्वार्थवर्णात्मिकाम्॥
yuktAmindukalA nibaddha makutAm tatvArtha varNAtmikam.

• गायत्रीं वरदाभयाङ्कुश कशां शुभ्रं कपालं गदाम्।
gAyatrIm vardAbhayANkusha kashAm shubhram kapAlam gadAm.

• शंखं चक्रमथारविन्दयुगलं हस्तैर्वहन्ती भजै॥
shankham chakramathArvinda yugalam hastairvahantIm bhajE.

This shloka describes the form of वेदमाता गायत्री.

• It says, "She has five faces which shine with the colours of a Pearl 'मुक्ता', Coral 'विद्रुम', Gold 'हेम्', Sapphire 'नील्', & a Diamond 'धवलम्'.

• These five faces are symbolic of the five primordial elements called पञ्चमहाभूत:' which makes up the entire existence.

• These are the elements of SPACE, FIRE, WIND, EARTH & WATER.

• All these five faces shine with three eyes 'त्रिक्षणै:'.