Π€Π΅Ρ˜ΡΠ±ΡƒΠΊ ΠΎΡ‚Π²ΠΎΡ€Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° Ρ…Π°Ρˆ Ρ‚Π°Π±Π΅Π»ΠΈ F14

Π€Π΅Ρ˜ΡΠ±ΡƒΠΊ компанија објави Π·Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° Ρ…Π°Ρˆ Ρ‚Π°Π±Π΅Π»ΠΈ со ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ F14, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ Π·Π° Сфикасна ΠΏΠΎΡ‚Ρ€ΠΎΡˆΡƒΠ²Π°Ρ‡ΠΊΠ° Π½Π° ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°. F14 сС користи Π²ΠΎ инфраструктурата Π½Π° Facebook ΠΊΠ°ΠΊΠΎ Π·Π°ΠΌΠ΅Π½Π° Π·Π° ΠΏΠΎΠ²Π΅ΡœΠ΅Ρ‚ΠΎ Ρ‚ΠΈΠΏΠΎΠ²ΠΈ Ρ…Π°Ρˆ Ρ‚Π°Π±Π΅Π»ΠΈ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ја Π½Π°ΠΌΠ°Π»ΠΈ ΠΏΠΎΡ‚Ρ€ΠΎΡˆΡƒΠ²Π°Ρ‡ΠΊΠ°Ρ‚Π° Π½Π° ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π° Π±Π΅Π· Π΄Π° Π³ΠΈ ΠΆΡ€Ρ‚Π²ΡƒΠ²Π° пСрформанситС. F14 Π·Π°Π±Π΅Π»Π΅ΠΆΠ»ΠΈΠ²ΠΎ Π³ΠΈ Π½Π°Π΄ΠΌΠΈΠ½ΡƒΠ²Π° Ρ‚Π°Π±Π΅Π»ΠΈΡ‚Π΅ Π·Π° Ρ…Π°Ρˆ google::sparse_hash_map, ΠΊΠΎΠΈ досСга сС смСтаа Π·Π° Π½Π°Ρ˜Π΅Ρ„ΠΈΠΊΠ°ΡΠ½ΠΈ Π²ΠΎ однос Π½Π° ΠΏΠΎΡ‚Ρ€ΠΎΡˆΡƒΠ²Π°Ρ‡ΠΊΠ°Ρ‚Π° Π½Π° ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Π½ΠΈΠΎΡ‚ ΠΊΠΎΠ΄ Π΅ напишан Π²ΠΎ C++ ΠΈ Π΅ Π²ΠΊΠ»ΡƒΡ‡Π΅Π½ Π²ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Лудост.

F14 сС однСсува Π½Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ со систСм Π·Π° Ρ€Π΅Π·ΠΎΠ»ΡƒΡ†ΠΈΡ˜Π° Π½Π° судир Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° двојно Ρ…Π°ΡˆΠΈΡ€Π°ΡšΠ΅ со 14 сСквСнци Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΡ†ΠΈ (ΡΠΈΠ½ΡŸΠΈΡ€ ΠΎΠ΄ 14 слотови сС складира Π²ΠΎ Π΅Π΄Π½Π° ΠΊΠ»Π΅Ρ‚ΠΊΠ° Π½Π° Ρ‚Π°Π±Π΅Π»Π° Π·Π° Ρ…Π°Ρˆ, Π° ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΡ‚ ΠΏΠΎΠΌΠ΅Ρ“Ρƒ ΡœΠ΅Π»ΠΈΠΈΡ‚Π΅ сС прСсмСтува со помош Π½Π° помошна Ρ…Π°Ρˆ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°). Π—Π° Π΄Π° сС Π·Π°Π±Ρ€Π·Π°Π°Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π·Π° Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΡœΠ΅Π»ΠΈΠΈΡ‚Π΅, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° користи вСкторски инструкции SSE2 Π·Π° систСмитС x86_64 ΠΈ NEON Π·Π° Aarch64, ΠΊΠΎΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π°Π°Ρ‚ ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π·Π° ΠΈΠ·Π±ΠΎΡ€ Π½Π° слотови со ΡΠΈΠ½ΡŸΠΈΡ€ΠΈ Π·Π° ΠΊΠ»ΡƒΡ‡Π΅Π²ΠΈ ΠΈ ΠΏΡ€ΠΎΡΠ΅Ρ˜ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΊΠ»ΡƒΡ‡Π΅Π²ΠΈΡ‚Π΅ Π²ΠΎ Π»Π°Π½Π΅Ρ†ΠΎΡ‚. Π‘Π»ΠΎΠΊΠΎΠ²ΠΈ ΠΎΠ΄ 14 слотови сС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΡƒΠ²Π°Π°Ρ‚ истоврСмСно, ΡˆΡ‚ΠΎ Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½Π° Ρ€Π°ΠΌΠ½ΠΎΡ‚Π΅ΠΆΠ° ΠΏΠΎΠΌΠ΅Ρ“Ρƒ Сфикасноста Π½Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠ΅ΡˆΠΎΡ‚ Π½Π° процСсорот ΠΈ Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° судири.

