[Glass] Should I be worried about symbols lookup performance?

Paul DeBruicker via Glass glass at lists.gemtalksystems.com
Tue Mar 31 10:59:32 PDT 2015


Could you MD5 the strings and store the md5's in the table 'rows' then have a
lookup dictionary somewhere that lets you go from the md5 to the original
string?







GLASS mailing list wrote
> Hi guys,
> 
> I am storing a lot of data internally in GemStone that I get from a third
> party lib. Right now I have 1MM objects but likely soon there will some
> more MM for sure. These objects are kind of "rows" from huge files I
> receive from this lib as if it were a "database". Anyway, these objects
> have a string code. These string code WON'T fit in 61 bits or so, so these
> will NOT be immediate objects.  However...each code is repeated in average
> 20 times. So..in 1MM rows, I could be storing 1MM strings, or... 50000
> symbols....
> 
> I expect this imported data to increase and increase everyday. In fact I
> am
> not even 100% sure the best solution is to store this inside GemStone, but
> that's a story for another day.
> 
> My question is...if I use symbols I will be saving (I guess) a lot of
> space, reducing a lot the number of objects, and likely the number of
> objects needed in memory (hence I hope I will need less memory/spc).   My
> only  worry is about the symbol lookup performance. I don't know how the
> "Symbol table" is implemented in GemStone.   From what I understand, when
> I
> CREATE a symbol I pay the lookup in the table but then my object reference
> that points to the new symbol will directly point to the symbol and not to
> the entry in the symbol table...so I don't have a new indirection each
> time
> I try to access my symbol instance, right?
> 
> However...if I get a very large table of symbols, I am afraid that ever
> single #asSymbol I do in my app (from any other use case..fully decouple
> from this one) would be slowed down.
> I cannot find AllSymbols dictionary and the deeper I could get to
> understand was #_existingWithAll:
> 
> I tried to do some bench and it seems the #asSymbol is still fast even
> with
> a much larger SymbolTable (or whatever GemStone equivalent).
> 
> This may be a tradeoff, but my gut feelings tell me that storing these as
> symbols is worth.
> 
> BTW... I guess I must put this to true: STN_SYMBOL_GC_ENABLED  also..
> 
> Do you have any suggestion or recommendation?
> 
> Thanks in advance,
> 
> 
> -- 
> Mariano
> http://marianopeck.wordpress.com
> 
> _______________________________________________
> Glass mailing list

> Glass at .gemtalksystems

> http://lists.gemtalksystems.com/mailman/listinfo/glass





--
View this message in context: http://forum.world.st/Glass-Should-I-be-worried-about-symbols-lookup-performance-tp4816387p4816452.html
Sent from the GLASS mailing list archive at Nabble.com.


More information about the Glass mailing list