Warning: session_start(): open(/var/lib/php/sessions/sess_eq63q3nh3rfo28v8flhgo0js0c, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
// This is not that great. 31 mill/s cache lookups.
// bench_concurrentHashMapBasedMethodCache_tweaked is still the best
// (48 mill/s), at least with concurrency level 1.
//
// The advantage of ClassValue though is that it doesn't have to be
// cleaned regularly if I understand this correctly.
scope bench_classValueBasedMethodCache
static long #cachesMade;
static final ClassValue<_MethodCache> methodCacheClassValue = new {
@Override
protected _MethodCache computeValue(Class> type) {
++cachesMade;
ret new _MethodCache(type);
}
};
static _MethodCache getMethodCache_cv(Class c) {
ret methodCacheClassValue.get(c);
}
svoid bench_classValueBasedMethodCache(int nClasses = 1000) {
print("Loading " + nClasses(nClasses));
L classes = map classForName(takeFirst(nClasses, classNamesInJigsawModule("java.base")));
print("Have " + nClasses(classes) + ". Filling method caches");
print(+cachesMade);
time {
for (c : classes) assertNotNull(getMethodCache_cv(c));
}
print(+cachesMade);
print("Looking them up again.");
benchFor10(-> {
for (c : classes) assertNotNull(getMethodCache_cv(c));
});
print(+cachesMade);
}