On Jan 23, 2012, at 4:58 PM, Russell Leggett <[email protected]> wrote:

> On Mon, Jan 23, 2012 at 5:37 AM, Herby Vojčík <[email protected]> wrote:
> Allen Wirfs-Brock wrote:
> The following is just speculation...One possible such bottleneck
> might be whole object allocation. A JS clone function probably would
> have to allocate an empty object and then dynamically populate it by
> adding properties one at a time.  A native implementation is more
> like to have the ability to examine a complete object and create, in
> a single primitive operation, a new object with all of the same
> properties as the original object.  In other words, a native
> implementation of deep clone is likely to use some sort of shallow
> clone operation is that not available to pure JS code.  This suggest
> that a better way to get faster deep cloning functions is to make a
> native shallow clone function available to JS code.
> 
> +1, nice.
> Well, to see if this is the bottleneck, one needs to benchmark, first.
> 
> But I feel the need for shallow clone in the language. Such API should be 
> there, and if needed, with native implementation as well.
> 
>  
> As part of the HTML5 specification, there is the structured clone algorithm  

Which is also incapable of copying a function.


> whose primary use case is web workers. It has already been implemented in 
> Chrome and Firefox, I believe. Not sure if that might be a good place to 
> start in possibly exposing that as part of JavaScript.
> 
> If I were to make a feature request here, instead of a clone that might not 
> be terribly useful, I would love to see some better support for Clojure style 
> persistent data structures.
> 
> I know that's a bit of a long shot, but for all the uses of deep cloning I 
> can think of, I feel like persistent data structures are much nicer, and 
> harder to implement in JS.
> 
> - Russ
> _______________________________________________
> es-discuss mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to