From: Jeremy Kemper Date: 2005-11-06T16:43:52+09:00 Subject: Re: Generation of Unique Symbols On Nov 5, 2005, at 11:32 PM, Ryan Leavengood wrote: > On 11/6/05, Eric Hofreiter wrote: >> But this is obviously not very efficient. Is there a better way >> to do this? If not I may just >> go back to good old integers. > > For the fun of it I decided to benchmark your way versus mine. For > 100,000 calls here are the results on my reasonably fast Windows XP > laptop: > [...] > $sym1 = :AAAAAAAA > def next_sim1 > $sym1 = eval(":" + $sym1.id2name.next) > end > > $sym2 = :AAAAAAAA > def next_sim2 > $sym2 = $sym2.to_s.next.intern > end # Avoid double-conversion. $sym3 = 'AAAAAAAA' def next_sim3 $sym3.succ!.to_sym end Best, jeremy