On Thu, Nov 22, 2012 at 4:56 AM, Alexey Kupershtokh < [email protected]> wrote:
> Also deep cloning can be done by shallow cloning + replacing values > in-place. This will help to avoid hidden classes creation and is going to > be way faster too. A fast deep clone seems like it would be useful. Even better would be if deep equal came with it. (There's a deep equal buried in assert, but not exposed other than as an assertion.) Note that the original frameworks you mentioned run in the browser as well as in Node, so people writing code to run in both environments would still use those, even if Node has a fast clone built in. -- Martin Cooper четверг, 22 ноября 2012 г., 18:05:18 UTC+7 пользователь Alexey Kupershtokh > написал: > >> I see that almost every framework (underscore, lodash, moo, etc) creates >> its own clone function. >> But v8 engine already has it. >> So I've created a module that exposes v8's clone function. Just as a >> proof of concept. It needs assertions and currently fails with a >> segmentation fault on inputs like null values. >> >> https://github.com/**AlexeyKupershtokh/node-v8-**clone<https://github.com/AlexeyKupershtokh/node-v8-clone> >> >> According to the benchmarks it's: >> 8x faster (50x on 1000-key obj) than this approach: >> var result = {}; for (i in obj) result[i] = obj[i]; >> 12x faster (450x on 1000-key object) than this approach: >> var result = {}; for (i in obj) if (obj.hasOwnProperty(i)) result[i] = >> obj[i]; >> >> So I wonder if the community needs this module. >> Also node's core developers are welcome to criticize. Is it ok to expose >> this function? What are possible drawbacks? Or maybe it's worth to include >> this into the node.js core? >> > -- > Job Board: http://jobs.nodejs.org/ > Posting guidelines: > https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines > You received this message because you are subscribed to the Google > Groups "nodejs" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/nodejs?hl=en?hl=en > -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en
