Skip to content

Instantly share code, notes, and snippets.

Keybase proof

I hereby claim:

  • I am jwasinger on github.
  • I am jdubya4ever (https://keybase.io/jdubya4ever) on keybase.
  • I have a public key ASB-UyK-yfezXkQy_qZ8VuVIT-2HGwQ5RhJQoXj9Zi1GBgo

To claim this, I am signing this object:

@jwasinger
jwasinger / instructions.md
Last active September 22, 2021 20:27
mev-geth-as-a-plugin demo
go get github.com/jwasinger/geth-mev-plugin
cd $GOPATH/src/github.com/jwasinger/geth-mev-plugin && make

clone https://github.com/jwasinger/mev-geth-demo and copy geth and mev.plugin from geth-mev-plugin into mev-geth-demo folder.

Run Geth: mev-geth-demo/run.sh.

Now run the demo as per instructions in mev-geth-demo.

@jwasinger
jwasinger / memcopies.txt
Created May 27, 2021 15:29
memcopy example
tx: 0x76b00f7304ee723164f116f338c50c5024a9e1116d169974c616f14fa76f5c18
{'copies': [[{'address': '0xc8fb12402cb16970f3c5f4b48ff68eb9d1289301', 'srcOffset': 128, 'srcPC': 962, 'dstOffset': 224, 'dstPC': 966}, {'address': '0xc8fb12402cb16970f3c5f4b48ff68eb9d1289301', 'srcOffset': 160, 'srcPC': 999, 'dstOffset': 256, 'dstPC': 1003}], [{'address': '0xa1c0fa73c39cfbcc11ec9eb1afc665aba9996e2c', 'srcOffset': 192, 'srcPC': 9160, 'dstOffset': 256, 'dstPC': 9164}, {'address': '0xa1c0fa73c39cfbcc11ec9eb1afc665aba9996e2c', 'srcOffset': 224, 'srcPC': 3771, 'dstOffset': 448, 'dstPC': 3773}, {'address': '0xa1c0fa73c39cfbcc11ec9eb1afc665aba9996e2c', 'srcOffset': 256, 'srcPC': 3806, 'dstOffset': 480, 'dstPC': 3810}, {'address': '0xa1c0fa73c39cfbcc11ec9eb1afc665aba9996e2c', 'srcOffset': 288, 'srcPC': 3834, 'dstOffset': 512, 'dstPC': 3836}, {'address': '0xa1c0fa73c39cfbcc11ec9eb1afc665aba9996e2c', 'srcOffset': 320, 'srcPC': 3869, 'dstOffset': 544, 'dstPC': 3873}], [{'address': '0xc8fb12402cb16970f3c5f4b48ff68eb9d1289301', 'srcOf
@jwasinger
jwasinger / trace-output.txt
Created May 24, 2021 15:34
memory copy trace output
block: 10537502
tx: 0xc5e46fe1aa43cf057e555166bc0ab6e7672e9a481f0d57ad346d2810d54bcba7
[[{'address': '0x8a9c67fee641579deba04928c4bc45f66e26343a', 'srcOffset': 0, 'srcPC': 2714, 'dstOffset': 0, 'dstPC': 2725}], [{'address': '0x2b6a25f7c54f43c71c743e627f5663232586c39f', 'srcOffset': 224, 'srcPC': 8366, 'dstOffset': 292, 'dstPC': 8368}, {'address': '0x2b6a25f7c54f43c71c743e627f5663232586c39f', 'srcOffset': 256, 'srcPC': 8366, 'dstOffset': 324, 'dstPC': 8368}]]
tx: 0x882067da645be051ac46d7faaabcf8b250170f5c4f9d7262a546db96ebe52e52
[[{'address': '0x2b6a25f7c54f43c71c743e627f5663232586c39f', 'srcOffset': 224, 'srcPC': 8366, 'dstOffset': 292, 'dstPC': 8368}, {'address': '0x2b6a25f7c54f43c71c743e627f5663232586c39f', 'srcOffset': 256, 'srcPC': 8366, 'dstOffset': 324, 'dstPC': 8368}], [{'address': '0x8a9c67fee641579deba04928c4bc45f66e26343a', 'srcOffset': 0, 'srcPC': 2532, 'dstOffset': 0, 'dstPC': 2543}], [{'address': '0x8a9c67fee641579deba04928c4bc45f66e26343a', 'srcOffset': 0, 'srcPC': 2714, 'dstOffset': 0, 'dstPC':
@jwasinger
jwasinger / op_mcopy_bench.txt
Last active April 14, 2021 16:35
Geth MCOPY bench output
goos: linux
goarch: amd64
pkg: github.com/ethereum/go-ethereum/core/vm
cpu: Intel(R) Core(TM) i5-6600K CPU @ 3.50GHz
BenchmarkOpMcopy/64_bytes 31177878 38.82 ns/op
BenchmarkOpMcopy/128_bytes 30576024 39.33 ns/op
BenchmarkOpMcopy/192_bytes 29453343 42.43 ns/op
BenchmarkOpMcopy/256_bytes 28839283 41.15 ns/op
BenchmarkOpMcopy/320_bytes 27700654 43.06 ns/op
BenchmarkOpMcopy/384_bytes 27869232 43.00 ns/op
@jwasinger
jwasinger / Makefile
Last active January 7, 2021 09:40
Instructions for benchmarking Geth-evm384
all:
clang++ -O3 bench.cpp
@jwasinger
jwasinger / main.cpp
Created October 2, 2020 03:29
C++ vs Python (uint128)
#include <stdint.h>
#include <iostream>
int main(int argc, char **argv) {
uint64_t x = 12823323627408599439;
uint64_t y = 5504717096808338412;
__uint128_t res = (__uint128_t)x * y;
std::cout << x << " * " << y << " = " << (uint64_t)res << ", " << (uint64_t)(res >> 64) << std::endl;
@jwasinger
jwasinger / gist:083b59a06ea7c523560b8907b7402689
Created September 29, 2020 23:21
wasmcurves (with subgroup check) vs wasmsnark (without subgroup check)
## wasm-curves:
```
---------------------------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations UserCounters...
---------------------------------------------------------------------------------------------------------------------
fizzy/parse/main_with_websnark_bignum_hostfuncs 1019 us 1019 us 673 rate=127.256M/s size=129.725k
wabt/parse/main_with_websnark_bignum_hostfuncs 2372 us 2372 us 295 rate=54.6813M/s size=129.725k
wasm3/parse/main_with_websnark_bignum_hostfuncs 75.8 us 75.8 us 9217 rate=1.71145G/s size=129.725k
fizzy/instantiate/main_with_websnark_bignum_hostfuncs 1120 us 1120 us 617
for i in [0..vec.len]:
vec[i] = vec[i] * vec[i]
return sorted(vec)
@jwasinger
jwasinger / standalone_wasm_results.csv
Created June 10, 2020 18:24
standalone wasm benchmarks (azure vm) - June 9th 2020
We can't make this file beautiful and searchable because it's too large.
engine,test_name,elapsed_time,compile_time,exec_time
wagon,bn128_mul-chfast2,0.20844221115112305,0.069442,0.131921
wagon,bn128_mul-chfast2,0.2028026580810547,0.068059,0.129828
wagon,bn128_mul-chfast2,0.2083592414855957,0.0695,0.134094
wagon,bn128_mul-chfast2,0.20242953300476074,0.067839,0.130541
wagon,bn128_mul-chfast2,0.20944571495056152,0.073585,0.13122
wagon,bn128_mul-chfast2,0.2013232707977295,0.06854,0.128242
wagon,bn128_mul-chfast2,0.21543478965759277,0.075039,0.135703
wagon,bn128_mul-chfast2,0.2297804355621338,0.081116,0.143863
wagon,bn128_mul-chfast2,0.21126103401184082,0.070672,0.135297