μ§κΈ λ§λ€κ³ μλ νλ‘μ νΈμλ 3D λͺ¨λΈμ λ°μμμ κ° μ μ κ³Ό μΌκ°νμ λμνλ κ°μ²΄λ₯Ό λ§λλ ν¨μκ° μμ.
μ μ€μνλκΉ λμΆ© 보μ .
λμΆ© μ΄λ°κ±° νλ μ μ.
μ¬κΈ°μ Enumeratorλ₯Ό λ°μμ Start ν¨μμμ μ€νμν€λλ°, μ μ μ΄ λ§ κ° λμ΄κ°λ κ°μ²΄μ λν΄μ (κ²μμ€λΈμ νΈ μμ± μ νμ λλ) μλκ° μμ² λλ €μ λ¬Έμ κ° λμ.
κ·Έλμ μ€λ λλ₯Ό μ°λ©΄ μ’ μλκ° λΉ λ₯΄λ €λ μΆμ΄μ μ€νμ ν λ² ν΄λ΄.
μ΄κ±΄ λΆνκ° λλ Load ν¨μλ₯Ό 100,000λ² μ€ννλ ν¨μμ.
μκ°μ μμ λ μ½ 7.2μ΄μ λκ° μμλ¨.
κ·ΈλΌ μ€λ λλ₯Ό νλ λ§λ€μ΄μ μμ μ μ λ°μ© νλ©΄ μλκ° λΉ¨λΌμ§κΉ?
μ€ λΉ¨λΌμ§ κ°κΏ
μ΄λ²μλ 3.7μ΄κ° κ±Έλ Έλλ° κΈ°μ‘΄μ 7.2μ΄μ λΉν΄ 1.9λ°°μ λ λΉ¨λΌμ§.
μ΄λ κ² ν΄λ΄€μΌλ μ€λ λλ₯Ό ν 10κ°μ―€ λ§λ€μ΄λ³ΌκΉ?
μ½ 1μ΄λ‘ κΈ°μ‘΄μ 7.2μ΄μ λΉν΄ μκ°μ΄ λμ λκ² μ€ κ±Έ λ³Ό μ μμ.
νμ§λ§ 10κ°μ μ€λ λλ₯Ό μ¬μ©νμΌλ μκ° λ¨μΆ ν¨κ³Όλ 7λ°°μ λλ°μ λμ§ μμμ.
μ€λ λλ κ·Έλ₯ λμκ°λ κ² μλλΌ μμ μ νμ μν΄ cpu μμμ λ¨ΉμΌλ―λ‘ λ¬΄μμ μ€λ λλ₯Ό λ리λ κ²λ μ’μ§ μμ κ² κ°μ.
μ€λμ μ€ν λ
gosu
Task.Run(() => { DoSomething(); });
μ€λ λ 첨μ¨λ³Έκ±°λΌ λΆμ‘±νκ² μμ μ μμ. μ§κΈ 곡λΆμ€
Thread μ§μ λ§λ€λ©΄μ 곡λΆνλ€κ° μ’ μ΅μν΄μ§λ©΄ Task κ³΅λΆ γ±γ± C# μ₯μ μ€ νλμΌ
γ γ γ γ μ€λ κ±°κΈ° λ€μ΄κ°λλ° λ³΄λκΉ μμ² μ μ©ν κ³³μ΄ λ§μ κ² κ°μ. κ°κΌ΄λ¦°λ€
DoWriteOn(); γ±
gosu
μ λν°λ Cupy κ°μ κ±° λͺ» μ°λ
ν μ€νΈκ° μμ ν μλͺ»λ¬μ. μλν° νκ²½μμ νμμ°μ΄μ λΉκ΅νλμΈκ°μ΄ μ΄λ¨λ. vmμμ λλ μΈμ΄ μ±λ₯ ν μ€νΈμμ μ§μΌμΌν κ²λ€μ΄ νκ°λ μμ§μΌμ‘μ. μ λ¬Όλ‘ κ²°κ³Όκ° κ°μμ μΌλ‘ μ₯μ₯ λ°λ κ°λ₯μ±μ μ λ€
ν μ€ν¬ μ²μμ¨λ³΄λ μ΄λ³΄λΌ λΆμ‘±ν μ μ΄ λ§μ μ μμ. κ·Έλ₯ μ΄ λ°©λ²μ μ°λ©΄ λ μ’μ μ μκ² λ€ μ λλ‘ λ΄μ£Όμ .