textlint-ja / analyze-desumasu-dearu

文の敬体(ですます調)、常体(である調)を解析するJavaScriptライブラリ
MIT License
18 stars 5 forks source link

Change tokenize cache to prevent memory leak caused by inifinite cache #19

Closed k-tahiro closed 2 years ago

k-tahiro commented 2 years ago

初めまして。

_tokensCacheMapが無限にキャッシュしていくため、 APIのような形式でプロセスを立ち上げたままにしておくと、どこかでheapが足りなくなると思います。

getTokenizerではなくtokenizeを使用すれば、LRUMapによる上限付きのキャッシュになるため、そちらに変更するPRです。

何か間違いがあればご指摘ください。 ご確認よろしくお願いします。

azu commented 2 years ago

getTokenizerではなくtokenizeを使用すれば、LRUMapによる上限付きのキャッシュになるため、そちらに変更するPRです。

あー、確かにそうですね。 今はkuromojinの方にLRU実装したので、このライブラリレベルでは不要そうですね。 ありがとうございます。

azu commented 2 years ago

https://github.com/textlint-ja/analyze-desumasu-dearu/releases/tag/v5.0.1 でリリースしました。 patchバージョンなので、各ルールはlockファイルをアップデートすれば更新できそうです。

k-tahiro commented 2 years ago

素早い対応ありがとうございます。