Can any compilers recognize the optimization for this scenario? -


suppose have method (java chosen arbitrarily, similar language):

public set<string> createset() {...} 

this method creates set adding strings it, 1 @ time.

then suppose call here in loop many times:

boolean contained = createset().contains(somestring); 

in ideal world, compiler recognize code improved creating separate method, increatedset(string), run createset(), except instead of putting strings set, compare them against somestring directly, eliminate set creation , end method somestring found, no need continue (assuming no side effects).

i know java compilers don't optimization @ compile time , wouldn't recognize in jit either, there optimizers out there able sort of advanced analysis of code?


Comments

Popular posts from this blog

c++ - QTextObjectInterface with Qml TextEdit (QQuickTextEdit) -

javascript - angular ng-required radio button not toggling required off in firefox 33, OK in chrome -

xcode - Swift Playground - Files are not readable -