Hello Jochen, I tried caching the keys after creating them using ForApi(), and this is somewhat faster. Still, I see that the GetPrivate/SetPrivate API's are considerably slower than their Get/Set counterparts. What did you mean by maintaining a weak map? Can you please be more specific?
Thank you in advance. On Friday, May 6, 2016 at 9:58:38 AM UTC+3, Jochen Eisinger wrote: > > You don't have to use ForApi() to create privates, you can create the once > and then keep them around as keys. > > Another alternative is to maintain a weak map from the objects to your > properties. > > On Thu, May 5, 2016 at 2:46 PM Danny Dorfman <[email protected] > <javascript:>> wrote: > >> Hello there, >> >> I am looking for a time-efficient way to store private (hidden) values in >> an object. I get key-value pairs >> (where key is of type v8::String and value of type v8::Value), and I need >> to attach them to existing objects. >> >> What I came up with so far - is using v8::Object's SetPrivate() function. >> The only problem with it, is that this method >> takes a v8::Private as its first argument. There is a costly conversion >> between v8::String to v8::Private (using the ForApi method). >> Performance goes down, and after profiling with callgrind, I see that >> ForApi is taking up too many cycles. >> >> Is there a quicker way to accomplish this? (I am running 4.9) >> >> Regards, >> Danny >> >> -- >> -- >> v8-users mailing list >> [email protected] <javascript:> >> 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 [email protected] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > -- -- v8-users mailing list [email protected] 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 [email protected]. For more options, visit https://groups.google.com/d/optout.
