Public Behavior Results 57 KO - teamswyg/laya-tools GitHub Wiki

๊ณต๊ฐœ ๋™์ž‘ ๊ฒ€์ฆ57 ๊ฒฐ๊ณผ

์‹ค์ œ ์›๋ณธ Go ํ•จ์ˆ˜ ๊ด€์ธก62๊ฑด์„ ํ™•๋ณดํ–ˆ๋‹ค. ์‚ฌ์ „ ์œ ํ•œ ๊ธฐ๋Œ€๊ฐ’59๊ฑด๊ณผ ์ผ์น˜ํ•˜๊ณ 3๊ฑด์ด ๋‹ฌ๋ž๋‹ค. ๋‘ ๊ฑด์€ ํฐ prerelease ์ˆซ์ž ๋น„๊ต์˜ ๊ฐ™์€ ์‹คํŒจ ์–‘์ƒ์„ ์ •๋ฐฉํ–ฅยท์—ญ๋ฐฉํ–ฅ์œผ๋กœ ํ™•์ธํ•œ ๊ฒƒ์ด๋‹ค. ๋‚˜๋จธ์ง€ ํ•œ ๊ฑด์€ malformed glob์˜ ์กฐ๊ธฐ ์„ฑ๊ณต๊ณผ ๋” ์—„๊ฒฉํ•œ ๊ฒ€์ฆ ์ •์ฑ…์˜ ์ฐจ์ด๋‹ค. ๋ชจ๋ธ ์ •ํ™•๋„ยท์ผ๋ฐ˜์  ํ•จ์ˆ˜ ์ •ํ™•๋„ยท2400๊ฐœ ๋…๋ฆฝ ์ž‘์—… ๊ฒฐ๊ณผ๋กœ ํ•ด์„ํ•˜์ง€ ์•Š๋Š”๋‹ค.

๋ฌด์—‡์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‚˜

๊ด€์ธก ์‚ฌ์ „ ๊ธฐ๋Œ€ ์‹ค์ œ ์›๋ณธ ๊ฒฐ๊ณผ ์˜๋ฏธ
1.0.0-99999999999999999999 vs 1.0.0-100000000000000000000 SemVer ์ˆซ์ž ๋น„๊ต: ์•ž์ด ์ž‘์Œ(-1) ์•ž์ด ํผ(+1) ๋‘˜ ๋‹ค strict parse๊ฐ€ ์„ฑ๊ณตํ•˜์ง€๋งŒ ๋น„๊ต์—์„œ uint64 overflow๊ฐ€ ๋ฌธ์ž์—ด ๊ฒฝ๋กœ๋กœ ์ด๋™ํ•œ๋‹ค. ์ด ๊ณ ์ • ์ž…๋ ฅ์˜ ๊ทœ๋ฒ” ์ฐจ์ด๋ฅผ ๋ณด์กดํ•œ๋‹ค.
์œ„ ์Œ์˜ ์—ญ๋ฐฉํ–ฅ +1 -1 ๊ฐ™์€ ์–‘์ƒ์„ ํ™•์ธํ•˜๋Š” ๋ฐ˜์ „ ์ž…๋ ฅ์ด๋ฉฐ ๋…๋ฆฝ ๋ฒ„๊ทธยท์ž‘์—…์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๋Š”๋‹ค.
Match("{a,[}", "a") ๋” ๊ฐ•ํ•œ ์ „์ฒด ํŒจํ„ด ๊ฒ€์‚ฌ ์ •์ฑ…: false + ErrBadPattern true + nil ์ฒซ ๋Œ€์•ˆ ์„ฑ๊ณต ๋’ค ์ž˜๋ชป๋œ ๋’ค ๋Œ€์•ˆ์„ ๊ฒ€์‚ฌํ•˜์ง€ ์•Š๋Š”๋‹ค. ์›๋ณธ API์˜ ๋ชจ๋“  ์ž…๋ ฅ์— ๋Œ€ํ•œ ์˜๋ฌด ์œ„๋ฐ˜์ด๋ผ๊ณ  ๋‹จ์ •ํ•˜์ง€ ์•Š๋Š”๋‹ค.
ValidatePattern("{a,[}") false false ๋ณ„๋„ ๊ฒ€์‚ฌ ๊ฒฐ๊ณผ๋‹ค. Match์— ์•ž์„œ ๊ฒ€์‚ฌ๋ฅผ ์‚ฝ์ž…ํ•˜๊ฑฐ๋‚˜ ๊ฒฐ๊ณผ๋ฅผ ํ•ฉ์„ฑํ•˜์ง€ ์•Š์•˜๋‹ค.

