extern"C" JNIEXPORT void JNICALL Java_Main_suspendAndResume(JNIEnv*, jclass) { static constexpr size_t kInitialSleepUS = 100 * 1000; // 100ms.
usleep(kInitialSleepUS); // Leave some time for threads to get in here before we start suspending. enum Operation {
kOPSuspendAll,
kOPDumpStack,
kOPSuspendAllDumpStack, // Total number of operations.
kOPNumber,
}; const uint64_t start_time = NanoTime();
size_t iterations = 0; // Run for a fixed period of 10 seconds. while (NanoTime() - start_time < MsToNs(10 * 1000)) { switch (static_cast<Operation>(iterations % kOPNumber)) { case kOPSuspendAll: {
ScopedSuspendAll ssa(__FUNCTION__);
usleep(500); break;
} case kOPDumpStack: {
Runtime::Current()->GetThreadList()->Dump(LOG_STREAM(INFO));
usleep(500); break;
} case kOPSuspendAllDumpStack: { // Not yet supported. if ((false)) {
ScopedSuspendAll ssa(__FUNCTION__);
Runtime::Current()->GetThreadList()->Dump(LOG_STREAM(INFO));
} break;
} case kOPNumber: break;
}
++iterations;
}
LOG(INFO) << "Did " << iterations << " iterations";
}
} // namespace art
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.8Bemerkung:
(vorverarbeitet am 2026-09-28)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.