@toly@7LayerMagik I don't think we need a complete rewrite, but a major pain-point is the feedback loop when developing on / debugging issues with the labs client due to long startup time. Makes a lot of sense to split up into multiple processes and make qol changes for development.
@0xrwu UX/Problem solving potential aren't disjoint from the chain.
There's also a certain chaos in that some users are maxis / behave unpredictably and irrationally.
Logically, though, the take makes sense.
@datascraper69@0xEdgar Extra mov instruction is from initializing padding that wouldn't otherwise need to be initialized. The use of memory-based return strategy (even when using a MaybeUninit<u32>) instead of register based is interesting. Compiler seems conservative about possible future use
@datascraper69@0xEdgar Something like that? Manually adding padding fields would force me to initialize them, which I suppose is what bytemuck wants? This has overhead. Technically, reading uinit memory in Rust is undefined behavior, but this shouldn't matter for padding anyways...
@datascraper69@0xEdgar This requirement also extends to padding at the end and strikes me as extremely odd. Disallowing padding prevents extremely basic alignment optimizations and essentially renders bytemuck moot for any kind of HPC.
@0xEdgar Likely was just lazy. Dealing with padding when deserializing is annoying.
You're correct that unaligned data accesses can cause a ton of overhead.
x86 is more forgiving, on modern x86 CPUs the issue is words spanning multiple cache lines.
Older ARM CPUs don't even allow this
@jordaaash@jump_firedancer@solanalabs Labs client can only keep up if block CU is artificially limited, which is currently the case. I don't see a world where labs client will have TPS capability even close to that of Firedancer.
@toly The funniest part of all of this is that DeFi is infinitely more transparent than the US Fed will ever be. He's accusing of creating the problem but in reality we're solving it. Don't let fear-mongering from people on top keep us on the bottom
@ponzirespecter MEV strategies that exploit "MEV Proof" protocols are generally more long-tail so my alpha is harder to detect.
Basic MEV like arb is more likely to be returned to users.
Z.
@Web3Omega@mert https://t.co/GJpDTNX9GZ
Currently it's 64. There's a feature gate that will increase it to 128.
If you think it's 256 though, I'm willing to bet 😉