48 lines
1.6 KiB
Python
48 lines
1.6 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
Measure OCR initialization time.
|
|
"""
|
|
import time
|
|
import sys
|
|
import os
|
|
|
|
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
|
|
|
def measure_optimized_ocr_init():
|
|
try:
|
|
from lightrag.optimized_ocr_processor import OptimizedOCRProcessor
|
|
except ImportError:
|
|
# try alternative path
|
|
sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'LightRAG-main'))
|
|
from lightrag.optimized_ocr_processor import OptimizedOCRProcessor
|
|
start = time.time()
|
|
processor = OptimizedOCRProcessor(use_gpu=True, batch_size=4, max_workers=2)
|
|
elapsed = time.time() - start
|
|
print(f"OptimizedOCRProcessor initialization time: {elapsed:.2f} seconds")
|
|
print(f"OCR available: {processor.ocr_available}")
|
|
if processor.ocr_available:
|
|
# warm up model (already done in initialization)
|
|
pass
|
|
return processor
|
|
|
|
def measure_simple_ocr_init():
|
|
from simple_ocr_processor import SimpleOCRProcessor
|
|
start = time.time()
|
|
processor = SimpleOCRProcessor()
|
|
elapsed = time.time() - start
|
|
print(f"SimpleOCRProcessor initialization time: {elapsed:.2f} seconds")
|
|
print(f"OCR available: {processor.available}")
|
|
return processor
|
|
|
|
if __name__ == "__main__":
|
|
print("Measuring OCR initialization times...")
|
|
try:
|
|
measure_optimized_ocr_init()
|
|
except Exception as e:
|
|
print(f"Failed to measure OptimizedOCRProcessor: {e}")
|
|
import traceback
|
|
traceback.print_exc()
|
|
try:
|
|
measure_simple_ocr_init()
|
|
except Exception as e:
|
|
print(f"Failed to measure SimpleOCRProcessor: {e}") |