Skip to content

v8: use signal handlers to catch out of bounds memory access. #144

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

Merged
merged 3 commits into from
Apr 1, 2021

Conversation

PiotrSikora
Copy link
Member

This change improves performance by up to 36% in microbenchmarks.

Benchmark Diff

WasmSpeedTest_empty -0.0185
WasmSpeedTest_get_current_time -0.1184
WasmSpeedTest_small_string -0.0081
WasmSpeedTest_small_string1000 -0.1324
WasmSpeedTest_small_string_check_compiler -0.0654
WasmSpeedTest_small_string_check_compiler1000 -0.1338
WasmSpeedTest_large_string -0.3187
WasmSpeedTest_large_string1000 -0.3624
WasmSpeedTest_get_property -0.0213
WasmSpeedTest_grpc_service -0.1426
WasmSpeedTest_grpc_service1000 -0.2431
WasmSpeedTest_modify_metadata -0.0287
WasmSpeedTest_modify_metadata1000 -0.0431
WasmSpeedTest_json_serialize -0.2729
WasmSpeedTest_json_deserialize -0.2594
WasmSpeedTest_json_deserialize_empty -0.2609
WasmSpeedTest_convert_to_filter_state -0.2889

Signed-off-by: Piotr Sikora [email protected]

This change improves performance by up to 36% in microbenchmarks.

Benchmark                                                       Diff
--------------------------------------------------------------------
WasmSpeedTest_empty                                          -0.0185
WasmSpeedTest_get_current_time                               -0.1184
WasmSpeedTest_small_string                                   -0.0081
WasmSpeedTest_small_string1000                               -0.1324
WasmSpeedTest_small_string_check_compiler                    -0.0654
WasmSpeedTest_small_string_check_compiler1000                -0.1338
WasmSpeedTest_large_string                                   -0.3187
WasmSpeedTest_large_string1000                               -0.3624
WasmSpeedTest_get_property                                   -0.0213
WasmSpeedTest_grpc_service                                   -0.1426
WasmSpeedTest_grpc_service1000                               -0.2431
WasmSpeedTest_modify_metadata                                -0.0287
WasmSpeedTest_modify_metadata1000                            -0.0431
WasmSpeedTest_json_serialize                                 -0.2729
WasmSpeedTest_json_deserialize                               -0.2594
WasmSpeedTest_json_deserialize_empty                         -0.2609
WasmSpeedTest_convert_to_filter_state                        -0.2889

Signed-off-by: Piotr Sikora <[email protected]>
@PiotrSikora PiotrSikora requested a review from mathetake as a code owner April 1, 2021 08:28
@PiotrSikora
Copy link
Member Author

Let's wait for all Envoy tests to pass before merging this (envoyproxy/envoy#15801).

@mathetake
Copy link
Contributor

How did you find this option? 😄 this is awesome

@PiotrSikora
Copy link
Member Author

How did you find this option? 😄 this is awesome

V8 team, mostly as a result of my complains about the limited number of WasmVMs:
https://bugs.chromium.org/p/v8/issues/detail?id=11017

Signed-off-by: Piotr Sikora <[email protected]>
Copy link
Contributor

@mathetake mathetake left a comment

Choose a reason for hiding this comment

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

thanks!

Signed-off-by: Piotr Sikora <[email protected]>
@PiotrSikora PiotrSikora merged commit 2b55995 into proxy-wasm:master Apr 1, 2021
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