Class.forName(..) may cause a dramatic performance hit in special cases, i.e. long CLASSPATH or multiple daisy-chained ClassLoader. Try to cache ClassLoader lookup results or avoid lookup alltogether.
dfde2a47bfdc2d1ad75c8e1165e27c767803cc3f Instrument ReflectionUtil's forName(..) usage c5964bf2e3ebd6e05a7d551b033355c21ca9eea9 GLProfile, GLContextImpl: - ReflectionUtil.DEBUG_STATS_FORNAME: Dump forName stats if set - Cache GL*Impl and GL*ProcAddressTable Constructor<?> for GLContextImpl's createInstance(..) - Remove off-thread early classloading thread which only adds complications DisplayImpl: - Remove one redundant availability test