Skip to content

Commit f931de8

Browse files
committed
[benchmark] Do not abort with TypeError if no memory measurements were taken
1 parent 0da22a3 commit f931de8

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

benchmark/scripts/Benchmark_Driver

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -627,16 +627,26 @@ class BenchmarkDoctor(object):
627627
@staticmethod
628628
def _constant_memory_use(measurements):
629629
select = BenchmarkDoctor._select
630+
name = measurements["name"]
631+
632+
memory_uses = [
633+
[r.mem_pages for r in i_series if r.mem_pages is not None]
634+
for i_series in [select(measurements, num_iters=i) for i in [1, 2]]
635+
]
636+
memory_uses = [m for m in memory_uses if m]
637+
if not memory_uses:
638+
BenchmarkDoctor.log_memory.info(
639+
"unable to compute memory footprint of '%s'",
640+
name,
641+
)
642+
return
643+
630644
(min_i1, max_i1), (min_i2, max_i2) = [
631645
(min(memory_use), max(memory_use))
632-
for memory_use in [
633-
[r.mem_pages for r in i_series]
634-
for i_series in [select(measurements, num_iters=i) for i in [1, 2]]
635-
]
646+
for memory_use in memory_uses
636647
]
637648
range_i1, range_i2 = max_i1 - min_i1, max_i2 - min_i2
638649
normal_range = 15 # pages
639-
name = measurements["name"]
640650
more_info = False
641651

642652
if abs(min_i1 - min_i2) > max(range_i1, range_i2, normal_range):

0 commit comments

Comments
 (0)