From 574f7ac25e13736bb8a88f50f82c1d53f671061f Mon Sep 17 00:00:00 2001 From: Kilian Schuettler Date: Wed, 15 Nov 2023 17:19:11 +0100 Subject: [PATCH] RED-7669: optimize OCR-module performance * moar sigsegv --- .../ocr/processor/service/threads/OCRThread.java | 14 +++++--------- .../utils/NativeMemoryAllocationUtils.java | 3 +-- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/ocr-service-v1/ocr-service-processor/src/main/java/com/knecon/fforesight/service/ocr/processor/service/threads/OCRThread.java b/ocr-service-v1/ocr-service-processor/src/main/java/com/knecon/fforesight/service/ocr/processor/service/threads/OCRThread.java index fdb9d27..1fd3753 100644 --- a/ocr-service-v1/ocr-service-processor/src/main/java/com/knecon/fforesight/service/ocr/processor/service/threads/OCRThread.java +++ b/ocr-service-v1/ocr-service-processor/src/main/java/com/knecon/fforesight/service/ocr/processor/service/threads/OCRThread.java @@ -1,11 +1,8 @@ package com.knecon.fforesight.service.ocr.processor.service.threads; -import static com.knecon.fforesight.service.ocr.processor.utils.NativeMemoryAllocationUtils.getDetectionScriptBuffers; import static net.sourceforge.tess4j.ITessAPI.TRUE; import java.io.File; -import java.nio.FloatBuffer; -import java.nio.IntBuffer; import java.nio.file.Path; import java.util.List; import java.util.NoSuchElementException; @@ -18,7 +15,6 @@ import com.knecon.fforesight.service.ocr.processor.service.OcrProgressLogger; import com.knecon.fforesight.service.ocr.processor.service.Statistics; import com.knecon.fforesight.service.ocr.processor.utils.NativeMemoryAllocationUtils; import com.knecon.fforesight.service.ocr.processor.utils.Tesseract2; -import com.sun.jna.ptr.PointerByReference; import lombok.AccessLevel; import lombok.RequiredArgsConstructor; @@ -133,12 +129,12 @@ public class OCRThread extends Thread { int orient_deg = 0; int result = TessAPI1.TessBaseAPIDetectOrientationScript(detectionScriptHandle, - buffers.orient_degB(), - buffers.orient_confB(), - buffers.script_nameB(), - buffers.script_confB()); + buffers.orientationDegreeResultBuffer(), + buffers.orientationDegreeConfidenceBuffer(), + buffers.scriptureNameBuffer(), + buffers.scriptureConfidenceBuffer()); if (result == TRUE) { - orient_deg = buffers.orient_degB().get(); + orient_deg = buffers.orientationDegreeResultBuffer().get(); } synchronized (OCRThread.class) { diff --git a/ocr-service-v1/ocr-service-processor/src/main/java/com/knecon/fforesight/service/ocr/processor/utils/NativeMemoryAllocationUtils.java b/ocr-service-v1/ocr-service-processor/src/main/java/com/knecon/fforesight/service/ocr/processor/utils/NativeMemoryAllocationUtils.java index 4ec153d..a75d004 100644 --- a/ocr-service-v1/ocr-service-processor/src/main/java/com/knecon/fforesight/service/ocr/processor/utils/NativeMemoryAllocationUtils.java +++ b/ocr-service-v1/ocr-service-processor/src/main/java/com/knecon/fforesight/service/ocr/processor/utils/NativeMemoryAllocationUtils.java @@ -3,7 +3,6 @@ package com.knecon.fforesight.service.ocr.processor.utils; import java.nio.FloatBuffer; import java.nio.IntBuffer; -import com.knecon.fforesight.service.ocr.processor.service.threads.OCRThread; import com.sun.jna.ptr.PointerByReference; import lombok.experimental.UtilityClass; @@ -21,7 +20,7 @@ public class NativeMemoryAllocationUtils { } - public record DetectionScriptBuffers(IntBuffer orient_degB, FloatBuffer orient_confB, PointerByReference script_nameB, FloatBuffer script_confB) { + public record DetectionScriptBuffers(IntBuffer orientationDegreeResultBuffer, FloatBuffer orientationDegreeConfidenceBuffer, PointerByReference scriptureNameBuffer, FloatBuffer scriptureConfidenceBuffer) { } }