๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก์ž๋ฐ”๋ฒค์น˜๋งˆํฌ (1)

Unfazedโ—๏ธ๐ŸŽฏ

Collection.toArray(new T[0]) vs .toArray(new T[size]) / ์ปฌ๋ ‰์…˜์„ ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์˜ ์„ฑ๋Šฅ ๋น„๊ต

Java์—์„œ ์ปฌ๋ ‰์…˜์„ ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์—๋Š” ํฌ๊ฒŒ toArray(new T[0])์™€ toArray(new T[size])๋กœ ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. ๋‘ ๋ฐฉ๋ฒ• ๋ชจ๋‘ ์ปฌ๋ ‰์…˜์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์„ฑ๋Šฅ๋ฉด์—์„œ ์ฐจ์ด๊ฐ€ ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋–ค ๋ฐฉ๋ฒ•์ด ๋” ๊ถŒ์žฅ๋˜๋Š”์ง€ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์„ฑ๋Šฅ ๋น„๊ต ๋ฐ ๋ถ„์„ JMH(Java Microbenchmark Harness)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ JDK ๋ฒ„์ „์—์„œ ๋‹ค์–‘ํ•œ ์ปฌ๋ ‰์…˜ ํฌ๊ธฐ์— ๋Œ€ํ•ด ์ด ๋‘ ๋ฐฉ๋ฒ•์˜ ์„ฑ๋Šฅ์„ ์ธก์ •ํ•œ ์•„ํ‹ฐํด์ด ์žˆ์–ด ํ•ต์‹ฌ๋งŒ ์š”์•ฝํ•ด๋ณด๋ คํ•œ๋‹ค. ์„ฑ๋Šฅ ์ธก์ • ๊ฒฐ๊ณผ, toArray(new T[0]) ๋ฐฉ๋ฒ•์ด toArray(new T[size]) ๋ฐฉ๋ฒ•๋ณด๋‹ค ์ผ๊ด€๋˜๊ฒŒ ๋” ๋น ๋ฅธ ์„ฑ๋Šฅ์„ ๋ณด์˜€๋‹ค. ์ด๋Š” ๋ฐฐ์—ด ์ดˆ๊ธฐํ™” ๊ณผ์ •์—์„œ์˜ ์ฐจ์ด ๋•Œ๋ฌธ์ธ๋ฐ, toArray(new T[0])๋Š”..

Java 2024. 1. 14. 02:26