## Week 6 - 7 ### Intro This report will be relatively more concise compared to my usual reports as I had a brief holiday break. I dedicated my time to more reading, focusing on topics that would prove beneficial for certain aspects of my project proposal— specifically regarding optimizing programming performance in Rust. Additionally, during these two weeks, I have successfully finalized and prepared my project proposal presentation scheduled for week 8 as well as reaching out to the Lighthouse team. ### Project's proposal You can read it here: https://github.com/eth-protocol-fellows/cohort-four/blob/master/projects/improve-metrics-and-performance-lighthouse.md and the slides are here: https://app.pitch.com/app/presentation/08f399bb-082c-48d5-964f-9eb8b89e9d63/5f8d7864-707d-487a-a7ee-a1559a8940e7/aec7f5e7-f5b3-49f1-8064-9a3ad9936577 **Improving Lighthouse metrics and performance** - eg. Exposing the missed block metrics within the monitored pool of validators - More metrics directly exposed at the CL level which enhances validators’ behaviour understanding and alerting - Better assessing Lighthouse validators’ performance - Improves visibility on how the validator performs for each task - Improves resilience and monitoring - Allows for direct performance feedback when a task is being introduced or modified - Introduce job simulators (eg. simulating 32 attestation per epoch) - Allows for easier transitioning into the protocol's modifications as already tested and benchmarked I read a few in-depth performance articles for Rust so I will be ready once I am done with the first step of my project's proposal. I also want to be able to play with the different optimisation/performance options that Rust has to offer and see if it'd be possible to enhance the performance of LH: - [optimizing rust code inline assembly]( https://codedamn.com/news/rust/optimizing-rust-code-inline-assembly-performance-boosts) - [dynamic/static dispatch and representation in vtables](https://www.linkedin.com/pulse/dynamic-static-dispatch-rust-amit-nadiger/) - [inline official doc](https://doc.rust-lang.org/reference/inline-assembly.html) - [Compare the Assembly Generated for Static vs Dynamic Dispatch in Rust](https://www.eventhelix.com/rust/rust-to-assembly-static-vs-dynamic-dispatch/#:~:text=Rust%20supports%20two%20types%20of,not%20known%20at%20compile%20time.) - [Rust static vs dynamic dispatch benchmark](https://medium.com/@techhara/static-vs-dynamic-dispatch-performance-comparison-2a730ac3341c) - [Rust static vs dynamic dispatch micro optimisation](https://gist.github.com/greister/37289c6eb3629d4fefa7dd0acf6de378)