Good Morning

Ok, I guess that was my sleep tonight.

I discovered that instrumenting rt.jar for thread checking is actually blowing the default-sized heap, so I quickly wrote a SoftHashMap that uses SoftReferences the garbage collector is free to evict.

I also did some analysis on the caching of class and method annotations:

ThreadChecker Cache Info:
Class cache 85499/13225, method cache 24748/111845 (hits/misses)

That means it definitely works, there’s no error. It works very well for classes (86%), probably because it is looking for the same classes very often (Object, d’uh), but it’s working pretty badly for methods (18%).

I don’t know off hand how I can improve the latter. I could perhaps scan all methods when I have a class file open. I think I’ll look at my second suggestion, temporary directories, first, though.

Share

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