On Tue, Jun 10, 2014 at 9:58 PM, Ilya Kantor <ilia...@gmail.com> wrote: > Hi, > > When I create many objects new Machine like this > ``` > function Machine(power) { > var enabled = false; > > this.enable = function() { > enabled = true; > }; > this.disable = function() { > enabled = false; > }; > } > > var machines = [] > for(var i=0; i<10000; i++) machines.push(new Machine) > ``` > > ...I see in Chrome Heap Profile that every object has 36 bytes for function > enable/disable. > That is so even if the function code is actually longer. > > Do I get it right that V8 actually creates these functions only ONE time and > uses it for all machines?
That's correct, there is only one function. Those 36 byte instances that you're seeing are closure environments for the captured variable. -- -- v8-users mailing list v8-users@googlegroups.com http://groups.google.com/group/v8-users --- You received this message because you are subscribed to the Google Groups "v8-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to v8-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.