PyKOMORAN icon indicating copy to clipboard operation
PyKOMORAN copied to clipboard

Thread를 지원하는 analyze() 메소드 추가

Open 9bow opened this issue 6 years ago • 3 comments

기능 설명

Komoran.analyze(List<String>, int) 메소드를 지원하도록 합니다.

추가 정보

없음

9bow avatar Mar 20 '19 12:03 9bow

Java method를 wrapping하는 것이 아니라 Python 자체 기능으로 구현해도 괜찮을 것 같음

gamamoe avatar Mar 20 '19 12:03 gamamoe

3가지 옵션이 있을 수 있을 것 같습니다.

  1. Java 메소드를 KOMORANEntryPoint에서 wrapping한 후 Python-side에서 호출 ; 현재 진행하려는 방법입니다. 현재 버전에서 가장 쉽게(?) 구현이 가능합니다. 실제로 JVM 위에서 잘 돌아가는지는 찾아봐야 할 것 같습니다.
  2. Java 메소드를 따로 wrapping하지 않고, Python-side에서 멀티 쓰레드 -> 각각 호출 ; 현재 JVM을 하나만 띄우는 것으로 하였기 때문에 가장 수정이 많이 필요할 것 같습니다. 또한, Heap 크기에 따라 잡아먹는 메모리의 양도 많이 달라질 것 같습니다;
  3. 2와 같은 구조이나, JVM을 Python-side에서 띄우지 않음 ; 2보다는 현실성 있어보이는 방법인데요, Py4J에서 제공하는 기본 방법(?)처럼 gateway server를 띄우고 Python-side에서 붙는 방법입니다. 다만 사용자가 별도로 Java를 띄워야 하는 불편함이 있습니다.

우선은 1번으로 진행하여 성능을 측정해보고, 추후 필요 시 2 또는 3을 고려해보도록 하겠습니다.

9bow avatar Mar 20 '19 14:03 9bow

  • KOMORAN 3.4.0 Release 후 해당 Jar를 반영합니다.
  • EntryPoint 내에 analyze(List<String>, int)를 호출하는 메서드를 추가하고 Python-side에 반영합니다.

9bow avatar Mar 21 '19 13:03 9bow