---
# System prepended metadata

title: 'Week 2: EPF Update'

---

# EPF Dev Update 2

1. Made more headway in  understanding the [IL-EVM issues](https://github.com/NethermindEth/IL-EVM/issues)
2. Made progress in reading the code in the [feature/IL-EVM branch](https://github.com/NethermindEth/nethermind/tree/feature/il-evm). Reading and understanding should be all done by the coming week.
3. Installed Visual Studio and configured a Windows virtual machine. Even though Linux will be the main development environment, Windows has better .NET tooling. This will enable me to leverage additional tools for the project. 
4. I am gradually getting acquainted with the.NET world, particularly with tools related to performance measurement, such as [PerfView] (https://github.com/microsoft/perfview) and debugging (WinDbg).
5. Studied C#, looked at a few resources describing .NET high performance techniques. 
6. Wrote some demo programs using Sigil.
7. I examined the source code for a few Sigil functions that are used in the IL-EVM branch (ILCompiler and ILExtensions). I am studying these functions by going through their tests in the Sigil source code, observing the definitions and Op Codes that the functions emits, and reading about them in the [OpCode Class] (https://learn.microsoft.com/en-us/dotnet/api/system.reflection.emit.opcodes?view=net-8.0).
8. Examining code that could be helpful for IL generation, such as this one, which was suggested in the issues [protobuf-net CompilerContext](https://github.com/protobuf-net/protobuf-net/blob/main/src/protobuf-net/Compiler/CompilerContext.cs).
