Skip to content

wasm: use signal handlers for bounds checking in V8 runtime.#15801

Merged
lizan merged 6 commits intoenvoyproxy:mainfrom
PiotrSikora:v8-traps
Apr 6, 2021
Merged

wasm: use signal handlers for bounds checking in V8 runtime.#15801
lizan merged 6 commits intoenvoyproxy:mainfrom
PiotrSikora:v8-traps

Conversation

@PiotrSikora
Copy link
Contributor

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 piotrsikora@google.com

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 <piotrsikora@google.com>
@repokitteh-read-only repokitteh-read-only bot added the deps Approval required for changes to Envoy's external dependencies label Apr 1, 2021
@repokitteh-read-only
Copy link

CC @envoyproxy/dependency-shepherds: Your approval is needed for changes made to (bazel/.*repos.*\.bzl)|(bazel/dependency_imports\.bzl)|(api/bazel/.*\.bzl)|(.*/requirements\.txt)|(.*\.patch).

🐱

Caused by: #15801 was opened by PiotrSikora.

see: more, trace.

Signed-off-by: Piotr Sikora <piotrsikora@google.com>
Signed-off-by: Piotr Sikora <piotrsikora@google.com>
Signed-off-by: Piotr Sikora <piotrsikora@google.com>
@PiotrSikora PiotrSikora marked this pull request as ready for review April 1, 2021 13:19
mathetake
mathetake previously approved these changes Apr 1, 2021
Signed-off-by: Piotr Sikora <piotrsikora@google.com>
@moderation
Copy link
Contributor

/lgtm deps

@repokitteh-read-only repokitteh-read-only bot removed the deps Approval required for changes to Envoy's external dependencies label Apr 2, 2021
moderation
moderation previously approved these changes Apr 2, 2021
Copy link
Contributor

@moderation moderation left a comment

Choose a reason for hiding this comment

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

Still some CI errors but deps look good

@PiotrSikora
Copy link
Contributor Author

/retest

@repokitteh-read-only
Copy link

Retrying Azure Pipelines:
Retried failed jobs in: envoy-presubmit

🐱

Caused by: a #15801 (comment) was created by @PiotrSikora.

see: more, trace.

Signed-off-by: Piotr Sikora <piotrsikora@google.com>
@PiotrSikora
Copy link
Contributor Author

@lizan the Proxy-Wasm C++ Host part of this was inadvertently pulled as part of #15822, without the increase in limits done as part of this PR. Could you get this in once the tests pass? Thanks!

@PiotrSikora
Copy link
Contributor Author

/retest

@repokitteh-read-only
Copy link

Retrying Azure Pipelines:
Retried failed jobs in: envoy-presubmit

🐱

Caused by: a #15801 (comment) was created by @PiotrSikora.

see: more, trace.

@lizan lizan merged commit c7d0706 into envoyproxy:main Apr 6, 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.

4 participants

Comments