diff options
| author | ReimersS <sebastian.reimers@tum.de> | 2025-11-29 20:07:52 +0000 |
|---|---|---|
| committer | ReimersS <sebastian.reimers@tum.de> | 2025-11-29 20:22:26 +0000 |
| commit | 3e1bb565abc3de8967f0edb7f51ae3667a39c65e (patch) | |
| tree | 6ec0054fc59f8866fa08e543d36c3018f7ca71b9 /src | |
| parent | f91ff3e559319c2ec87b582c8d490677a00a6395 (diff) | |
| download | focaccia-3e1bb565abc3de8967f0edb7f51ae3667a39c65e.tar.gz focaccia-3e1bb565abc3de8967f0edb7f51ae3667a39c65e.zip | |
Start/stop address for benchmarking
Diffstat (limited to 'src')
| -rw-r--r-- | src/focaccia/_deterministic_impl.py | 2 | ||||
| -rw-r--r-- | src/focaccia/deterministic.py | 3 | ||||
| -rwxr-xr-x | src/focaccia/tools/benchmark_focaccia.py | 12 |
3 files changed, 13 insertions, 4 deletions
diff --git a/src/focaccia/_deterministic_impl.py b/src/focaccia/_deterministic_impl.py index 5e4017d..298a388 100644 --- a/src/focaccia/_deterministic_impl.py +++ b/src/focaccia/_deterministic_impl.py @@ -182,7 +182,7 @@ class DeterministicLog: self.base_directory = log_dir def _get_file(self, file_name: str) -> str | None: - if self.base_directory = None: + if self.base_directory is None: return None candidate = os.path.join(self.base_directory, file_name) if os.path.isfile(candidate): diff --git a/src/focaccia/deterministic.py b/src/focaccia/deterministic.py index 343a1ba..d484d5d 100644 --- a/src/focaccia/deterministic.py +++ b/src/focaccia/deterministic.py @@ -277,7 +277,8 @@ class DetachTask(Task): try: from ._deterministic_impl import DeterministicLog -except Exception: +except Exception as e: + print(f'Could not import deterministic log implementation: {e}') class DeterministicLog: def __init__(self, log_dir: str): self.base_directory = None diff --git a/src/focaccia/tools/benchmark_focaccia.py b/src/focaccia/tools/benchmark_focaccia.py index 38e236f..e100bf7 100755 --- a/src/focaccia/tools/benchmark_focaccia.py +++ b/src/focaccia/tools/benchmark_focaccia.py @@ -49,6 +49,14 @@ def make_argparser(): prog.add_argument('-o', '--output', default='./benchmark.txt', help='Output file to save results') + prog.add_argument('--start-address', + type=lambda x: int(x,0), + default=None, + help='Start address for tracing') + prog.add_argument('--stop-address', + type=lambda x: int(x,0), + default=None, + help='Stop address for tracing') return prog def quoted(s: str) -> str: @@ -72,8 +80,8 @@ def runtime_benchmark(args): for i in range(timer.iterations): env = TraceEnvironment(args.binary, args.args, utils.get_envp(), nondeterminism_log=detlog, - start_address=None, - stop_address=None) + start_address=args.start_address, + stop_address=args.stop_address) tracer = SymbolicTracer(env, remote=args.remote, cross_validate=False, force=True) trace = tracer.trace(time_limit=None) |