Skip to content

Commit 6103d86

Browse files
authored
Merge pull request #229 from funstory-ai/pdf2zh-v2-rc
feat(highlevel): track and report peak memory usage during translation
2 parents 09f12b9 + 2f42d61 commit 6103d86

File tree

6 files changed

+12
-6
lines changed

6 files changed

+12
-6
lines changed

babeldoc/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "0.3.4"
1+
__version__ = "0.3.5"

babeldoc/const.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import subprocess
44
from pathlib import Path
55

6-
__version__ = "0.3.4"
6+
__version__ = "0.3.5"
77

88
CACHE_FOLDER = Path.home() / ".cache" / "babeldoc"
99

babeldoc/high_level.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,7 @@ def do_translate(
381381
original_pdf_path = translation_config.input_file
382382
logger.info(f"start to translate: {original_pdf_path}")
383383
start_time = time.time()
384-
384+
peak_memory_usage = 0
385385
with MemoryMonitor() as memory_monitor:
386386
# Check if split translation is enabled
387387
if not translation_config.split_strategy:
@@ -504,6 +504,7 @@ def do_translate(
504504
logger.info("start merge results")
505505
result = merger.merge_results(results)
506506
logger.info("finish merge results")
507+
peak_memory_usage = memory_monitor.peak_memory_usage
507508

508509
finish_time = time.time()
509510
result.total_seconds = finish_time - start_time
@@ -512,6 +513,7 @@ def do_translate(
512513
f"finish translate: {original_pdf_path}, cost: {finish_time - start_time} s",
513514
)
514515
result.original_pdf_path = translation_config.input_file
516+
result.peak_memory_usage = peak_memory_usage
515517
pm.translate_done(result)
516518
return result
517519

babeldoc/main.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
from babeldoc.translation_config import WatermarkOutputMode
2424

2525
logger = logging.getLogger(__name__)
26-
__version__ = "0.3.4"
26+
__version__ = "0.3.5"
2727

2828

2929
def create_parser():

babeldoc/translation_config.py

+4
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,7 @@ class TranslateResult:
256256
dual_pdf_path: str | None
257257
no_watermark_mono_pdf_path: str | None
258258
no_watermark_dual_pdf_path: str | None
259+
peak_memory_usage: int | None
259260

260261
def __init__(self, mono_pdf_path: str | None, dual_pdf_path: str | None):
261262
self.mono_pdf_path = mono_pdf_path
@@ -299,6 +300,9 @@ def __str__(self):
299300
f"\tNo-watermark Dual-language PDF: {self.no_watermark_dual_pdf_path}"
300301
)
301302

303+
if hasattr(self, "peak_memory_usage") and self.peak_memory_usage:
304+
result.append(f"\tPeak memory usage: {self.peak_memory_usage} MB")
305+
302306
if result:
303307
result.insert(0, "Translation results:")
304308

pyproject.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "BabelDOC"
3-
version = "0.3.4"
3+
version = "0.3.5"
44
description = "Yet Another Document Translator"
55
license = "AGPL-3.0"
66
readme = "README.md"
@@ -148,7 +148,7 @@ pythonpath = [".", "src"]
148148
testpaths = ["tests"]
149149

150150
[bumpver]
151-
current_version = "0.3.4"
151+
current_version = "0.3.5"
152152
version_pattern = "MAJOR.MINOR.PATCH[.PYTAGNUM]"
153153

154154
[bumpver.file_patterns]

0 commit comments

Comments
 (0)