sS profileThisThreadToString(int interval default poorMansProfiling_defaultInterval(), Runnable r) { poorMansProfiling(interval, currentThread()); pcall { r.run(); } ret poorMansProfiling_stopAndRenderResults(); } static Pair profileThisThreadToString(int interval default poorMansProfiling_defaultInterval(), IF0 f) { new Var var; S profile = profileThisThreadToString(interval, r { var.set(callF(f)) }); ret pair(var!, profile); }