Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

grevm(opt): skip validation if the read/write set are not overflow hints #6

Merged
merged 1 commit into from
Oct 17, 2024

Conversation

AshinGau
Copy link
Collaborator

@AshinGau AshinGau commented Oct 17, 2024

Skip validation if the read/write set are not overflow hints

Before opt.

Independent Raw Transfers/Origin Sequential
                        time:   [101.89 ms 102.01 ms 102.18 ms]
Independent Raw Transfers/Grevm Parallel
                        time:   [68.397 ms 68.560 ms 68.724 ms]
Independent Raw Transfers/Grevm Sequential
                        time:   [117.47 ms 122.22 ms 127.74 ms]

Dependent Raw Transfers/Origin Sequential
                        time:   [118.49 ms 119.14 ms 119.92 ms]
Dependent Raw Transfers/Grevm Parallel
                        time:   [90.620 ms 91.590 ms 92.760 ms]
Dependent Raw Transfers/Grevm Sequential
                        time:   [127.41 ms 127.97 ms 128.67 ms]

Independent ERC20/Origin Sequential
                        time:   [184.84 ms 185.39 ms 186.06 ms]
Independent ERC20/Grevm Parallel
                        time:   [94.724 ms 95.214 ms 95.812 ms]
Independent ERC20/Grevm Sequential
                        time:   [198.12 ms 198.47 ms 198.98 ms]

Dependent ERC20/Origin Sequential
                        time:   [202.31 ms 202.79 ms 203.40 ms]
Dependent ERC20/Grevm Parallel
                        time:   [124.80 ms 125.38 ms 126.13 ms]
Dependent ERC20/Grevm Sequential
                        time:   [217.37 ms 217.85 ms 218.44 ms]

After opt.

Independent Raw Transfers/Origin Sequential
                        time:   [107.39 ms 107.46 ms 107.53 ms]
Independent Raw Transfers/Grevm Parallel
                        time:   [57.320 ms 57.444 ms 57.571 ms]
Independent Raw Transfers/Grevm Sequential
                        time:   [104.80 ms 105.02 ms 105.29 ms]

Dependent Raw Transfers/Origin Sequential
                        time:   [116.69 ms 116.73 ms 116.78 ms]
Dependent Raw Transfers/Grevm Parallel
                        time:   [72.225 ms 72.395 ms 72.564 ms]
Dependent Raw Transfers/Grevm Sequential
                        time:   [118.67 ms 118.74 ms 118.81 ms]

Independent ERC20/Origin Sequential
                        time:   [185.74 ms 185.92 ms 186.13 ms]
Independent ERC20/Grevm Parallel
                        time:   [86.406 ms 86.573 ms 86.743 ms]
Independent ERC20/Grevm Sequential
                        time:   [185.22 ms 185.31 ms 185.39 ms]

Dependent ERC20/Origin Sequential
                        time:   [203.41 ms 203.58 ms 203.79 ms]
Dependent ERC20/Grevm Parallel
                        time:   [113.27 ms 113.47 ms 113.67 ms]
Dependent ERC20/Grevm Sequential
                        time:   [202.92 ms 203.03 ms 203.14 ms]

@AshinGau AshinGau requested a review from nekomoto911 October 17, 2024 02:10
for index in start_txs..end_txs {
let tx_env = &txs[index];
#[allow(invalid_reference_casting)]
let rw_set = unsafe { &mut *(&hints[index] as *const TxRWSet as *mut TxRWSet) };
let rw_set = &mut hints[index];
// Causing transactions that call the same contract to inevitably
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can delete these comments now.

@AshinGau AshinGau merged commit 609bbb4 into main Oct 17, 2024
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants