Ola, et al: This is a nice idea, but a couple of issues/questions:
- The code is not threadsafe; it would be possible for getSymbol to return null, as the read is not synchronized/volatile - Read performance is about the same as the concurrent ST implementation in bdortch/vars (which is threadsafe), but writes now do extra work. - Why not go a step further, and store the RubySymbol itself at the SymbolNode and in the generated class, rather than storing the id? That would be faster than either lookup :) BTW, bdortch/vars now moving to bdortch/vars2, hoping to get this all done this weekend before refactoring does me in again. -Bill