Description
- Version: v12.6.0
- Platform: Linux xxxxxxx 4.15.0-45-generic Improve repo description #48-Ubuntu SMP Tue Jan 29 16:28:13 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
I'm working on some "big data" type stuff and figured I'd have a crack at it with Node.js. I'm effectively streaming a huge data set from disk into memory - millions of Set()s holding hundreds of Numbers. I'm starting Node.js as follows (that's not a typo, 142GB):
$ node --max-old-space-size=142000 ./path/to/code.js
Now, I've been using v11.15.0
for a while, and this all works remarkably well all things considered. I reinstalled my server last week and ended up with the latest v12 release - I'd heard there'd been some changes to how the memory side of things works and figured I'd give it a whirl. I'm using the same flags as v11, the identical command as above.
First up, v12 runs around 4 times slower than v11 when loading my data set into memory. Secondly, when I pass ~13GB of heap usage (as reported by process.memoryUsage().heapUsed
) the process prints the following message and dies:
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
Let me know if I can help in any way.