cache
๋ฅผ ๋ณด์๊ณ ์บ์์์ ๋ช ๊ฐ์ง ๋ฌธ์ ๋ฅผ ์ฐพ์์ง๋ง ๋ด๊ฐ ์์ฒญํ ๊ฒ์ ์๋๋๋ค.~1000์ค์ ๋ฌธ๋ฒ์ ์ฌ์ฉํ์ฌ ์๋นํ ๋ฌด๊ฑฐ์ด(500KB) ์ฌ์ฉ์ ์ ๊ณต ํ ์คํธ๋ฅผ ๊ตฌ๋ฌธ ๋ถ์ํ๊ณ ์์ต๋๋ค.
{cache: true}
์ ๋ฌํ ๋ ...--max-old-space-size=3000
)์ ์ฌ์ฉํ๋๋ก ์ง์ํ๋ฉด ํ์ด 2.5GB๋ก ์ฆ๊ฐํ๊ณ 12์ด ํ์ ๊ตฌ๋ฌธ ๋ถ์์ด ์ฑ๊ณตํฉ๋๋ค.{cache: false}
์ ๋ฌํ ๋ ์์๋๋ก ํ์ฑ ํด๋ญ์ด 10์ด(๋ณ๋ฆฌ์ ์ด์ง ์์ ๊ฒฝ์ฐ)์์ ์ฝ๊ฐ ๋ ๋นจ๋ผ์ง๊ณ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ๋์ด๋์ง ์์ต๋๋ค.์ด๊ฒ์ ์ฌ์ฉ์ ๋ฐ์ดํฐ์ด๊ณ ๋ด ์๋ฒ ๋ฆฌ์์ค๊ฐ ์ ํ๋์ด ์์ผ๋ฏ๋ก X+1GB์ ํ์ด ํ์ํ 1MB ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฅผ ์ป์ ์ ์์ผ๋ฏ๋ก XGB์ ํ์ ์ฌ์ฉํ๋๋ก ๋
ธ๋๋ฅผ ์ถฉ๋์ํค๋ ๊ฒ์ ์ต์
์ด ์๋๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฌผ๋ก ๊ฐ๋ฅํ ๊ฒฝ์ฐ {cache: true}
๋ฅผ ๊ณ์ ์ฌ์ฉํ๊ณ ์ถ์ต๋๋ค. "๋ณ๋ฆฌํ์ ์ธ ๊ฒฝ์ฐ ๊ธฐํ๊ธ์์ ์ธ ๊ตฌ๋ฌธ ๋ถ์ ์๊ฐ์ ํผํ๊ธฐ ์ํด" ์ ๊ฐ ๋ง๋ ์ ์ด ์์ต๋๋ค.
์ด๋ค ์ ๊ทผ ๋ฐฉ์์ ๊ถ์ฅํฉ๋๊น?
{cache: true}
์ฉ๋๋ฅผ ๋ฐ๊พธ๋ ๊ฒ์ ๊ณ ๋ คํ๊ณ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฉด CPU ์ฌ์ฉ๋์ด ๋ ๋ง์์ง์ง๋ง ์ ์ด๋ OOM์ ์ฌ์ฉํ์ง ์์ ๊ฒ์
๋๋ค.PEG.js์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค! ๐
๊ธฐํ๊ธ์์ ์ธ ๊ตฌ๋ฌธ ๋ถ์ ์๊ฐ์ ๋งค์ฐ ๋ณ๋ฆฌํ์ ์ธ ๊ฒฝ์ฐ์ ๋ฐ์ํ๋ฉฐ ๊ฑฐ๊ธฐ์์ ๋ฌธ๋ฒ์ ๋ค์ ์์ฑํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
https://github.com/sirthias/pegdown/issues/43#issuecomment -18469752 ๊ณ ๋ ค
(์ ๋ ๊ธฐ์ฌ์๊ฐ ์๋๋๋ค)
@polkovnikov-ph๊ฐ ์ง์ ํ๋ฏ์ด ๋ณ๋ฆฌํ ์ ์ฌ๋ก๋ฅผ ๋ค๋ฃจ๋ ๋ฌธ๋ฒ ๋ถ๋ถ์ ๋ค์ ์์ฑํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ง๋ง OOM ์ฌ๋ก๋ฅผ ๊ณ์ ์น๋ ๊ฒฝ์ฐ (@ronjouch) ์ ์ํ๋๋กํ๋ ๊ฒ์ด ๋ ๋์ ์ ์์ต๋๋ค. ์
๋ ฅ ํฌ๊ธฐ์ ๋ฐ๋ผ _cache_ ์ต์
์ ํ: cache: input.length >= 250000
๊ทธ ํ(์ฌ์ฉ์๊ฐ ์ ๊ณตํ ํ ์คํธ์ ์ก์ธ์คํ ์ ์๋ ๊ฒฝ์ฐ์๋ง) OOM ์ฌ๋ก์ ๋๋ฌํ๋ ์ ๋ ฅ์ ๊ฒ์ฌํ์ฌ ์ผ๋ฐ์ ์ธ ๋ณ๋ฆฌํ ์ฌ๋ก๋ฅผ ์ฐพ๊ณ ๋ฌธ๋ฒ์ ์ ๋ฐ์ดํธํ์ฌ OOM ์ฌ๋ก ์๋ฅผ ์ค์ผ ์ ์๋๋ก ๋ช ์์ ์ผ๋ก ์ฒ๋ฆฌํ ๊ฒ์ ์ ์ํฉ๋๋ค. ๋น์ ์ ์ฑ์ ์น๊ณ ์์ต๋๋ค.
์ฌ์ ํ OOM ์ฌ๋ก๋ฅผ ์์ฃผ ์ฌ์ฉํ๊ณ ๋ฌธ๋ฒ์ ๋ค์ ์์ฑํ ๋ฟ๋ง ์๋๋ผ ๋๊ตฌ ์ฒด์ธ์ ์ถ๊ฐ ํจ์ค(๋๋ ๋ช ๊ฐ)๋ฅผ ์ถ๊ฐํ๋ ค๋ ๊ฒฝ์ฐ ๋ค์ ๋ฐฉ๋ฒ ์ค ํ๋๋ฅผ ์๋ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
@polkovnikov-ph @futagoza ์๊ฐ์ ๋ด์ด ์กฐ์ธ์ ํด์ฃผ์ ๋