Skip to content
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Investigate repeated ops with simulated memory 'leak'.
  • Loading branch information
pp-mo committed May 20, 2024
commit 8f7166e7bfdb5c0efbef1e2b902ac1bbfc9fa2b5
24 changes: 24 additions & 0 deletions benchmarks/benchmarks/memtrace_evaluation/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
# See LICENSE in the root of the repository for full licensing details.
"""Benchmarks to evaluate tracemalloc/rss methods of memory measurement."""

import numpy as np

from .. import TrackAddedMemoryAllocation
from .memory_exercising_task import SampleParallelTask

Expand Down Expand Up @@ -126,3 +128,25 @@ def setup(self, nblocks, nworkers):
nblocks=nblocks,
nworkers=nworkers,
)


class MemcheckTaskRepeats(MemcheckCommon):
param_names = ["nreps"]
params = [1, 2, 3, 4]

def setup(self, nreps):
self._extra_allocated_mem = []
self._setup()

def _test_task(self):
odd_array = np.zeros([1000, 1000], dtype=np.float32)
odd_array[1, 1] = 1
self._extra_allocated_mem.extend(odd_array)
self.task.perform()

@memory_units_mib
def track_mem(self, nreps):
with TrackAddedMemoryAllocation() as tracer:
for _ in range(nreps):
self._test_task()
return tracer.addedmem_mb()