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) -

xcode - Swift Playground - Files are not readable -

jboss7.x - JBoss AS 7.3 vs 7.4 and differences -