nodejs

(โ˜… 63)

1๏ธโƒฃ๐Ÿ๐ŸŽ๏ธ The One Billion Row Challenge with Node.js -- A fun exploration of how quickly 1B rows from a text file can be aggregated with different languages.

  • .gitattributes
  • .gitignore
  • 1brc.png
  • additional_build_step_thomaswue.sh
  • calculate_average_baseline.sh
  • calculate_average_Edgar-P-Yan.sh
  • cleanup.sh
  • create_measurements.sh
  • create_measurements2.sh
  • create_measurements3.sh
  • eval.sh
  • evaluate.sh
  • LICENSE.txt
  • mvnw
  • mvnw.cmd
  • pom.xml
  • prepare.sh
  • process.sh
  • process_output.java
  • README.md
  • test.sh
  • test_all.sh
  • tocsv.sh

# ์„ค์น˜ ๊ฐ€์ด๋“œ

1. ์ฝ”๋“œ ๋‚ด๋ ค๋ฐ›๊ธฐ
git clone https://github.com/1brc/nodejs

๊นƒํ—ˆ๋ธŒ์—์„œ ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ ์ „์ฒด๋ฅผ ๋‚ด ์ปดํ“จํ„ฐ๋กœ ๋‚ด๋ ค๋ฐ›์Šต๋‹ˆ๋‹ค.

cd nodejs

๋ฐฉ๊ธˆ ๋‚ด๋ ค๋ฐ›์€ ํ”„๋กœ์ ํŠธ ํด๋” ์•ˆ์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

2. Maven (Java)

๋ณดํ†ต ์ถ”์ฒœ
์‚ฌ์ „ ์ค€๋น„๋ฌผ
  • Git GitHub์—์„œ ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋ฅผ ๋‚ด๋ ค๋ฐ›์œผ๋ ค๋ฉด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • JDK (Java) Java ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œ/์‹คํ–‰ํ•˜๋ ค๋ฉด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • Maven mvn ๋ช…๋ น์–ด๋ฅผ ์“ฐ๊ธฐ ์œ„ํ•œ ๋นŒ๋“œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
mvn clean install

Maven์œผ๋กœ ์˜์กด์„ฑ ์„ค์น˜์™€ ๋นŒ๋“œ๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

โœ… BUILD SUCCESS ๋ฉ”์‹œ์ง€๊ฐ€ ๋œจ๋ฉด ์„ฑ๊ณต์ž…๋‹ˆ๋‹ค. target/ ํด๋”์— ๊ฒฐ๊ณผ๋ฌผ์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

3. Node.js

์‰ฌ์›€
์‚ฌ์ „ ์ค€๋น„๋ฌผ
  • Git GitHub์—์„œ ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋ฅผ ๋‚ด๋ ค๋ฐ›์œผ๋ ค๋ฉด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • Node.js npm ๋ช…๋ น์–ด๋ฅผ ์“ฐ๋ ค๋ฉด Node.js๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. LTS(์žฅ๊ธฐ์ง€์›) ๋ฒ„์ „์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.
โš ๏ธ ์ด ํ”„๋กœ์ ํŠธ๋Š” ๊ทœ๋ชจ๊ฐ€ ํฐ ์ €์žฅ์†Œ๋ผ, ์ด ๋ฐฉ๋ฒ•์ด ์‹ค์ œ ํ•ต์‹ฌ ์ œํ’ˆ์ด ์•„๋‹ˆ๋ผ ๋‚ด๋ถ€ ํ•˜์œ„ ํŒจํ‚ค์ง€๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฒƒ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. README ์ „์ฒด๋ฅผ ํ•จ๊ป˜ ํ™•์ธํ•ด๋ณด์„ธ์š”.
cd src/main/nodejs/Edgar-P-yan

์ด ํ”„๋กœ์ ํŠธ์˜ ๊ด€๋ จ ํŒŒ์ผ์ด ํ•˜์œ„ ํด๋” ์•ˆ์— ์žˆ์–ด์„œ, ๋จผ์ € ๊ทธ ํด๋”๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

npm install

package.json์— ๋ช…์‹œ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์„ ๋‚ด๋ ค๋ฐ›์•„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

npm start

๊ฐœ๋ฐœ/์‹คํ–‰ ์„œ๋ฒ„๋ฅผ ์ผญ๋‹ˆ๋‹ค.

โœ… ๋ช…๋ น์–ด ์‹คํ–‰ ํ›„ ํ„ฐ๋ฏธ๋„์— ๋‚˜ํƒ€๋‚˜๋Š” ์ฃผ์†Œ(๋ณดํ†ต http://localhost:3000 ํ˜•ํƒœ)๋ฅผ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์—ด์–ด๋ณด์„ธ์š”.
// repository documentation