better SKVM_JIT_STATS output
Count pixels, show percents, and promote to int64_t for safety... pixels certainly needs it. Change-Id: Ia8db4fec6c357557e6c805b6c05191f71e331843 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275148 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Herb Derby <herb@google.com>
This commit is contained in:
parent
238105b50c
commit
203b4050ed
@ -1643,10 +1643,17 @@ namespace skvm {
|
||||
void Program::eval(int n, void* args[]) const {
|
||||
#define SKVM_JIT_STATS 0
|
||||
#if SKVM_JIT_STATS
|
||||
static std::atomic<int> calls{0}, jits{0};
|
||||
static std::atomic<int64_t> calls{0}, jits{0},
|
||||
pixels{0}, fast{0};
|
||||
pixels += n;
|
||||
if (0 == calls++) {
|
||||
atexit([]{
|
||||
SkDebugf("%d of %d calls to eval() went through JIT.\n", jits.load(), calls.load());
|
||||
int64_t num = jits .load(),
|
||||
den = calls.load();
|
||||
SkDebugf("%.3g%% of %lld eval() calls went through JIT.\n", (100.0 * num)/den, den);
|
||||
num = fast .load();
|
||||
den = pixels.load();
|
||||
SkDebugf("%.3g%% of %lld pixels went through JIT.\n", (100.0 * num)/den, den);
|
||||
});
|
||||
}
|
||||
#endif
|
||||
@ -1655,6 +1662,7 @@ namespace skvm {
|
||||
if (const void* b = fImpl->jit_entry.load()) {
|
||||
#if SKVM_JIT_STATS
|
||||
jits++;
|
||||
fast += n;
|
||||
#endif
|
||||
void** a = args;
|
||||
switch (fImpl->strides.size()) {
|
||||
|
Loading…
Reference in New Issue
Block a user