7 ms·
Node v9.4.0
- rf15 9y agoI'm always impressed by some of the optimisations they find: 0aa403b649 improves readDouble/readFloat in buffers by 200-800% simply by...moving the code to plain javascript binary operations instead of the C++ runtime.
- coolspot 9y agoMy understanding is that transitions between C++ runtime and JS context are relatively expensive.
- Something1234 9y agoWhat generates that improvement percent confidences that was included in that commit?
- dingdingdang 9y agoYeah, could be that you see 200% improvement on first call and then proceed to suffer 2000% slowdown unless this is benchmarked properly.
- __s 9y agoGiven the context it's likely the other way around Nobody really cares if your 1 call is 20x slower though. Much better to make it 2x faster when there's 100 calls
- Something1234 9y agoI was talkiing about the tooling that generated the output, but this is a valid point too. Still want to know what the tooling is.
- rf15 9y agoThey probably just timed execution with a few thousand samples and compared results. Nothing too fancy either way, I think.
- appdrag 9y agoAWS Lambda is still only supporting Node.js 6.10, they need to move faster...
- koolba 9y agoYou can run any Linux binary you'd like if you bundle it yourself. Just use the built-in node runtime as a shim to run your process. It doesn't have to be newer node version Node either ... you can use it to run any standalone executable.
- appdrag 9y agoSo this mean having a multi megabytes zip for the function instead of 1kb with a native runtime, this also affect cold start loading time of the lambda function ...
- Shoothe 9y agoDoes this really affect the cold start? Even if you use the native runtime it still is running in a separate container and you need to start the node process anyway. (Honest question, didn't measure it). The size would definitely be affected.
- k__ 9y agoTrue. I read that someone builds a Reason/OCaml library with Node.js like API that compiles to native binaries, but uses OCaml standard libary functions in the background, which could probably get much smaller than Node.js.
- tejohnso 9y agoAnd Google Cloud Functions are running v6.11.5 [1]. Not much better. Ancient LTS release, and three months behind on patch release. [1] https://cloud.google.com/functions/docs/concepts/exec https://cloud.google.com/functions/docs/concepts/exec
- Osiris 9y agoAzure App Services / Functions support up to 8.9.3. They move pretty quick to add new node releases.
- cridenour 9y agoIt's a shame that updating node via homebrew is such a pain that I probably will skip this version. Maybe it's just me, but every upgrade corrupts the global node_modules.
- minxomat 9y agoShouldn't nvm (node version manager) work? I rarely install node via any package manger, nvm provides some nice management features.
- apazzolini 9y agohttps://github.com/tj/n https://github.com/tj/n is also a good version manager for node.
- miduil 9y ago--no-check-certificate for something that is intended to install software is unacceptable. https://github.com/tj/n/pull/475/files https://github.com/tj/n/pull/475/files I guess nvm is better, needs some polishing, though (error prone for scripted usage, because of unpredictable exit > 0 behavior. https://github.com/creationix/nvm https://github.com/creationix/nvm
- coding123 9y agoI tried nvm and it didn't even install correctly. I tried n just now and it works beautifully! thanks for the ref. Nice that it is from tj.
- beart 9y agoI'm not sure how homebrew works but most of the node version managers will keep independent global installation folders for a version of node. You could try using something like nvm which has a command to migrate your old global modules. nvm install node --reinstall-packages-from=node
- code-e 9y agoAre you talking about native modules that need to be rebuilt when the V8 version used by node is also upgraded?
- vijaybritto 9y agoI hope they release a cross platform installation script or binary that can manage multiple versions like nvm(doesn't work on windows). Hmm, since I'm learning Go now this might be a good exercise.
- altano 9y agonvm works on Windows for me?
- dvlsg 9y agoSame here. It's a separate application from the non windows versions though. I seem to remember having to search explicitly for the windows version.
- tootie 9y agoDo you use Chocolatey? I just did `choco install nvm`. https://chocolatey.org/ https://chocolatey.org/
- atomicfiredoll 9y agoYou may be running nvm-windows, which is a separate project run by different developers.
- neilcarpenter 9y agoDepending on what you're doing, you could try npx: https://medium.com/@maybekatz/introducing-npx-an-npm-package-runner-55f7d4bd282b#9825 https://medium.com/@maybekatz/introducing-npx-an-npm-package...
- vijaybritto 9y agoIm talking about installation in a new system or a docker container.
- steveklabnik 9y agoI use 'nodist', which happens to be written in Go, if you need some inspiration!
- cdetrio 9y agoany signs yet of support for Web Workers?
- caffed 9y agoWeb Workers are a browser only framework. You can use child_process.fork: https://nodejs.org/api/child_process.html#child_process_child_process_fork_modulepath_args_options https://nodejs.org/api/child_process.html#child_process_chil... or maybe WebWorker Threads for API compatible framework: https://www.npmjs.com/package/webworker-threads https://www.npmjs.com/package/webworker-threads
- kapv89 9y agoTake a look at microsoft's napajs: https://github.com/Microsoft/napajs https://github.com/Microsoft/napajs
- johnsonjo 9y agoI'm still awaiting async iterables [1] in Node.js. It's not part of ECMAScript yet, but I'm still excited for it. Chrome 63 and v8 6.3 enables async iterables, but this Node.js version (v9.4) uses v8 6.2 so no async iterables yet. Does anyone know whether a version of Node sticks with the same version of v8 throughout? So, is there any chance that a node version 9 will have v8 greater than 6.2? [1]: https://github.com/tc39/proposal-async-iteration https://github.com/tc39/proposal-async-iteration
- WorldMaker 9y agoI believe that Node has been treating v8 upgrades as semver major breaking changes as it changes the ABI for native extensions, even though there are enough mitigating tools these days that most native extensions don't break on v8 upgrades.