Those FRICKING monkeys stole your stuff! Get it back!
(Also, remember to leave a comment if you did something interesting )
Those FRICKING monkeys stole your stuff! Get it back!
(Also, remember to leave a comment if you did something interesting )
Now playing: Donkey Kong Country Theme (DJ AG Remix) (DKC).mp3
Jump in the discussion.
No email address required.
me vs snakes vs @everyone
logarithmic scales, each point is the average of three measurements, figures in milliseconds
C++chads simply cannot stop winning @drama_enthusiast discuss
Jump in the discussion.
No email address required.
aight fruitcake, ready for your
plot these assemblyscript stats:
here's the calling ts code:
and the compiled code's actually portable too, u can run it in a web browser.
god i miss closures tho ... not that u'd know what those r ...
Jump in the discussion.
No email address required.
taking double digit millisecond for 10.000 throws
Those are average over 3 runs
Jump in the discussion.
No email address required.
if i hardcode the LCM mod number, it is even faster, the compiler then can actually try to optimize it.
here is the final code if anyone cares: https://pastebin.com/hxuNpb0v
Jump in the discussion.
No email address required.
couldn't make it that much faster. tried my own push/pop with static arrays, inlined lcd, inlined all my functions, removed error case branching, swapping forEach for whiles, and got the 1M time down to ~700ms.
almost within spitting distance, but i might be running up against a vm tax here.
you running on anything fancy?
Jump in the discussion.
No email address required.
no just an old ryzen 5 2600, that boost to like 3.9GHz
Is there a profiler for this kind of code? The visual studio profiler helped a lot in finding the exact lines of codes that take a while to run.
Jump in the discussion.
No email address required.
probably. there are both rust and cpp front ends to wasm, and both have profilers ... but i choose assemblyscript cause i'm a filthy web app programmer, and i dunno about anything easy to plug and play with that. since when do web programmers care about optimization?
but alas ... today's a work day, i have too much non-programming bs to deal with for fun stuff like micro-optimizing code. who gives a shit about that when ur at a multibillion dollar company?
Jump in the discussion.
No email address required.
More options
Context
More options
Context
More options
Context
huh, hardcoding lcd didn't seem to affect my runtime.
but i'm pretty tired maybe i'll take another look at it when it get up.
did i mention my code is actually portable?
Jump in the discussion.
No email address required.
More options
Context
More options
Context
More options
Context
cpu? I ran my benchmark on a 5800X with
conservative
as frequency governor. Also I'm benchmarking the whole process' time, not onlyconsole.log((Date.now() - start));
kinda unfairJump in the discussion.
No email address required.
lol, ok there snowflake. i ran the calling code as js instead of ts and timed the process with the shell time built in.
my 1mil count stats are between 890-910ms. not a big diff. if u want to go add 50ms to all the stats, that's fine. maybe i could find a way to run the wasm directly, and shave that, but i care not.
Jump in the discussion.
No email address required.
More options
Context
apple m1 max, just stock. not plugged in, but that prolly didn't matter.
this is using release build, so max compiler optimizations i think. idk, i never used assemblyscript or webassembly before this ... i just installed and darn i'm impressed.
data structure awareness helps. going from a shift() to pop() on my item processing saw 30% reduction in my 1mil count runtime.
Jump in the discussion.
No email address required.
More options
Context
More options
Context
All them words won't bring your pa back.
Jump in the discussion.
No email address required.
More options
Context
More options
Context
Nice work king but,
replace std::list with a higher performance datastructure
Replace obsolete types for example: long long vs int64_t
split that biggest line and make it more readable
use avx-512 instructions to further humilate the competition
Jump in the discussion.
No email address required.
More options
Context
More options
Context