@Combine-Style Using Reflection Too

@Combine-style annotations now also work using reflection. That means the process of processing the class files is a lot less costly (in one example 16.5 seconds for reflection and 26.1 seconds for my original approach of rewritten bytecode), but the runtime performance might be degraded due to the use of reflection. However, at least so far I don’t see this degradation: With reflection one particular test takes 1.5 seconds, and with rewritten bytecode it takes 1.4 seconds. The reflection-based code was also a lot easier to write and offers better diagnostics, so maybe I was wrong about how heavy reflection really is. I’ll still need to run more tests that last longer, though.


About Mathias

Software development engineer. Principal developer of DrJava. Recent Ph.D. graduate from the Department of Computer Science at Rice University.
This entry was posted in Concurrent Unit Testing. Bookmark the permalink.

Leave a Reply