-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
error handling in minimal dispatch #3176
error handling in minimal dispatch #3176
Conversation
3212df5
to
ecc630e
Compare
@bartlomieju Does this have an effect on the deno_tcp http req/sec benchmark? |
@ry I get around 88k req/sec instead of 95k. I need to work on it a bit more, started getting some panics locally :/ EDIT: Yikes, I put wrong numbers. Actually I'm getting around |
this PR
master
|
@ry, how about we land this PR so we can remove panics for malformed control buffers and work on any potential perf problems down the road? |
result: buf32[2] | ||
arg, | ||
result, | ||
err | ||
}; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This code is very much in the hot path for our most important benchmark. I'm all for landing this to see what happens, but I will revert if it causes a noticeable slow down.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes I agree completely. I will try to optimize it further, but we can't leave out proper error handling (which is long overdue anyway)
@bartlomieju Sounds good - please add a unit test for the method I pointed out and I'll land it. |
977ac04
to
f5e1fee
Compare
@ry it looks like sccache is acting up on Windows. Did you have any problems like that recently? EDIT: Probable cause described by @chrmoritz in #3194 (comment) |
@ry ready |
error_message: "Error".to_string().as_bytes().to_owned(), | ||
}; | ||
let buf: Buf = err_record.into(); | ||
assert_eq!(buf, expected.into_boxed_slice()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Towards #3117
A little prototype of error handling in minimal dispatch. I expect it to be slow but I want to start a discussion.
CC @ry