This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
all: | |
clang++ -O3 bench.cpp |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## 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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
for i in [0..vec.len]: | |
vec[i] = vec[i] * vec[i] | |
return sorted(vec) |
We can't make this file beautiful and searchable because it's too large.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
597fabaafffffffffeb9ffff53b1feffab1e24f6b0f6a0d23067bf1285f3844b776481527fd7ac4b43b6a71b4b9ae67f39ea11011a000000000000000000000000000000006020820152604081017f8f2990f3e598f5b1b8f480a3c388306bc023fac151c0104d13ec3aa18159940281527f72d1c8c528a1ce3bcaa280a8e735aa0d0000000000000000000000000000000060608301527f992d7a27906d4cd530b23a7e8c48c0778f8653fbc3332d63db24339d8bc65d7e60808301527fe83b6e91c6550f5aceab102e88e918090000000000000000000000000000000060a08301527f7299907146816f08c4c6a394e91374ed6ff3618a57358cfb124ee6ab4c560e5c60c08301527fac40700b41e2ee8674680728f0c5a6180000000000000000000000000000000060e08301527f0fd77f62b39eb952a0f8d21cec1f93b1d62dd7923aa86882ddf7dd4d3532b0b76101008301527fede8f3fc89fa4a79574067e2d9a9d200000000000000000000000000000000006101208301527f7a69de46b13d8cb4c4833224aaf9ef7ea6a48975ab35c6e123b8539ab84c381a6101408301527f2533401a73c4e79f47d714899d01ac130000000000000000000000000000000061016083015261018082017fa9fa0b0d8156c36a1a9ddacb73ef278f4d149b560e88789f2bfeb9f708b6cc2f81527f988927bfe0186d5bf9cb40cb |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
debug_printMemHex mem_pos: 288 284544 | |
81f9ab902854e25b9885fd18eedded158d323cd1db63aac85667c846d7b32b2cd8f5fc6051a82f5ad57c039da951ed13d3b0186a84d65f84b496962eb845bf44b964a6dd009f7a9c7b5b31c8838bf7ad0c82c8568e5cba769a9865ef8ee6cc1393f29468d61bae4ee78df89e052fd93155a152b851f91c04e29820e971b2756faea7bb1d8cf88726fd98f26f1e55351464189369f3e2d094567d7159784b51602eaed4b93a96c7eaabdb17e21bc0f4b621ab0d9e6c704a29d07c16f10aa83b1829366951d266201e3461e4c8be6f97735790d8176b661ab62e24ca23a18989ad0b933264a916e4da9b1e8e3ceb7ddf13fc60e840573d9d79559e0c8d1f05e17459fe91066b901c99a515eb21ddfc359590d6ab7ebaec0e58a1d2fbaf0ff5a809 | |
debug_memHex done | |
debug_printMemHex mem_pos: 288 284832 | |
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008fc2328a6235e95c18abc18596f98a84839e593b9938c3e6ff7e206969e887754424c422d3bfc4dfa3a8f7bb06133119faf9234941983eb86272ccd6aaecab023b073792337fe67897873ade3ea4c5c54 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
code { | |
function memcpy_384(dst, src) | |
{ | |
let hi := mload(src) | |
let lo := mload(add(src, 32)) | |
mstore(dst, hi) | |
mstore(add(dst, 32), lo) | |
} | |
function f2m_add(x_0, x_1, y_0, y_1, r_0, r_1, modulus) | |
{ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function f6m_mul(x_offset, y_offset, ret_offset, mod_offset, inv_offset) { | |
/* | |
f6m_mul pseudocode: | |
a = x_offset[0] | |
b = x_offset[1] | |
A = y_offset[0] | |
B = y_offset[1] | |
aA = a * A | |
bB = b * B |