-
Notifications
You must be signed in to change notification settings - Fork 29.8k
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
v5.4.0 propose #4392
v5.4.0 propose #4392
Conversation
use `arrow functions` instead of `bind(this)` in order to improve performance through optimizations. PR-URL: nodejs#3622 Reviewed-By: Jeremiah Senkpiel <[email protected]> Reviewed-By: Trevor Norris <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Myles Borins <[email protected]>
Update link from github.com/rvagg to github.com/nodejs PR-URL: nodejs#4331 Reviewed-By: James M Snell <[email protected]>
The buffer's write function is documented below the buf.toString function and all of the docs reference "buf" instead of "buffer". PR-URL: nodejs#4324 Reviewed-By: James M Snell <[email protected]>
* Use single quotes consistently * Modernize examples to use template strings and arrow funcs * Fix a few typos * Example edits for consistency PR-URL: nodejs#4282 Reviewed-By: Chris Dickinson <[email protected]> Reviewed-By: Colin Ihrig <[email protected]>
This just removes an assignment to `ret` of a value that's not used before it's overwritten. Immediately following the assigment is an `if/else` in which both branches assign to `ret` without using it. PR-URL: nodejs#4323 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Brian White <[email protected]> Reviewed-By: James M Snell <[email protected]>
Fix a segmentation fault when the debug message handler was called from a context without an associated `node::Environment`. Fixes: nodejs#4261 Fixes: nodejs#4322 PR-URL: nodejs#4328 Reviewed-By: Evan Lucas <[email protected]> Reviewed-By: James M Snell <[email protected]>
PR-URL: nodejs#4325 Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: James M Snell <[email protected]>
The initial implementation of setPropByIndex() set the value of an Array by index during development. Though the final form of the function simply pushes passed values to an array as passed by arguments. Thus the functions have been renamed to pushValueToArray() and push_values_to_array_function() respectively. Also add define for maximum number of arguments should be used before hitting the limit of performance increase. Fixes: 494227b "node: improve GetActiveRequests performance" PR-URL: nodejs#3780 Reviewed-By: Fedor Indutny <[email protected]>
For performance add headers to the headers Array by pushing them on from JS. Benchmark added to demonstrate this case. PR-URL: nodejs#3780 Reviewed-By: Fedor Indutny <[email protected]>
Improve performance by pushing directory entries to returned array in batches of 8 using pushValueToArray() in JS. Add benchmarks to demonstrate this improvement. PR-URL: nodejs#3780 Reviewed-By: Fedor Indutny <[email protected]>
Improve performance of process._getActiveHandles by sending handles in batches to JS to be set on the passed Array. Add test to check proper active handles are returned. Alter implementation of GetActiveRequests to match GetActiveHandles' implementation. PR-URL: nodejs#3780 Reviewed-By: Fedor Indutny <[email protected]>
process.hrtime() was performing too many operations in C++ that could be done faster in JS. Move those operations over by creating a length 4 Uint32Array and perform bitwise operations on the seconds so that it was unnecessary for the native API to do any object creation or set any fields. This has improved performance from ~350 ns/op to ~65 ns/op. Light benchmark included to demonstrate the performance change. PR-URL: nodejs#3780 Reviewed-By: Fedor Indutny <[email protected]>
Set process.env array entries in JS. PR-URL: nodejs#3780 Reviewed-By: Fedor Indutny <[email protected]>
Load the certificate chain from the PFX file the same as we do it for a regular certificate chain. Fix: nodejs#4127 PR-URL: nodejs#4165 Reviewed-By: Ben Noordhuis <[email protected]>
On Windows there can exist some race condition where the notification of the client's `socket.destroy()` isn't received before the server writes to the socket. This race condition was more evident/reproducible on a single core system. This commit fixes the flakiness by waiting until the server's connection event handler has been called to destroy the client socket and perform the server socket write. Fixes: nodejs#4057 PR-URL: nodejs#4342 Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: João Reis <[email protected]>
This provides more information when encountering a syntax or similar error when executing a file with require(). Fixes: nodejs#4286 PR-URL: nodejs#4287 Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Colin Ihrig <[email protected]>
String#repeat is quite a bit faster than new Array().join(). PR-URL: nodejs#3900 Reviewed-By: Jeremiah Senkpiel <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Roman Reiss <[email protected]>
assert.deepEqual: when actual and expected are typed arrays, wrap them in a new Buffer each to increase performance significantly. PR-URL: nodejs#4330 Fixes: nodejs#4294 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Roman Reiss <[email protected]> Reviewed-By: Colin Ihrig <[email protected]>
socket.destroy() triggers a 'close' event from the socket which triggers the onClose handler of HTTPAgent which calls self.removeSocket(). So by calling self.removeSocket() prior to socket.destroy() we end up with two calls to self.removeSocket(). If there are pending requests, removeSocket ends up creating a new socket. So if there are pending requests, each time a request completes, we tear down one socket and create two more. So the total number of sockets grows exponentially and without regard for any maxSockets settings. This was noticed in nodejs#4050. Let's get rid of the extra calls to removeSocket so we only call it once per completed request. PR-URL: nodejs#4172 Reviewed-By: Brian White <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Fedor Indutny <[email protected]>
These types are no longer used in the file and V8 4.9 no longer defines these types anymore. PR-URL: nodejs#4381 Reviewed-By: bnoordhuis - Ben Noordhuis <[email protected]>
If the deprecated NODE_REPL_HISTORY_FILE is set to default node history file path ($HOME/.node_repl_history) and the file doesn't exist, then node creates the file and then crashes when it tries to parse that file as JSON thinking that it's an older JSON formatted history file. This fixes that bug. This patch also prevents node repl from throwing if the old history file is empty or if $HOME/.node_repl_history is empty. Fixes: nodejs#4102 PR-URL: nodejs#4108 Reviewed-By: Jeremiah Senkpiel <[email protected]>
Notable changes: * general: Several minor performance improvements: - lib: Use arrow functions instead of bind where possible (Minwoo Jung) nodejs#3622 - node: Improved accessor perf of process.env (Trevor Norris) nodejs#3780 - **node**: Improved performance of hrtime() (Trevor Norris) nodejs#3780 - node: Improved GetActiveHandles performance (Trevor Norris) nodejs#3780 * module: Errors during require() now provide more information (Brian White) nodejs#4287
redacted... I am way off |
FWIW I wasn't sure on the semver-ness of 72b6b4f. What was the decision on changes to error messages (the error stack trace text in this case)? |
@jasnell ^^^ |
CITGM PassedPassing Modules
Flakey Modules
|
Looks like moment is expect a global install of the grunt-cli, which was passing on my system due to a global grunt. After installing globally the tests pass edited above commit to reflect update |
hmmm, to do this tomorrow or not? Or still get it out today? Idk. |
@Fishrock123 Are you filtering commits from issues labelled |
No? I was unaware that existed, and our tooling does not cover it. I don't remember @nodejs/release being notified about it. |
See @rvagg comment here: #4160 (comment) |
Notification to @nodejs/release about it, including suggested But you're forgiven for not noticing, there's just so much going on! |
FWIW I'd be fine with punting on this for a week to save people a pre-Christmas batching with the v4 release coming out, the commits list is neither huge or compelling. Your call though @Fishrock123. |
@Fishrock123 can you handle a Tuesday release this week? If not, let me know and I can take over. |
Should be able to. |
Working on this again. At first glance it looks like it will be v5.4.0 due to:
|
Anyway we can include V8 4.7.80.25 in the v5.4 proposal? It was committed to Master on Dec 2, 2015. Or are we holding off until Node v6.0? |
@NawarA No, sorry, that would be a breaking change. |
Moving to #4547 |
Sorry for the late notice, hoping to still release today. cc @nodejs/ctc / etc