of course, i started this after you made these changes... and i am happy to discover a big waste in my code... i mean epic

also, it does still log now, just not the super complicated shit i had before, even still adds ascii colour to make the links blue on VTE

also, bring it on!

i bet i can make Go code that is within 1%, a recent code contest showed that current Go version was neck and neck with the best algorithm written in java, though i'm sure you realise that is like comparing oranges and tangerines, still, java is not far behind C++ in most things

Reply to this note

Please Login to reply.

Discussion

i never knew that intellij Go plugin now does the full profiling thing... so i can watch flamegraphs and dig into the code that is making them

about 40% of the execution time is from my tag processing and of that 40% is just making slices

so if i can find a way to eliminate all that slice making or reduce it i can win another ~12% on the decoder

the next biggest thing after that is hex.EncodeToString, i'm not sure how much this entails but i'm now going to designate it as my first target, since i know i'm aiming to turn 32 bytes into 64 chars hex, and probably i can eliminate that just by making a 32 bytes to 64 hex encoding buffer

well, these are the two decoding bottlenecks anyway, i only have to chop 20% out and i win

*laughs in provocation*

this is why i thought about the idea of going straight between binary and json, the intermediate format inside the program is a two step conversion process every time for nothing

all you need is a way to extract fields from the binary and from the json quickly without making any memory copies, and you can actually abolish the intermediate format

anyway, that's the gist of the idea... let's see how this works out in real life

i'm just gonna start with eliminating the use of strings in the primary data structure

this is a remarkably pervasive change

also, i hate go strings, they should never be used for any serious work, they should just be removed from the language, and rusticles, they are the only immutable thing in the language, and they are useless, yet you have to write mut mut mut mut you stupid morons

newsflash: writing endless bounds of write only shit in the MMU is a fucking waste

Go is slow garbage, best upgrade to a better lang.

Will, opening with a haymaker…

🍿

😂

he doesn't care about response latency or how long it takes to learn a language properly or how fast it compiles, only how cool he seems

if every ounce of perf matters use C or rust. otherwise, Go is a great language that is very easy to write and has excellent primitives for concurrency and web services. Id venture to say 95% of the time Go speed is not a problem. most code projects dont need to manage memory themselves.

exactly... rust, c and c++ can give you an extra 10-20% throughput

but none of them can give you the low response latency of Go, no matter what you do

that's the thing, what matters more?

unless you are converting video files (without a GPU???) or some other equally long running computation, their advantage is nil to negative, because of the time cost of development and the far harder debugging process

rust is an overly complicated, slow compiling piece of shit, best to downgrade to a smaller, simpler lang with a proper garbage collector instead of one that takes 6 months to learn how to annotate your variables for it, and forces you to explicitly make everything mutable which is almost everything, unlike C which you can only make immmutable by using static

people make their tradeoffs and i prefer to be never able to do much better than 80% performance as Rust when it takes me 20% of the time to write the same code without bugs

and i didn't mention latency... with less than 10% of the response latency, to boot

if rust had first class channels and goroutines i would consider using it, but that's my red line, no coroutines no channels no workee