Commit Graph

6 Commits

Author SHA1 Message Date
Charles Lowell 59154c2e2b go aheard and require rubygems in the benchmarks 2012-07-31 20:22:27 +03:00
Charles Lowell 77804fce1c Don't check for strings and primitives in idmap.
It appears that `Ref::WeakValueMap` is not 100%
correct. There are cases where entries are 
temporarily corrupted; probably while attached
finalizers run.

This is a slight decrease in flexibility in that
strings and primitives cannot maintain referential
integrity when passed by reference to v8, but the
default is to pass them by value anyway, and it
greatly reduces the number of object_ids that the
idmap sees and therefore reduces the chances of 
a recycled object id causing a bad lookup.

While this is not a perfect fix, it does make a
collision very unlikely, and it prevents the 
crashes being seen in #169 

If this pops up again,
we'll have to look at getting a perfectly reliable
weakmap implementation.
2012-06-20 15:30:34 -05:00
Charles Lowell 88815a2769 enhance memory/performance benchmarks.
include updated benchmarks from @socialquantum
that thrash eval as well as function access.
2012-06-20 11:56:00 -05:00
Charles Lowell 21e69ecf93 make benchmarks take object count as argument 2012-06-20 02:20:13 -05:00
Charles Lowell 9bc5c2b510 update benchmarks to use the high-level Ruby API
thanks to @socialquantum for providing them in
#167
2012-06-19 08:28:17 -05:00
Charles Lowell 7f659ef385 support for accessors, equivalence classes 2012-05-22 12:12:08 -05:00