# EPF5 Week 6 Updates As I mentioned in update 4, I have some ideas on how to optimize ssz in rust, but I want to take some time this week to actually validate which direction to take this work in. This week I will: - Get good data to test with. The consensus test spec are insufficient to gauge performance on real-world data. - Benchmark ssz15 (peter's implementation) and ethereum-ssz (the lighthouse rust implementation) on real data and identify bottlenecks. - Plotting execution time and also looking at flamegraphs is a good start. - Determine whether encoding or decoding occurs more on the network so I can decide where to focus optimization efforts. It's possible there must be a compromise between encoding or decoding time so it'll be worthwhile to figure out which is more important. Getting these items out of the way will go a long way towards informing development of this new implementation. I'll ask Potuz if he can be my mentor, he seems like a good fit (given his work on `hashtree`) and I'm curious about what he has to say regarding an optimized end-to-end (encoding + hashing) implementation. bad news: I got confused with which hash function is used with ssz. SSZ uses SHA2 not keccak/SHA3 which is what I was targetting. However, as SHA2 follows the Merkle-Damgard construction I think there's still room to encode and hash in lockstep. I'll have to look into that later.