ПосСбна карактСристика Π½Π° F14 Π΅ моТноста Π·Π° ΠΈΠ·Π±ΠΎΡ€ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ стратСгии Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ:

  • F14NodeMap - Ρ‚Ρ€ΠΎΡˆΠΈ Π½Π°Ρ˜ΠΌΠ°Π»ΠΊΡƒ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π° Π·Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΈ срСдни ΠΊΠ»ΡƒΡ‡Π΅Π²ΠΈ. ΠžΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° Π΄Π΅ΠΊΠ° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ сС Π·Π°Ρ‡ΡƒΠ²ΡƒΠ²Π°Π°Ρ‚ ΠΈΠ½Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ со ΠΏΠΎΠ²ΠΈΠΊ Π΄ΠΎ malloc ΠΏΡ€ΠΈ сСкоС Π²ΠΌΠ΅Ρ‚Π½ΡƒΠ²Π°ΡšΠ΅;
  • F14ValueMap - ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π° ΠΏΠΎΡ‚Ρ€ΠΎΡˆΡƒΠ²Π°Ρ‡ΠΊΠ° Π½Π° ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π° Π·Π° ΠΌΠ°Π»ΠΈ ΠΊΠΎΠΏΡ‡ΠΈΡšΠ°. Π•Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ сС складираат Π²ΠΎ самитС ќСлии (inline). Π—Π° срСдни ΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΊΠ»ΡƒΡ‡Π΅Π²ΠΈ, овој пристап Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π·Π°Π±Π΅Π»Π΅ΠΆΠ»ΠΈΠ²Π° надморска ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°;
  • F14VectorMap - Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎΠ±Ρ€Π·ΠΎ Π·Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Ρ‚Π°Π±Π΅Π»ΠΈ ΠΈ слоТСни ΠΊΠΎΠΏΡ‡ΠΈΡšΠ°, Π½ΠΎ ΠΏΠΎΠ±Π°Π²Π½ΠΎ Π·Π° Сдноставни ΠΊΠΎΠΏΡ‡ΠΈΡšΠ° ΠΈ ΠΌΠ°Π»ΠΈ маси. Π•Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ сС спакувани Π²ΠΎ ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½ΠΎ насСлСна Π½ΠΈΠ·Π° ΠΈ адрСсирани со 32-Π±ΠΈΡ‚Π΅Π½ индСксСн ΠΏΠΎΠΊΠ°ΠΆΡƒΠ²Π°Ρ‡;
  • F14FastMap Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Π½Π° ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡ˜Π°. Ако ΠΊΠ»ΡƒΡ‡ΠΎΡ‚ Π΅ ΠΏΠΎΠΌΠ°Π» ΠΎΠ΄ 24 Π±Π°Ρ˜Ρ‚ΠΈ, Ρ‚ΠΎΠ³Π°Ρˆ сС ΠΈΠ·Π±ΠΈΡ€Π° F14ValueMap, Π° Π°ΠΊΠΎ повСќС, сС ΠΈΠ·Π±ΠΈΡ€Π° F14VectorMap.

Π€Π΅Ρ˜ΡΠ±ΡƒΠΊ ΠΎΡ‚Π²ΠΎΡ€Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° Ρ…Π°Ρˆ Ρ‚Π°Π±Π΅Π»ΠΈ F14

Π˜Π·Π²ΠΎΡ€: opennet.ru

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€