์ด๋Š” ์ฝ”๋“œ ํ›„๋ณด๋ฅผ ์ถ”์ฒœํ•  ๋•Œ โ€œ์ˆซ์ž ๋ฒ„์ „๋„ ๋น„๊ตํ•œ๋‹คโ€, โ€œํŒจํ„ด ์˜ค๋ฅ˜๋„ ๊ฒ€์‚ฌํ•œ๋‹คโ€ ๊ฐ™์€ ๋„“์€ ์ฃผ์žฅ๋งŒ์œผ๋กœ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์€ ์ด์œ ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค. ์ž…๋ ฅ ๋ฒ”์œ„์™€ ์‹คํŒจ ์กฐ๊ฑด์„ ํฌํ•จํ•œ ์ž‘์€ ์ฃผ์žฅ์„ ๋งŒ๋“ค๊ณ  ์‹ค์ œ ๊ฒ€์ฆ์„ ์—ฐ๊ฒฐํ•ด์•ผ ํ•œ๋‹ค. ์ž‘์€ ๋ชจ๋ธ์˜ ์˜๋ฏธ ์ดํ•ด๋‚˜ ๋น„์šฉ ์ ˆ๊ฐ์€ ์•„์ง ๋ณ„๋„ ๊ฒ€์ฆ ๋Œ€์ƒ์ด๋‹ค.

๊ด€์ธก ์ˆ˜์™€ ๋…๋ฆฝ์„ฑ

  • Strict parse16, metadata ๋น„๊ต5, prerelease ๋น„๊ต9, ๊ฒฝ๋กœ ๋งค์นญ9, escape/๋ฌธ์ž ๋งค์นญ8, ์˜ค๋ฅ˜ ๋งค์นญ6, pattern ๊ฒ€์‚ฌ9 =62 operation ๊ด€์ธก.
  • ์š”์ฒญํ•œ entry API90ํšŒ: StrictNewVersion44ยทCompare14ยทMatch23ยทValidatePattern9. ์„ฑ๊ณต ํŒŒ์‹ฑ์˜ getter/String/Original224ํšŒ๋Š” ๋ณ„๋„๋‹ค. ์›๋ณธ ๋‚ด๋ถ€ helper ํ˜ธ์ถœ์€ ๊ณ„์ˆ˜ํ•˜์ง€ ์•Š์•˜๋‹ค.
  • ๊ธฐ๋Œ€๊ฐ’ ๋ถ„๋ฅ˜: ๊ทœ๋ฒ”14๊ฑด ์ค‘12์ผ์น˜/2๋ถˆ์ผ์น˜, ๊ธฐ์ˆ ์  API46๊ฑด ๋ชจ๋‘์ผ์น˜, ๋” ๊ฐ•ํ•œ ์ •์ฑ…2๊ฑด ์ค‘1์ผ์น˜/1๋ถˆ์ผ์น˜. ์•Œ๋ ค์ง„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์˜ค๋ฅ˜17๊ฑด๋„ ์ •ํ™•ํžˆ ๊ด€์ธกํ–ˆ๋‹ค. unknown/panic/unsupported0.
  • ์‚ฌ์ „ ์ž…๋ ฅ๊ณผ ํ›„๋ณด/๊ด€์ธก๊ธฐ ๋ฐ”์ดํŠธ๋ฅผ ํ™•์ธํ•œ Git blob28๊ฐœ. ๊ณต์‹ ์ˆ˜์ง‘1ํšŒยท๊ณต์‹ ์žฌ์‹œ๋„0ยทexit0. HEAD ๋ฌธ์ž์—ด์„ ๊ฑฐ์ ˆํ•œ plan ์ค€๋น„ ์‹œ๋„๋Š” ๊ด€์ธก0์ด๋ฉฐ ๊ณต์‹ ์ˆ˜์ง‘ ์žฌ์‹œ๋„๊ฐ€ ์•„๋‹ˆ๋‹ค.
  • ์„œ๋กœ ๋‹ค๋ฅธ ์›์ฒœ ๊ฐ€์กฑ2๊ฐœ์™€ ์œ ํ•œ ์†์„ฑ ๊ณ„์•ฝ6๊ฐœ๋‹ค.62๊ฐœ์˜ ์ž…๋ ฅยทaliasยท๋ฐ˜์ „ยท๊ฐ™์€ ๊ณ„์•ฝ์˜ ๋ณ€ํ˜•์„ ๋…๋ฆฝ ์ตœ์ข… ์š”์ฒญ์œผ๋กœ ์„ธ์ง€ ์•Š๋Š”๋‹ค. ์ƒˆ ๋ชจ๋ธ ์ž…๋ ฅ/caption ์ƒ์„ฑยท์ˆœ์œ„ ํ‰๊ฐ€ยทfitยท์œ ๋ฃŒ ํ˜ธ์ถœยท๊ฐ€์ค‘์น˜ยท๋ณดํ˜ธ ์ตœ์ข… ์š”์ฒญ์€0์ด๋‹ค.

