GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||||||||||||||||
GeezerVison is showing github.com — Reduce redundant object creation while calling callback function from gc · Issue #104028 · python/cpython Closed Labels performancePerformance or resource usagePerformance or resource usage DescriptionLines 1391 to 1402 in 4b27972
The phase object can be created earlier with one-time creation and it can be replaced with vectorcall either. microbenchmarkimport pyperf import gc def benchamark_collection(loops): def callback_foo(phase, info): pass for _ in range(100): gc.callbacks.append(callback_foo) total_time = 0 for _ in range(loops): t0 = pyperf.perf_counter() collected = gc.collect() total_time += pyperf.perf_counter() - t0 return total_time if __name__ == "__main__": runner = pyperf.Runner() runner.metadata["description"] = "GC callback benchmark" runner.bench_time_func("create_gc_cycles", benchamark_collection) Linked PRsReacted by Ken Jin Reacted by Ken Jin Activity
MetadataMetadataAssigneesLabelsperformancePerformance or resource usagePerformance or resource usage ProjectsMilestoneRelationshipsDevelopmentIssue actions | ||||||||||||||||||||||||
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |