# ignacio (jsign) - Update 5 TL;DR: - I found and ported a faster implementation of finite field inverses that is 1.5x faster (-33% less time) than our current implementation. - This finding [was shared and celebrated in #verkle-trie-migration](https://discord.com/channels/595666850260713488/824798757618188339/1039309990684532746)! A bit more details in that message. - [I created a PR updating our current implementation](https://github.com/crate-crypto/go-ipa/pull/26), and it was merged. - Despite this “improving finite-field element inverse” might sound abstract, [it had a double-digit performance improvement in important work done in Verkle Tries](https://github.com/jsign/verkle-vs-patricia/pull/3). This is no coincidence since part of my previous work was benchmarking bottlenecks of Verkle Tries. - [I upstreamed this faster implementation to go-verkle, which positively impacted a reference benchmark (`replay-blocks`) that Guillaume uses as an end-to-end benchmark to understand Verkle Tries performance.](https://github.com/gballet/go-verkle/pull/290#pullrequestreview-1174603554) - Kevaundray created a new cryptographic primitive to transform elliptic curve points to finite field points in batches, which may soon be used in `go-verkle` to solve other bottlenecks. I decided to help a bit explore this path - I created a benchmark to understand how it compares to the current way we do this transformation (single elements instead of batch mode) - [That benchmark triggered some interesting discussions and further improvements in #verkle-trie-migration](https://discord.com/channels/595666850260713488/824798757618188339/1039689289895780402) - After even more discussion, I realized we could do some extra optimizations to use less memory and be faster. - [I did these optimizations in go-ipa, and got merged](https://github.com/crate-crypto/go-ipa/pull/30). - [I upstreamed the work to go-verkle in a PR that also got merged](https://github.com/gballet/go-verkle/pull/291). - [Guillaume contributed to my benchmarking repo](https://github.com/jsign/verkle-vs-patricia/pull/4) with the results on an ARM machine.