์›๋ณธ MIT ์†Œ์Šค15๊ฐœ99,035๋ฐ”์ดํŠธ์™€ full LICENSE2๊ฐœ๋ฅผ ๋ณด์กดํ–ˆ๋‹ค. ์›๋ณธ module ์„ ์–ธ์€ metadata/upstream.go.mod.txt์— ๊ฐ™์€ ๋ฐ”์ดํŠธ๋กœ ๋‘๊ณ  ๋ถ€๋ชจ go.mod/go.sum์„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์•˜๋‹ค. ์›๋ณธ ์ฝ”๋“œ๊ฐ€ ์ด๋ฏธ ์ œ๊ณตํ•˜๋Š” ๋™์ž‘์„ ์ˆ˜์ง‘ํ•œ ๊ฒƒ์ด๋ฉฐ ์ƒˆ๋กœ ํ•ด๊ฒฐํ•œ ์ฝ”๋”ฉ ์ž‘์—…6๊ฐœ๋ผ๊ณ  ์„ธ์ง€ ์•Š๋Š”๋‹ค. ์›์ฒœ manifest, ์‚ฌ์ „ ๊ณ„ํš, ์ž‘์„ฑยท๊ฒ€ํ†  ๊ธฐ๋ก์„ ํ•จ๊ป˜ ์ฝ๋Š”๋‹ค.

๊ณ ์ •๊ณผ ์žฌํ˜„

๊ทผ๊ฑฐ ๋ฐ”์ดํŠธยทSHA256
์ž…๋ ฅ 218,192 / c4deb9d9e33dca8ff4498531d898ea82ee05559727cbc4f00d99455910722574
์‹คํ–‰ ๊ณ„ํš 5,472 / dfc17915b37d4ce007f48a3a8d4e6fcc693f926f6a789562f6a8fcc68c347d7b
์›๋ณธ ๊ด€์ธก 262,559 / 850c60266eceb613565390430adca12cea9b1a56207b803b06cb681f563978c5
์‹ค์ œ Darwin/arm64 Go1.27.1 CGO0 binary, Git ์ œ์™ธ 5,096,818 / 09e5f6079b8a436c432d313a884376a5bde2267e7afdde88c5d422f1777cc5d7

source freeze 9e99914f6d1e35aa9d97413f80fc6e03768e97ce, input freeze 1462c705087f24666049f8bd31d317490c05dbeb. JSON3๊ฐœ ํ•ฉ๊ณ„486,223๋ฐ”์ดํŠธ๋‹ค.19๊ฐœ์˜ embedded source/upstream artifact์™€7๊ฐœ์˜ support๋ฅผ ๊ด€์ธก ์ „์— ํ™•์ธํ–ˆ๋‹ค. ์ˆ˜์ง‘ ํ›„ publication_test.goยทaudit_test.go๋Š” ์‚ฌ์ „ ํ•€์— ์†Œ๊ธ‰ํ•˜์ง€ ์•Š๋Š”๋‹ค. ํšŒ๊ท€ ์žฌ์ƒ์€ ์ƒˆ ๊ณต์‹ ๊ด€์ธกยท๋…๋ฆฝ ํ‘œ๋ณธ์ด ์•„๋‹ˆ๋‹ค. ์‚ฌ์šฉ๋ฒ•์—์„œ ํ”Œ๋žซํผ ๊ฒฝ๊ณ„๋„ ํ™•์ธํ•œ๋‹ค.

Go scheduling1ยทheap soft limit256MiB๋Š” ์„ค์ •์ด๋ฉฐ RSS/CPU/GPU/์ง€์—ฐ ์‹ค์ธก์ด ์•„๋‹ˆ๋‹ค. ์ด๋ฒˆ์— Laya๋‚˜ GPU๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š์•˜๊ณ  ์ƒ์‚ฐ ํžŒํŠธ ๊ฒฝ๋กœ์— ์˜์กด์„ฑยทlock์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์•˜๋‹ค. ๊ธฐ์กด56a/d ์ธก์ • ๋ฐ pending/unknown์€ ๋ณด์กดํ•œ๋‹ค. Laya ํšŒ๊ณ ์˜ ์บ์‹œยท์ ์ˆ˜ ์„ค๋ช… ๊ฐœ์„ ์€ ์ œ์•ˆ์ด๋ฉฐ ์ด๋ฒˆ ์‹คํ–‰ ์„ฑ๊ณผ์— ํ•ฉ์น˜์ง€ ์•Š๋Š”๋‹ค.

๋‹ค์Œ์€ ๋‹ค๋ฅธ ์›์ฒœ์˜ ์ •ํ™•ํ•œ ์š”์ฒญ/captionยทํ›„๋ณด ๊ด€๊ณ„๋ฅผ ํ™•๋ณดํ•˜๊ณ , ๋ชจ๋“  ํ›„๋ณด๋ฅผ ๋ณด์กดํ•˜๋Š” ๋น„ํ•™์Šต ์ˆœ์œ„ ํšจ์šฉ์„ ๋”ฐ๋กœ ๊ณ ์ •ยทํ‰๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.240๊ฐœ ์›์ฒœ ํ™•๋ณด, ์ตœ์†Œ15๊ทธ๋ฃน/ํ•„์š” ํšจ์šฉ5%, ๋„๋ฉ”์ธ๋ณ„ ๊ณ ์œ  ๋ณดํ˜ธ ์ตœ์ข…2400๊ฐœ ๊ธฐ์ค€์„ ๋‹ฌ์„ฑํ–ˆ๋‹ค๊ณ  ์„ ์–ธํ•˜์ง€ ์•Š๋Š”๋‹ค. ํ•™์Šต ์ ๊ฒฉfalse๋ฅผ ์œ ์ง€ํ•˜๋ฉฐ ์ƒˆ HF ๊ฐ€์ค‘์น˜๋ฅผ ๋ฐœํ–‰ํ•˜์ง€ ์•Š์•˜๋‹ค.