แจแแกแแแแแ
แแก แแแฎแกแแแแแ แแแแแแกแฃแ แแ แแแแแชแ GopherCon Russia 2019 แแแแคแแ แแแชแแแแ แแแกแแแแจแ แแ แ แฃแกแฃแ แแแแแ แแแแแ แแแแแแ แแแจแ แแแแแ แแฃแ แจแแฎแแแแ แแแ. แกแแฃแแแ แแ แแแขแแแ แแแแแฅแกแแ - B-แฎแแแ แแแแแแแแ แแแแ แชแแแแแฃแแ, แแแแ แแ แแ แแแแแแแ แกแแแแขแแ แแกแ. แแแแแแ แแแ
แฉแแแ แจแแแฎแแแแแ, แ แแแแ แแฃแจแแแแก แแแขแแแ แแแแแฅแกแ, แ แแแแก แแ แแก แฃแแแแแกแ, แ แแแแก แแ แแก แฃแแ แแกแ แกแฎแแ แแแแแฅแกแแแแ แแ แ แ แจแแแแฎแแแแแจแ แแ แแก แแแแแ แกแแแ แซแแแแแแ แกแฌแ แแคแ; แแแแฎแแ แ แแแแ แแแแฃแแแ แฃแ DBMS-แแแก แแฅแแ แฃแแแ แแแขแแแแแก แแแแแฅแกแแแ; แจแแแแชแแแแ แแแแฌแแ แแ แกแแแฃแแแ แ Go-แจแ. แแ "แแแกแแ แขแแ" แฉแแแ แแแแแแแงแแแแแ แแแ แแแแแแแแแแแแก, แ แแ แจแแแฅแแแแ แฉแแแแ แกแฃแแแ แกแฌแ แแคแ แกแแแชแแแแแแแแฃแแ แแแแแชแแแแ แแแแ.
แแแแ แแแแแ แแแฅแแก, แ แแ แฉแแแ แแแแฃแจแแแ แแแ แแฅแแแแแแแก แกแแกแแ แแแแแ แแ แกแแแแขแแ แแกแ แแฅแแแแ. แฌแแแ!
แจแแกแแแแแ
แฒกแแแแแ แงแแแแแก! แกแแฆแแแแก แแฅแแกแ แกแแแแแ แแ แงแแแแ แซแแแแแ แแแฆแแแแแแ แแแ แ. แแแ แแ แแ แแ แแแกแแฃแแ แแ แแแกแแฌแงแแ แแแแแชแแแแ แแแแแก แแแแแฅแกแแก แแแแ แแแแ, แแ แ? แแ แแแแ แแแฃแแ, แแ แแแฅแแแแ แฌแงแแ แแก แแแแแก แ แแแแแแแแ แกแขแ แแฅแแแ แแฅแ-แแฅ. ๐
แงแแแแ แฎแฃแแ แแแแก แแแ แแ, แแแฎแกแแแแแ แกแแแกแแ แแแคแแ แแแชแแแแแ แแ แแแแ แ แแ แ แแ แแแแฅแแก. แแกแ แ แแ, แแแแแฌแงแแ.
แแฆแแก แแ แแแกแแฃแแ แแ แจแแแแแแแ:
- แ แ แแ แแก แแแแแฅแกแแแ;
- แ แ แแ แแก bitmap แแแแแฅแกแ;
- แกแแ แแแแแแงแแแแแ แแ แกแแ แแ แแแแแแงแแแแแ แแ แ แแขแแ;
- แแแ แขแแแ แแแแแ แแแ Go-แจแ แแ แแชแแ แ แแ แซแแแ แจแแแแแแแแแแแ;
- แแแแแ แแแแแแแแ แแแ แขแแแ, แแแแ แแ แแแแ แแ แฃแคแ แ แแ แแแฃแฅแขแแฃแแ แแแแฎแแ แชแแแแแแ Go แแกแแแแแแ แจแ;
- แแแขแแแ แแแแแฅแกแแแแก โแแ แแแแแแแแโ;
- แแ แกแแแฃแแ แแแแฎแแ แชแแแแแแแแ.
แ แ แแ แแก แแแแแฅแกแแแ?
แแแแแฅแกแ แแ แแก แชแแแแ แแแแแชแแแแ แกแขแ แฃแฅแขแฃแ แ, แ แแแแแกแแช แฉแแแ แแแแแฎแแแ แแ แแแแฎแแแแ แซแแ แแแแ แแแแแชแแแแแแแ แแ แแแ. แแแ แแแแแแงแแแแแ แซแแแแแก แแแกแแฉแฅแแ แแแแแ. แแแแแฅแกแแแแก แแแ แแจแ, แซแแแแ แแแแแฎแแแก แแแแแชแแแแ แกแ แฃแแแ แแแแแแก (แแ แแชแแกแ, แ แแแแแกแแช แแฌแแแแแ แกแ แฃแแ แกแแแแแ แแแ) แแ แแ แแ แแชแแกแก แแฅแแก แฎแแแแแแแ แแแแแ แแแแฃแแ แกแแ แแฃแแ. แแแแ แแ แแแแแชแแแแ แแแแแแ แฉแแแฃแแแแ แแ แจแแแชแแแก แฃแแแ แแแแแ แ แแแแแแแแแก แแ แฎแแแแแแแ แกแแ แแฃแแ แซแแแแแ แแแแแ. แแแแแแฃแ แจแแแแฎแแแแแจแ, แฉแแแ แแแแแฆแแแ แแแแแ แแแแฃแ แแ แแฃแแแแ แแ แแก.
แแก แฃแแฆแ แแกแแ แ แแฃแแ แแแแแ, แกแแแกแแ แแแฎแแแฌแแแแแแแ แแ แแแแแแขแแแชแแแแแ, แแแแ แแ แแแแแชแแแแ แแแแแก แจแแแฃแจแแแแแแกแ แแ แแแแแแแก แแแฌแแแฃแแแแแก แจแแแแแ, แแ แแแแ แแแ แแแฅแแ, แ แแ แแ แกแแแแแก แแฎแแแแ แ แแแแแแแแ แคแแ แแแ แแแแแงแแแแแฃแแ แแแแแแแ แแแแแชแแแแ แแแแแก แแแแแฅแกแแแแก แจแแกแแฅแแแแแแ.
แแแ แแแแ แแแแแแแ แแ แแก แกแแซแแแแ แกแแแ แชแแก แแแ แแ แฅแแฃแแแ แจแแแชแแ แแแ, แกแแซแแแแ แกแแแ แชแแก แแชแแ แ แแแฌแแแแแแ แแแงแแคแ.
แฉแแแ แแแแก แฉแแแฃแแแแ แแ แแแแแแแแ แกแฎแแแแแกแฎแแ แขแแแแก แฎแแแแแก แแแแแงแแแแแแ. แแแแก แแแแแแแแ แแฅแแแแ แแแกแแแแแแก แแแแ แงแฃแแ แแฅแแแแก แแแ แแแแจแ, แ แแแแแแช แจแแแชแแแก แกแฎแแแแแกแฎแแ แแแแแแแ แแแงแแคแแ แแแกแแแแแแก แแแขแแ แ แงแฃแแแแก. แแฃ แแแกแแแแแ แแญแแ แแแแแ, แแฅแแแ แแแแแ แแแซแแแแแ แแแ แงแฃแแจแ, แกแแแแช แฌแแ แแ โแแแกแแแแแโ โโแแ แแ แ โแฅแฃแฅแแแแโ, แแ แ?
แแแแ แ แแแแแแแ แแ แแก แกแแกแฃแ แแแแ แแแแแแแขแแก แแ แแแแแแแขแแแแก แฏแแฃแคแแก แแแฃแงแแแแแแแแ แจแแ แฉแแแ. แฉแแแ แแแแก แแแแแแแแ แฐแแจ แ แฃแแแแจแ แแ แกแแแแ แแกแแแ แ แแแแแฅแกแแแจแ. แฐแแจแแก แ แฃแฅแแแแก แแแแแงแแแแแ แซแแแแแ แฐแแแแก แฌแแแ แแแแแแแแก, แแแแ แแ แงแฃแแแแแก แงแฃแแแก แแแชแแแแ, แแฅแแแแก แแแ แแแแจแ แแแฅแแ แแแแ แแแแแแแแก แแแขแแ แ แงแฃแแแแ.
แแแกแแแ แแแแแแแ แแ แแก แซแแแแแก แกแแญแแ แแแแแก แแฆแแแคแฎแแ แ. แฉแแแ แแแแก แแแแแแแแ Bloom แคแแแขแ แแแแก แแ แแฃแแฃแแแก แคแแแขแ แแแแก แแแแแงแแแแแแ. แแแ แแแแแแ แแงแแกแแแ แแ แแแกแชแแแแ แแแกแฃแฎแก แแ แแแฎแกแแแ แซแแแแแกแแแ.
แแแแ แแแแแแแ แแ แแก แแแแแ แซแแแแก แกแ แฃแแแ แแแแแงแแแแแ, แ แแกแแช แแแแแแแแ แแแ แแแแ แแขแฃแ แ แแแแซแแแแก. แแก แแ แแก แแฃแกแขแแ แแก, แ แแกแแช แฉแแแ แแแแแแแแ bitmap แแแแแฅแกแแแจแ. แแแแฎ, แแแแ แแแแแงแแแแแแกแแก แแแแฏแแ แแแญแแ แแแแ แแแแแ แแแแแฅแกแแก แแแแแ, แแแแ แแ แแแแก แแแแแแแแ แกแฃแแแ แแคแแฅแขแฃแ แแ.
แ แแแแ แช แแแฅแแ, แแแแแชแแแแ แแแแแก แแแแแฅแกแแแแก แแแแ แแ แชแแแแ แแ แแแแแ แแแแกแแแแ แกแแแกแ. แแก แแแจแแแแก, แ แแ แแแแฏแแ แจแแแแแซแแแ แแแแแแแงแแแแ แ แแแแแแแแ แแแแแแแ แแ แแแ แแฃแแแ: แแฃ แฉแแแ แแแญแแ แแแแ แซแแแแแก แแแแแ แฃแคแ แ แแแฉแฅแแ แแแ, แแ แแฃ แแแญแแ แแแแ แงแแแแ แจแแกแแซแแ แขแแแแก แซแแแแแก แแแคแแ แแ.
แแฆแแก แแ แแแกแแฃแแ แแ แแแ แจแแ แแก แงแแแแแแ แแแแแแแแ แชแแแแแ แแแแแแแแแ - แแแขแแแ แแแแแฅแกแแแแ.
แแแ แแแ แแ แ แแ แแแแแแแ แแแ แแ แแแแแแ?
แแ แแแฃแจแแแ แแฃแแแแก แแแแแ แแ Badoo-แจแ (แแแแแ แแฅแแแ แฃแคแ แ แแแ แแแ แแชแแแแ แฉแแแแก แกแฎแแ แแ แแแฃแฅแขแก, Bumble-แก). แฉแแแ แฃแแแ แแแงแแแก 400 แแแแแแแแ แแแขแ แแแแฎแแแ แแแแแ แแแแแก แแกแแคแแแแจแ แแ แแแแ แ แคแฃแแฅแชแแ, แ แแแแแแช แแ แฉแแแก แแแแแแแก แกแแฃแแแแแกแ แจแแกแแขแงแแแกแก. แฉแแแ แแแแก แแแแแแแแ แแแ แกแแแแแฃแ แ แกแแ แแแกแแแแก แแแแแงแแแแแแ, แแแขแแแ แแแแแฅแกแแแแก แฉแแแแแแ.
แ แ แแ แแก แแแขแแแแแก แแแแแฅแกแ?
Bitmap แแแแแฅแกแแแ, แ แแแแ แช แกแแฎแแแ แแแแแแแแแแก, แแงแแแแแแ bitmaps แแ bitsets แกแแซแแแแ แแแแแฅแกแแก แแแแกแแฎแแ แชแแแแแแแแ. แฉแแขแแก แแแแแแแฎแแแแแ, แแก แแแแแฅแกแ แจแแแแแแ แแ แแ แแ แแแขแ แแกแแแ แแแขแแแแแกแแแ, แ แแแแแแช แฌแแ แแแแแแแแก แแแแแกแแแแ แแ แแแฃแแก (แ แแแแ แแชแแ แแแแแแแแแแ) แแ แแแ แแแแกแแแแแกแ แแฃ แแแ แแแแขแ แแแก (แแกแแแ, แแแแแแก แคแแ แ แแ แ.แจ.) แแ แแแแแ แแแแ, แ แแแแแแช แแงแแแแแก แแแขแแก แแแแ แแชแแแแก (AND, OR, NOT). ) แกแแซแแแแ แจแแแแแฎแแแแ แแแกแฃแฎแแก แแแกแแชแแแแ.
แฉแแแ แแแแแฎแ แแก, แ แแ bitmap แแแแแฅแกแแแ แกแแฃแแแแแกแแ แจแแแคแแ แแแ แแ แซแแแแแ แแคแแฅแขแฃแ แแ แแ แจแแแแฎแแแแแแแกแแแแก, แ แแแแกแแช แแ แแก แซแแแแแแ, แ แแแแแแแช แแแ แแแแแแแก แจแแแแแฎแแแแก แแแแ แแแแแแ แแแ แแแแแแฃแ แแแแก แกแแแขแจแ (แแคแแฅแ แแ โแแแแแแก แคแแ แโ แแ โแแฏแแฎแฃแ แ แแแแแแแ แแแแโ แแ แแกแแแแกแ แ แแ โแฅแแแแฅแแก แชแแแขแ แแแแ แแแจแแ แแแโ ). แแแแ แแ แแแแแแแแแแแ แแแฉแแแแแแ, แ แแ แแกแแแ แแแ แแแ แแฃแจแแแแแ แแแฆแแแ แแแ แแแแแแฃแ แแแแก แกแแแขแแแแกแแแแกแแช.
แแแแแ แจแแแฎแแแแ bitmap แแแแแฅแกแแก แฃแแแ แขแแแแก แแแแแแแแก.
แฌแแ แแแแแแแแแ, แ แแ แฉแแแ แแแแฅแแก แแแกแแแแแก แ แแกแขแแ แแแแแก แกแแ แแแแแ แฃแแ แแแแกแแแแแแ, แ แแแแ แแชแแ:
- แแแขแ แแกแแแ แแฎแแแก;
- แแ แแก แแแ แซแ แแแ แแแแแ;
- แแ แแก แแแ แแแแ (แแฅแแก แขแแ แแกแ);
- แจแแแแซแแแแ แแแฏแแแจแแแ แแแแแแ (แแฆแแแก แแแฏแแแจแแแก);
- แแแ แแแกแแ แแแแแขแแ แแแแแแแแแกแแแแก (แแแแแแแแแกแแแแก แแแแแแ แฃแแ);
- แซแแแ แ (แซแแแ แ).
แแแแแ แแแแชแแ แแแแแแฃแ แ แแกแขแแ แแแก แแแแแแแ แแแแแ แแแแแ แ 0-แแแ แแ แแแแแแงแแ แแแฎแกแแแ แแแ 6 แแแขแแแแแกแแแแก (แแแแแแฃแแ แแแฎแแกแแแแแแแแกแแแแก). แจแแแแแ แฉแแแ แจแแแแแกแแแ แแ แแแขแแแก, แแแแกแแ แแแฎแแแแแ, แแฅแแก แแฃ แแ แ แ แแกแขแแ แแแก แแก แฅแแแแแ. แแฃ แ แแกแขแแ แแ 4-แก แแฅแแก แแแ แแแแ, แแแจแแ แแแขแ No 4 แแแขแแแแจแ โแแฅแแก แแแ แแแแโ แแแงแแแแแแ 1-แแ (แแฃ แแแ แแแแ แแ แแ แแก, แแแจแแ 0-แแ).
แแฎแแ แฉแแแ แแแแฅแแก แฃแแแ แขแแแแกแ แแแขแแแแแก แแแแแฅแกแ แแ แจแแแแแซแแแ แแแแแแแงแแแแ แแก, แ แแ แแฃแแแกแฃแฎแแ แจแแแแแฎแแแแก, แ แแแแ แแชแแ:
- โแแแฉแแแแ แแแแแขแแ แแแแแแแแแกแแแแก แแแแแฃแแแแแแ แ แแกแขแแ แแแแโ;
- "แแแฉแแแแ แแแคแ แ แแกแขแแ แแแแ แแแ แแแแแ, แกแแแแช แจแแแแซแแแแ แแแฏแแแจแแแ แแแแแแ."
แฒ แแแแ ? แแแแแ แจแแแฎแแแแ. แแแ แแแแ แแแแฎแแแแ แซแแแแแ แแแ แขแแแแ. แงแแแแแคแแ แ แ แแช แฉแแแ แฃแแแ แแแแแแแแแ แแ แแก แแแแฆแแ โแแแแแขแแ แแแแฃแแ แแแแแแ แฃแแโ แแแขแแแแ แแ แแแแแแแฅแชแแแ แ แแกแขแแ แแแแแก แกแแแจแ, แ แแแแแแ แแแขแแแแช แแ แแก แแแแแแแแแแแ.
แแแแ แ แแแแฎแแแแ แชแแขแ แฃแคแ แ แ แแฃแแแ. แฉแแแ แฃแแแ แแแแแแแงแแแแ NOT bitmap "แซแแแ แแแ" แแแขแแแแแ, แ แแ แแแแแฆแแ แแแคแ แ แแกแขแแ แแแแแก แกแแ, แจแแแแแ AND แแก แแแขแแแแแก "แจแแแแซแแแ แแแฏแแแจแแ แแแแแแ" แแ แจแแแแแ "แแฅ แแ แแก แแแ แแแแ" แแแขแแแแแ. แจแแแแแแ แแแขแแแแ แจแแแชแแแก แแแฌแแกแแแฃแแแแแแแก แฉแแแแแแแแแแก, แ แแแแแแแช แแแแแงแแคแแแแแแ แฉแแแแก แงแแแแ แแ แแขแแ แแฃแแก. แแ แแแแแแแแจแ แแก แแฎแแแแ แ แแกแขแแ แแแ Yunost-แแ.
แแแแ แ แแแแ แแแ แฉแแ แแฃแแ, แแแแ แแ แแ แแแแ แแแฃแแแ, แฉแแแ แซแแแแแ แแแแ แแแฎแแแแแ แแแแก.
แกแแ แแแแแแงแแแแแ bitmap แแแแแฅแกแแแ?
แแฃ Google-แแก แแแขแแแ แแแแแฅแกแแแก แแฌแแ แแแแแ, แแแกแฃแฎแแแแก 90% แแแ แแฃ แแ แแแแ Oracle DB-แก แแฅแแแแ แแแแแแจแแ แแแฃแแ. แแแแ แแ แกแฎแแ DBMS แแแแแ แแกแแแ แแฎแแ แก แฃแญแแ แก แแกแแ แแแแแ แ แแแแก, แแ แ? แฒแแแแแแแแ แแ .
แแแแแ แแแแแแฎแแแแ แแแแแแ แแญแแแแขแแแแแแ แกแแแก.
MySQL แฏแแ แแ แฃแญแแ แก แแฎแแ แก แแแขแแแ แแแแแฅแกแแแก, แแแแ แแ แแ แกแแแแแก แฌแแแแแแแแแ, แ แแแแแแช แแแแแแแแแแก แแ แแแ แแแแขแ แแก แแแแแขแแแแก (
PostgreSQL แแ แฃแญแแ แก แแฎแแ แก แแแขแแแ แแแแแฅแกแแแก, แแแแ แแ แแงแแแแแก แแแ แขแแ แแแขแแแแแแกแ แแ แแแข แแแแ แแชแแแแก, แ แแแ แแแแแแแจแแ แแก แซแแแแแก แจแแแแแแแ แแ แแแแ แกแฎแแ แแแแแฅแกแจแ.
Tarantool-แก แแฅแแก แแแขแแก แแแแแฅแกแแแ แแ แแฎแแ แก แฃแญแแ แก แแแแแ แแแ แขแแ แซแแแแแก.
Redis-แก แแฅแแก แแแ แขแแแ bitfields
MongoDB แฏแแ แแ แฃแญแแ แก แแฎแแ แก แแแขแแแ แแแแแฅแกแแแก, แแแแ แแ แแกแแแ แแ แกแแแแแก แฌแแแแแแแแแ, แ แแแแแแช แแแ แแฃแแแแก, แ แแ แแก แแแ แแแแขแ แแแแแแขแแก
Elasticsearch แแงแแแแแก แแแขแแแก แจแแแแแแแ
- แแแแ แแ แฉแแแแก แกแแฎแแจแ แแฎแแแ แแแแแแแแ แแแแแฉแแแ: แแแแแกแ. แแก แแ แแก Go-แจแ แแแฌแแ แแแ แแฎแแแ แแ แแ แแแแชแแฃแ แ แแแแแชแแแแ แแแแ. แแก แจแแแชแแแก แแฎแแแแ แแแขแแแ แแแแแฅแกแแแก แแ แแแแแแ แแแคแฃแซแแแแฃแแ แงแแแแแคแแ แก. แแแแแ แชแแขแ แแแแแแแแแแแ แแแกแแฃแแ แแแ.
แแแแฎแแ แชแแแแแแ Go-แจแ
แแแแ แแ แ แแขแแ แแแแแแงแแแแแ bitmap แแแแแฅแกแแแ แแกแ แแจแแแแแแ? แแ แแแแฎแแแแ แแแกแฃแฎแแก แแแชแแแแแแ แแแแแ แแแฉแแแแแ, แแฃ แ แแแแ แฃแแแ แแแแแ แแแ แซแแแแแ แแแ แขแแแ bitmap แแแแแฅแกแ Go-แจแ.
Bitmaps แแ แกแแแแแแ แแฎแแแแ แแแแแชแแแแแแก แแแฌแแแแ. Go-แจแ, แแแแกแแแแก แแแแแแแงแแแแ แแแแขแแก แแแญแ แแแ.
แฉแแแ แแแแฅแแก แแ แแ แแแขแแแแ แแ แแ แ แแกแขแแ แแแก แแแฎแแกแแแแแแแแกแแแแก แแ แแแขแแแแแก แแแแแแฃแแ แแแขแ แแแฃแแแแแแก, แแฅแแก แแฃ แแ แ แแแแแ แแขแฃแ แ แแกแขแแ แแแก แแก แแแแกแแแ.
แแแแแญแแ แแแแ แแ แ แแแแฎแแแ แ แคแฃแแฅแชแแ. แแ แแ แแแแแงแแแแแฃแแ แแฅแแแแ แฉแแแแ แแแขแแแแแแแก แจแแแแฎแแแแแแ แแแแแชแแแแแแ แจแแกแแแกแแแแ. แจแแแแฎแแแแแแ, แแแแ แแ แแแ แแแแฃแแ แแแแแแแแแ, แ แแ แ แแกแขแแ แแแก แแฅแแก แแแแแแฃแแ แฅแแแแแ. แแแแแแแแแ, แแ แแฏแแ แ, แ แแ แแแกแแแแจแ แซแแแแแ แชแแขแแ แ แแกแขแแ แแแ, แกแแแแช แแ แจแแแซแแแแ แแแแแแแก แแแฏแแแจแแ แแ แแแฉแแแแแแ, แ แแ แแแฌแแกแแแฃแแแแแแแก แแแแฎแแแแแแ 20% แจแแกแแคแแ แแกแแ แแแแแขแแ แแแแแแแแแกแแแแก.
แแแแ แ แคแฃแแฅแชแแ แแแ แแแฅแแแแก แแแขแแแแก แ แแกแขแแ แแแแแก แกแแแจแ.
แแแแฎแแแแ โแแแฉแแแแ แแแคแ แ แแกแขแแ แแแแ, แ แแแแแแกแแช แแฅแแ แแแ แแ แจแแฃแซแแแแ แแแฏแแแจแแโ แแแกแฃแฎแแก แแแกแแชแแแแ, แฉแแแ แแแญแแ แแแแ แแ แ แแแขแแแแ แแแแ แแชแแ: NOT แแ AND.
แฉแแแ แจแแแแแซแแแ แแแแแ แแแแแแแ แขแแแแ แฉแแแแ แแแแ แฃแคแ แ แ แแฃแแ แแ แแ แ แแแแ แแขแแ แแก แแแแแงแแแแแแ.
แฉแแแ แแแแฅแแก แคแฃแแฅแชแแแแ แแแแแแฃแแ แแ แแแแ แแชแแแกแแแแก. แแ แแแ แแแแแก แแแญแ แแแก, แแฆแแแแ แแแแแแฃแ แแแแแแแก แจแแกแแแแแแก แแแแแแแขแแแก, แแแแแกแแแแ แแแ แแแข แแแแ แแชแแแ แแ แแแแแกแแแแ แจแแแแแก แแแฆแแแฃแ แแแญแแ แจแ.
แแ แแฎแแ แฉแแแ แจแแแแแซแแแ แแแแแแแงแแแแ แฉแแแแ แแแขแแแแแแ แแ แคแฃแแฅแชแแแแ แกแแซแแแแ แจแแแแแฎแแแแ แแแกแฃแฎแแก แแแกแแชแแแแ.
แจแแกแ แฃแแแแ แแ แช แแฃ แแกแ แแแฆแแแแ, แแแฃแฎแแแแแแ แแแแกแ, แ แแ แคแฃแแฅแชแแแแ แซแแแแแ แแแ แขแแแแ แแ แฉแแแ แแแแแแแแ แแแแ แ แคแฃแแ, แ แแ แแ แแแแแแ แฃแแแ แแฎแแแ แแแฆแแแฃแแ แแแญแแ แ แงแแแแ แฏแแ แแ แคแฃแแฅแชแแแก แแแแแซแแฎแแแแกแแก.
pprof-แแแ แชแแขแ แแ แแคแแแแก แแแแแแแแแก แจแแแแแ, แจแแแแแฉแแแ, แ แแ Go แจแแแแแแแแแก แแแแแ แแ แแ แซแแแแแ แแแ แขแแแ, แแแแ แแ แซแแแแแ แแแแจแแแแแแแแแ แแแขแแแแแแชแแ: แคแฃแแฅแชแแแก แฉแแกแแ.
แคแแฅแขแแ, แ แแ Go แจแแแแแแแแแก แกแแจแแแแแ แแจแแแแ แแแ แงแฃแแแแแก, แ แแแแแแแช แแแแแแ แแแญแ แแแก แแ แแแขแแแแ แแฃแ แฃแแ แก แแแแแแก แคแฃแแฅแชแแแแแ, แ แแแแแแแช แจแแแชแแแก แแกแแ แแแ แงแฃแแแแก.
แแแแ แแ แแ แแ แแแจแแแแ แแ แจแแแแซแแแ แแแแแขแงแฃแ แจแแแแแแแแแ แแฃแแแก แแแชแแแแ goto-แก แแแแแงแแแแแแ, แ แแแแ แช แซแแแ แแแ แ แแฆแแแแจแ.
แแ, แ แแแแ แช แฎแแแแแ, แแฎแแ แจแแแแแแแแแ แกแแแแแแแแแแ แจแแแแแฆแแแก แฉแแแแก แคแฃแแฅแชแแแก! แจแแแแแแ, แฉแแแ แแแฎแแ แฎแแแ แแแแฎแแแแแแ 2 แแแแ แแฌแแแแก แแแแแแแแก. แฒชแฃแแ แแ แแ!
แแแแ แ แจแแคแแ แฎแแแ แแแแแแ แจแแกแแแฉแแแแแ, แแฃ แงแฃแ แแแฆแแแแ แแแแแแแ แแแแแ แจแแแ แแแแก แแแแแแแแแแก. แจแแแแแแแแแแ แแแแแแขแ แแแญแ แแก แกแแแฆแแ แแก แจแแแแฌแแแแ แกแฌแแ แแ แฉแแแแ แงแแแแแแ แชแฎแแแ แชแแแแแก แจแแแแแ. แคแแฅแขแแ, แ แแ Go แแ แแก แฃแกแแคแ แแฎแ แแแ, แจแแแแแแแแแก แแจแแแแ, แ แแ แฉแแแ แกแแแ แแ แแฃแแแแขแ (แกแแแ แแแญแแ แ) แกแฎแแแแแกแฎแแ แแแแแกแแ. แงแแแแแแแ แแแแก แจแแแแแ, แแแจแแ แแแฉแแแแแ แแแ แแ แฌแแแแแฃแแ แแฃแคแแ แฃแแ แแแแแแแแแก แฌแแ แแแฅแแแแก แแแแ แแฃแแ แจแแกแแซแแแแแแแ.
แแแแแ แแแแแแจแแแแแ แจแแแแแแแแแ แแแฉแแแแแ, แ แแ แงแแแแ แแแญแแ แ แแ แแ แแ แแแแแ แแแแแกแแ. แแแแก แแแแแแแแ แจแแแแแซแแแ แฉแแแแ แคแฃแแฅแชแแแก แแแกแแฌแงแแกแจแ แแแ แขแแแ แจแแแแฌแแแแแก แแแแแขแแแแ.
แแแแก แจแแแฎแแแแแ แ แจแแแแแแแแแ แกแแแแแแแแแแ แแแแแขแแแแแก แจแแแแฌแแแแแก แแ แฉแแแ แกแแแแแแแ แแแแแแแแแ แแแแแ 500 แแแแแฌแแแก.
แแแแ แแฃแฉแฅแแแ
แแแ แแ, แฉแแแ แแแแแฎแแ แฎแแ แฉแแแแ แแแ แขแแแ แแแแแแแแแขแแชแแแก แแแ แแแแฃแแ แจแแกแ แฃแแแแแก แแแแแ แแแ, แแแแ แแ แแก แจแแแแแ แ แแแแฃแ แแ แแแแ แแ แฃแแ แแกแแ, แแแแ แ แแก แจแแกแแซแแแแแแแ แแแแแแแแ แ แแแแ แแขแฃแ แแ.
แงแแแแแคแแ แ, แ แแช แฉแแแ แแแแแแแแ, แแ แแก แซแแ แแแแแ แแแขแแก แแแแ แแชแแแแ แแ แฉแแแแ แแ แแชแแกแแ แแแ แแกแ แฃแแแแแ แแแ แซแแแแแ แแคแแฅแขแฃแ แแ. แแแแ แแ, แกแแแฌแฃแฎแแ แแ, แฉแแแ แฉแแแแก แแ แแชแแกแแ แก โแแแแแแแแโ แซแแแแแ แแชแแ แ แกแแแฃแจแแแแแแ. แฉแแแแ แคแฃแแฅแชแแแแ แแกแ แฃแแแแแ แแแแ แแชแแแแก แแแแขแ-แแแแขแ แกแแคแฃแซแแแแแ. แฉแแแ แจแแแแแซแแแ แซแแแแแ แแแ แขแแแแ แจแแแชแแแแแ แฉแแแแ แแแแ 8-แแแแขแแแ แแแฌแแแแแแแ แแฃแจแแแแแกแแแแก UInt64 แแแญแ แแแแก แแแแแงแแแแแแ.
แ แแแแ แช แฎแแแแแ, แแ แแชแแ แ แชแแแแแแแแ แ แแแฏแแ แแแแฉแฅแแ แ แฉแแแแ แแ แแแ แแแ, แ แแแฏแแ แแแแแ แแ แกแแ แแแก แแแแ. แแแแแแ แจแแแซแแแแ แแแฅแแแก แฌแ แคแแแแ.
แแแแแ แแแ แแกแแแแแแ แจแ
แแแแ แแ แแก แแ แแ แแก แแแกแแกแ แฃแแ. แฉแแแแก แแ แแชแแกแแ แแแก แจแแฃแซแแแแ แแแฃแจแแแ 16, 32 แแ แแฃแแแแช 64 แแแแขแแก แแแฌแแแแแแแ. แแกแแ โแคแแ แแโ แแแแ แแชแแแแก แฃแฌแแแแแแ แแ แแ แแแกแขแ แฃแฅแชแแแก แแ แแแแ แแแแแชแแแก (SIMD; แแ แแ แแแกแขแ แฃแฅแชแแ, แแแแ แ แแแแแชแแแ), แฎแแแ แแแแแก แขแ แแแกแคแแ แแแชแแแก แแ แแชแแกแก แแกแ, แ แแ แแก แแงแแแแแก แแกแแ แแแแ แแชแแแแก, แแฌแแแแแ แแแฅแขแแ แแแแชแแ.
แกแแแฌแฃแฎแแ แแ, Go แจแแแแแแแแแ แจแแ แก แแ แแก แจแแกแแแแจแแแแ แแแฅแขแแ แแแแชแแแกแแแ. แแแแแแแ Go แแแแแก แแแฅแขแแ แแแแชแแแก แแ แแแแแ แแ แแแ แแ แแก แแ แแแแ แแชแแแแแก แฎแแแแ แแฆแแแ แแ แแแแแแแกแแแ Go แแกแแแแแแ แแก แแแแแงแแแแแแ.
แฌแแแ แแกแแแแแแ แ แฃแชแแแฃแ แ แแฎแแชแแ. แแฅแแแ แแแแแ แแชแแ, แ แแ แแกแแแแแแแก แแแ แแ แแก แแก, แ แแช แซแแแแ แแ แแก แแแแแแจแแ แแแฃแแ แแแแแแฃแขแแ แแก แแ แฅแแขแแฅแขแฃแ แแกแแแ, แ แแแแแกแแแแกแแช แฌแแ แ, แแแแ แแ Go-แจแ แแก แแกแ แแ แแ แแก. Go แแกแแแแแแ แ แฃแคแ แ แฐแแแแก IRL-แก (แจแฃแแแแแฃแ แ แฌแแ แแแแแแแแแแแแแก แแแแก) แแ แจแฃแแแแแฃแ แแแแก: แแก แแ แแฅแขแแแฃแแแ แแแแขแคแแ แแแแ แแแแแฃแแแแแแแแแ. แ แแ แแแแแแ แจแแกแแแแจแแแแ แจแแกแ แฃแแแแ แฌแแ แแแแแแแแ
แแแ แแ แแแแกแ, Go แแงแแแแแก แฃแฉแแแฃแแ Plan 9 แคแแ แแแขแก, แ แแแแแแช แแแแกแฎแแแแแแแ แแแแแแแ แแแฆแแแฃแแ AT&T แแ Intel แคแแ แแแขแแแแกแแแ.
แแแแแแแ แจแแแซแแแแ แแแฅแแแก, แ แแ Go แแกแแแแแแ แแก แฎแแแแ แฌแแ แ แแ แแ แแก แงแแแแแแ แกแแฎแแแแกแ.
แแแแ แแ, แกแแแแแแแแ แแ, แฃแแแ แแ แกแแแแแก แแ แ แแแฆแแแ แแแแแก แแแกแขแ แฃแแแแขแ, แ แแแแแแช แแแแฎแแแ แแแ แแแแฌแแ แแ Go assembler: PeachPy แแ avo. แแ แแแ แฃแขแแแแขแ แฅแแแแก Go แแกแแแแแแ แก แฃแคแ แ แแแฆแแแ แแแแแก แแแแแแแ, แ แแแแแแช แแแฌแแ แแแแ แจแแกแแแแแแกแแ Python แแ Go.
แแก แกแแจแฃแแแแแแแ แแแแ แขแแแแแก แแกแแ แกแแแแแฎแแแก, แ แแแแ แแชแแ แ แแแแกแขแ แแชแแแก แแแแแฌแแแแแ, แฉแแฌแแ แแก แแแ แงแฃแแแแ แแ แแแแแแแ แแแแ แขแแแแแก Go-แจแ แแกแแแแแแแก แแ แแแ แแแแ แแแแก แกแแแงแแ แแจแ แแแฎแแแแ แแก แแ แแชแแกแก.
แฉแแแ แแแแแแแงแแแแแ avo-แก, แแแแขแแ แฉแแแแ แแ แแแ แแแแแ แแฅแแแแ แแแแฅแแแก แฉแแแฃแแแแ แแแ Go แแ แแแ แแแแแ.
แแกแ แแแแแแงแฃแ แแแ แแแ แแ แแแ แแแแก แฃแแแ แขแแแแกแ แแแแแแแแ. แฉแแแ แแแแฅแแก main() แคแฃแแฅแชแแ, แ แแแแแแช แแแแแก แแแแจแ แแแแกแแแฆแแ แแแก Add() แคแฃแแฅแชแแแก, แ แแแแแก แแแแจแแแแแแแ แแ แแก แแ แ แ แแชแฎแแแก แแแแแขแแแ. แแฅ แแ แแก แแแแฎแแแ แ แคแฃแแฅแชแแแแ, แ แแ แแแแฆแแ แแแ แแแแขแ แแแ แกแแฎแแแแ แแ แแแแฆแแ แแ แ-แแ แแ แฃแคแแกแ แแ แจแแกแแคแแ แแกแ แแ แแชแแกแแ แแก แ แแแแกแขแ แ. แแ แแชแแกแแ แแก แแแแแแฃแ แแแแ แแชแแแก แแฅแแก แจแแกแแแแแแกแ แคแฃแแฅแชแแ avo-แแ, แ แแแแ แช แแก แฉแแแก ADDQ-แจแ. แแ แแแแแก, แฉแแแ แแฎแแแแแ แแแแฎแแแ แ แคแฃแแฅแชแแแก แแแฆแแแฃแแ แแแแจแแแแแแแแก แจแแกแแแแฎแแ.
gogene-แแก แแแแแซแแฎแแแแ แฉแแแ แจแแแแกแ แฃแแแแ แแ แแแ แแแแก avo-แแ แแ แจแแแแแแ แฌแแ แแแแฅแแแแแ แแ แ แคแแแแ:
- add.s แแแฆแแแฃแแ แแแแแ Go แแกแแแแแแ แจแ;
- stub.go แคแฃแแฅแชแแแก แกแแแแฃแ แแแแ แแ แ แกแแแงแแ แแก แแแกแแแแแจแแ แแแแแ: Go แแ แแกแแแแแแ แ.
แแฎแแ, แ แแชแ แแแแแแแฎแแ, แ แแก แแแแแแแก avo แแ แ แแแแ , แแแแแ แแแแแแฎแแแแ แฉแแแแก แคแฃแแฅแชแแแแก. แแ แแแแแแฎแแ แชแแแแ แคแฃแแฅแชแแแแแก แกแแแแแ แฃแแ แแ แแแฅแขแแ แฃแแ (SIMD) แแแ แกแแแแ.
แฏแแ แกแแแแแ แฃแแ แแแ แกแแแแ แแแแแแฎแแแแ.
แ แแแแ แช แฌแแแ แแแแแแแแจแ, แฉแแแ แแแแฎแแแ แฃแคแแกแ แแ แแแฅแแแแ แแแแแแ แแแแแจแแฃแแแแแก แ แแแกแขแ แก, แแ แแแญแแ แแแแ แแ แแฃแแแแขแแแแก แแคแกแแขแแแแกแ แแ แแแแแแแก แแแแแแแแ. แแแ แแ แงแแแแแคแแ แก แฉแแแแแแแก แแแแแแแก.
แฉแแแ แแแงแแแแแแแ แแแแแแแแก แแ goto-แก (แแ แแแแแฎแขแแแก) แแฃแจแแแแแก แแแกแแฃแแฏแแแแกแแแแแ แแ Go แจแแแแแแแแแแก แแแกแแขแงแฃแแแแแ, แแแแ แแ แแฎแแ แแแแก แแแแแแแแแ แแแแแแแแ. แกแแฅแแ แแแแจแแ, แ แแ แชแแแแแแ แฃแคแ แ แแแฆแแแ แแแแแก แแแแชแแคแชแแแ. แแกแแแแแแ แจแ แแแแฅแแก แแฎแแแแ แแขแแแแขแแแ แแ แแแฎแขแแแแแ.
แแแ แฉแแแแแ แแแแ แฃแแแ แแแชแแแแ แแ แแแกแแแแแ แฃแแแ แแงแแก. แฉแแแ แแแแแซแแแ แแแ แงแฃแแก แแขแแแแขแแแแ แแ แแแฎแขแแแแแแ, แแแฆแแแ แแแแแชแแแแ แแชแแ แ แแแฌแแแก แฉแแแแ แแ แ แแแญแแ แแแแ, แแแแ แแแแ แแแ แแแขแแก แแแแ แแชแแแ (แแ แแ แ แแ แจแแแแฎแแแแแจแ) แแ แจแแแแแ แแแแแ แจแแแแแก แแแฆแแแฃแ แแแญแแ แจแ. แงแแแแ.
แแกแ แแแแแแงแฃแ แแแ แกแแแแแแ แแกแแแแแแ แแก แแแแ. แฉแแแ แแ แแแแแญแแ แแ แแคแกแแขแแแแกแ แแ แแแแแแแก แแแแแแแแ (แแแแแจแแฃแแ แแฌแแแแแจแ) แแ แแแแแงแแแแแฃแแ แ แแแแกแขแ แแแแก แแแแแงแฃแ แแก แแแแแแแ (แแแแแจแแฃแแ แฌแแแแแ).
แแฃ แจแแแแแแ แแแ แแกแแแแแแแก แแแแก แแแแแแแแแขแแชแแแก แจแแกแ แฃแแแแแก Go-แจแ แกแแฃแแแแแกแ แแแแฎแแ แชแแแแแแแก แจแแกแ แฃแแแแแก, แแแแแแแฎแแแ, แ แแ แแก แแแแแแ. แแ แแก แแแกแแแแแแแแแ. แงแแแแแแแ แแแแก แจแแแแแ, แฉแแแ แแ แแคแแ แ แแแแกแแแฃแแ แแแฃแแ แแ แแแแแแแแแแแแ - แฉแแแ แฃแแ แแแแ แแแแแแ แแแแแ แแก, แ แแกแแช Go compiler แแแแแแแแแก.
แกแแแฌแฃแฎแแ แแ, แฉแแแ แแ แจแแแแแซแแแ แแแแซแฃแแแ แจแแแแแแแแแ แฉแแ แแแก แฉแแแแ แคแฃแแฅแชแแแแ แแแฌแแ แแแ แแกแแแแแแแก แแแแแ. Go compiler-แก แแแแแแแ แแ แแฅแแก แแกแแแ แคแฃแแฅแชแแ, แแฃแแชแ แแแกแ แแแแแขแแแแก แแแแฎแแแแ แกแแแแแแ แแแแ แฎแแแแ แแ แกแแแแแก.
แแแแขแแแแช แจแแฃแซแแแแแแแ แแกแแแแแแแก แแแแจแ แแชแแ แ แคแฃแแฅแชแแแแแแแ แ แแแแ แกแแ แแแแแแก แแแฆแแแ. แแ แฃแแแ แแแแฌแแ แแ แแแแ แคแฃแแฅแชแแแแ, แแ แแแแแแแงแแแแ แแฎแแแ แแแแแแแขแแแฃแ แ/แแแขแแแแก แแแแแขแ, แแ แแกแแแแแแ แแก แแแแก แแแแ แแแก แแแแแ.
แแแแแ แแฎแแ แแแแแแฎแแแแ แฉแแแแ แคแฃแแฅแชแแแแแก แแแฅแขแแ แฃแ แแแ แกแแแแก.
แแ แแแแแแแแแกแแแแก แแ แแแแแแฌแงแแแขแ แแแแแแแงแแแ AVX2, แแกแ แ แแ, แฉแแแ แแแแแแแงแแแแแ แแแแ แแชแแแแก, แ แแแแแแแช แแแฅแแแแแแแ 32 แแแแขแแแ แแแฌแแแแแแ. แแแแแก แกแขแ แฃแฅแขแฃแ แ แซแแแแแ แฐแแแแก แกแแแแแ แฃแ แแแ แกแแแก: แแแ แแแแขแ แแแแก แฉแแขแแแ แแแ, แฃแคแแกแ แกแแแ แแ แ แแแกแขแ แแก แแแแฎแแแแ แแ แ.แจ.
แแ แแ แแแแแแชแแ แแ แแก แแก, แ แแ แคแแ แแ แแแฅแขแแ แฃแแ แแแแ แแชแแแแ แแงแแแแแแ แกแแแชแแแแฃแ แคแแ แแ แ แแแแกแขแ แแแก. 32-แแแแขแแแแ แแแแแแแแก แจแแแแฎแแแแแจแ, แแก แแ แแก แ แแแแกแขแ แแแ, แ แแแแแแกแแช แแฅแแ Y แแ แแคแแฅแกแ. แกแฌแแ แแ แแแแขแแ แฎแแแแแ YMM() แคแฃแแฅแชแแแก แแแแจแ. แแ แ แแ แแแงแแแแแแ AVX-512 64-แแแขแแแ แแแฌแแแแแแแก, แแ แแคแแฅแกแ แแฅแแแแแแ Z.
แแแแ แ แแแแแแชแแ แแ แแก แแก, แ แแ แแ แแแแแแฌแงแแแขแ แแแแแแแงแแแแแแแ แแแขแแแแแแชแแ แกแแฎแแแฌแแแแแแ loop unrolling, แ แแช แแฃแแแกแฎแแแแก แ แแ แแแ แงแฃแแแก แแแแ แแชแแแแแก แฎแแแแ แจแแกแ แฃแแแแแก แแแ แงแฃแแแก แแแกแแฌแงแแกแจแ แแแแแกแแแแแแ. แแก แแแขแแแแแแชแแ แแแชแแ แแแก แคแแแแแแแแแก แ แแแแแแแแแก แแแแจแ แแ แจแแแแแคแแ แแแแแ แฎแแแแแกแแฌแแแแแ แฃแคแแกแ แ แแแแกแขแ แแแแก แ แแแแแแแแแ.
แแแ, แ แแช แจแแแฎแแแ แจแแกแ แฃแแแแแก? แฒแก แแแแแแแ! แฉแแแ แแแแแฆแฌแแแ แแแแฎแแแแแแ แจแแแแฏแแ แกแแฉแฅแแ แแก แกแแฃแแแแแกแ Go แแแแแฌแงแแแขแแกแแแ แจแแแแ แแแแ. แจแแแแแแญแแแแ, แแ แ?
แแแแ แแ แแก แแแแแแแแแขแแชแแแช แแ แจแแแซแแแแ แแแฉแฅแแ แแแก AVX-512-แแก, แฌแแแแกแฌแแ แแแแฆแแแแก แแ JIT-แแก (แแฎแแแแ-แแ แแแก แจแแแแแแแแแแก) แแแแแงแแแแแแ แจแแแแแฎแแแก แแ แแคแแแแกแแแแก. แแแแ แแ แแก, แ แ แแฅแแ แฃแแแ, แชแแแแ แแแฎแกแแแแแแก แแแแแ.
แแ แแแแแแแแ bitmap แแแแแฅแกแแแแแ
แแฎแแ, แ แแแแกแแช แฉแแแ แฃแแแ แแแแแแฎแแแแ bitmap แแแแแฅแกแแก แแแ แขแแแ แแแแฎแแ แชแแแแแแ Go-แจแ แแ แแแแ แแ แฃแคแ แ แแ แแแฃแฅแขแแฃแแ แแกแแแแแแแก แแแแแ, แแแแแ แกแแแแแแแ แแแกแแฃแแ แแ แแแแแ, แแฃ แ แแขแแ แแแแแแงแแแแแ bitmap แแแแแฅแกแแแ แแกแ แแจแแแแแแ.
แซแแแ แแแจแ แแแแแจแ แแฆแแแจแแฃแแแ แกแแแ แแ แแแแแแ bitmap แแแแแฅแกแแแแแ แแแแแแจแแ แแแแ, แแแแ แแ แฃแคแ แ แแฎแแแ แแแจแ แแแแแ แแ แแ แแแแขแแแชแแ, แ แแ แแกแแแ แแฆแแ แแ แแก แแฅแขแฃแแแฃแ แ. แฉแแแ แแ แฉแแแฃแฆแ แแแแแแแแ แแแแแแฃแ แแ แแ แแแแแแแก, แแแแ แแ แแแแแแแ แฃแแแ แจแแแฎแแแแแ แแแ.
แแแฆแแแ แแแ แแแแแแฃแ แแแแก แแ แแแแแแ
แแกแ แ แแ, แฉแแแ แแแแฃแแแแแแแ, แ แแ bitmap แแแแแฅแกแแแ แจแแกแแคแแ แแกแแ แแฎแแแแ แแแแแแ แแแ แแแแแแฃแ แแแแก แแฅแแแ แแแแแแแกแแแแก, แแแฃ แแแแแแแก, แแแกแแช แแฅแแก แแชแแ แ แแแแจแแแแแแแ (แแแแแแแแแ, แกแฅแแกแ แแ แแแแแแก แคแแ แ), แแ แแแแแแ แแ แแก แแก, แ แแ แแกแแแ แแแแแแแก แฉแแแฃแแแแ แแแ แฌแแ แแแแแแแ (แแ แแ แแแขแ แแแแ แแแแจแแแแแแแแแ) แแแฆแแแ แแแ แแแแแแฃแ แแแแก แจแแแแฎแแแแแจแ, แแก แซแแแแแ แแแ แแแแแแก แแแแแแแแแก แแ แฃแคแ แ แแแขแแช, แแก แแแขแแแ แแแแแฅแกแแแ แชแฃแแแ (แแจแแแแแแ) แจแแแแกแแแ.
แแแแฏแแ แจแแแซแแแแ แแแแแแแงแแแแ แแแแกแฎแแแแแแฃแแ แฌแแ แแแแแแแ, แ แแแแ แแชแแ แกแขแแแแแ แขแฃแแ, แ แแแแแกแแช แแแงแแแแแ แ แแชแฎแแแแแก แแแแแกแแกแแฎแแ. แแแแ แแ แแก แแงแ แจแแแฃแแจแแแก แแแแแ แแแแแแแก แแแแแฉแแแ, แ แแแแช แจแแชแแแแ แงแแแแแคแแ แ. แแแกแฃแแ แแแฌแแแฃแแแแแก แแแแแแแแแแแจแ แแแชแแแแ แแแแ แแ แแแแแแแแ แแแแ แจแแฅแแแแก แจแแแฃแแจแแแก แแแแแ แแแแแก แแแแ แ แแแแแแแแ แแแขแแแคแแแแกแแแแก. แแแแ แแแแแแ แ แฃแแแ แแขแแกแแแ แแก แแ แแก, แ แแ แแ แแ แแก แกแแญแแ แ แแแขแแแคแแแแก แแแแแแแ แแกแแ แแแขแแก แแแแ แแชแแแแแก แจแแกแแกแ แฃแแแแแแ - แฉแแแ แจแแแแแซแแแ แจแแแแกแ แฃแแแ แแแขแแก แแแแ แแชแแแแ แแแ แแแแแ แจแแแฃแแจแฃแ แแแขแแแแแแแ.
แชแแขแ แฎแแแก แฌแแ แแแแแฉแแแ แฐแแแ แแแฃแแ แแแแแแแแแ, แ แแแแ แแชแแ แแฆแแแแแ แ แแแขแแแแแแ. แแกแแแ แแ แแแ แแฃแแแ แแงแแแแแแ แกแแ แแแแกแฎแแแแแแฃแ แฌแแ แแแแแแแแก แแแขแแแคแแแแกแแแแก - แแแแแ แแแขแแแกแแแ, แแแกแแแแแ แแ แแแ แแ แฌแแแแแฃแแ แแแขแแก แแแจแแแแแแ - แแ แแแแแแกแแ แแแแ แแแ แจแแ แแก, แ แแแ แแแฅแกแแแแแฃแ แแ แแแแแ แแแ แจแแกแ แฃแแแแ แแ แจแแแแชแแ แแ แแแฎแกแแแ แแแแก แแแฎแแแ แแแ.
แแฅแแแ แจแแแแซแแแแ แแแแแแ แแฆแแแแแ แ แแแขแแแกแแแ แงแแแแแแ แแแแฃแแแ แฃแ แแแแแแแชแแแแจแ. แฃแแแ แแ แกแแแแแก แแแแแ แแแแก แแแแ แ แแแแแแแแ แแ แแแ แแแแ แแแแก แแแแแแก แคแแ แแ แกแแแฅแขแ แแกแแแแก, แแแ แจแแ แแก Go-แกแแแแก แกแแแแ แแแขแ แแแแฎแแ แชแแแแแแ.
แแแแแ แแ แแ แแแแแแแ, แ แแแแแแช แแแแแแฎแแแ แแแ แแแฆแแ แแแ แแแแแแฃแ แแแแกแแแ แแแแแแแแแแแจแ, แแฌแแแแแ แแแแแแแ. แฌแแ แแแแแแแแแ, แ แแ แแแฅแแ แแแแ, แ แแแแแแช แฌแแ แแแแแแแแก แแแแแแแแแก แกแแแแฆแแแก. แกแแแแฆแแ แแ แแก แแชแฃแ แแแ แฌแแ แขแแแแก แ แแชแฎแแ, แแแแ แแ แฉแแแ แแแแแแแแแแ แแกแ แแ แแคแแฅแ แแแ. แฉแแแแแแแก แแ แแ แแก แแแแกแฎแแแแแแ 185,2 แกแ แกแแแแฆแแแกแ แแ 185,3 แกแ-แก แจแแ แแก.
แแแแแแแก, แ แแ แฉแแแ แจแแแแแซแแแ แแแแแฏแแฃแคแแ แแกแแแแกแ แแแแจแแแแแแแแแ แฏแแฃแคแแแแ 1 แกแ-แแก แคแแ แแแแแจแ.
แแ แแฃ แฉแแแ แแกแแแ แแแชแแ, แ แแ แซแแแแแ แชแแขแ แแแแแแแแแ 50 แกแ-แแ แแแแแแ แแ 250 แกแ-แแ แแแฆแแแ, แแแจแแ แฉแแแ แจแแแแแซแแแ แแ แกแแแแแแ แแแแแแแฅแชแแแ แฃแกแแกแ แฃแแ แแแ แแแแแแฃแ แแแแก แแแแ แแแแฎแแแแแแ 200 แแแแจแแแแแแแแก แแแ แแแแแแฃแ แแแแก แแแแแ.
แ แ แแฅแแ แฃแแแ, แกแแญแแ แแแแแก แจแแแแฎแแแแแจแ, แฉแแแ แจแแแแแซแแแ แแแแแแแแแ แแแแแขแแแแแ แคแแแขแ แแชแแ.
แแแฆแแแ แแแแขแแ แฃแแแ แแแแแแแก แแ แแแแแแ
แแแขแแแ แแแแแฅแกแแแแก แจแแแแแแ แแ แแแแแแ แแ แแก แแก, แ แแ แแแแ แแแแแฎแแแแ แจแแแซแแแแ แซแแแแแ แซแแแ แ แแแฏแแแก.
แแแแแชแแแแ แแแแแแก แฃแแแ แจแแแซแแแ แแแแแชแแแแแแก แแแแแฎแแแแ, แกแแแแ แแแขแแแชแแฃแ แแ แแกแแแแ แกแฎแแ แแแแฎแแแแ แแซแแแก แแแแแชแแแแแก. แฉแแแ แแแญแแ แแแแ แกแแแแขแแแ, แ แแแ แแแแแแแ แแแแชแแแแ แแ แแแแแแแแ แแแแแชแแแแ แแ แแแ แแฃแ แฌแแแแแแกแแแ แแ แกแฎแแ แแแแแแ แแแแก แแ แแแแแแแแแแ. แแ แกแแแแช แแ แแก แแ แแ แแแแ แกแแแแขแ, แแ แแก แแ แแแแแแ - แกแแแแขแแก แแแแแแ, แ แแแแกแแช แแก แกแแแแขแ แฎแแแแ แแแแแ.
แแ แแ แแแแแแแก แแแแแญแ แ แแ แแแแ แแแก แแแแ แจแแกแแซแแแแแแแ แแแจแแแก แแ แแแ แกแแแ แแแฃแแ แแแแแฅแกแแแแก แแแแแงแแแแแแ.
แแแคแฅแแ แแแ แขแแแ แแ แชแแแแแแ แกแแฅแแแ. แจแแแแซแแแแ แแแขแแแแแก แแแแแฅแกแแก แแแแแฌแแแแแ, แ แแแแ แช แแแแแกแแแแ แ แกแฎแแ แแแแแชแแแ. แแ แแ แแแแ แกแแแแขแแก แแแชแแแแ, แแฅแแแ แแแแฆแแแ แแแขแแ แ แกแแแแขแแแแก แแแแแฃแแก แแ แแแแ แแแแจแแ แแแ แกแแแแขแแก แฌแแแแแฆแแแแแแแแก.
แแ แแแแแแแก แแแแแญแ แแก แแแแ แ แแแ แแ แแก แแแ แกแแแ แแแฃแแ แแแแแฅแกแแแแก แแแแแงแแแแแ. แแฅแแแ แจแแแแซแแแแ แแฅแแแแแ แแแแแฅแกแแก แแ แแ แแกแแ, แ แแแแแกแแช แแงแแแแแ แกแแซแแแแแแ แแ แฌแแกแแแแแฎแแ, แแ แแ แแ, แ แแแแแกแแช แแงแแแแแ แแแกแแฌแแ แแ แแ แแแแแฎแแแแแกแแแแก. แแ แแ แแฎแแ แแแ แแแแฃแแ แแแ แแแแแก แแแแแแแแแแแจแ (แแแแแแแแแ, แงแแแแ 100 ms แแ 500 ms-แจแ แแ แแฎแแ) แแฅแแแ แแแ แแฃแแแแ แแแ แแ แชแแแแ แแแ. แ แ แแฅแแ แฃแแแ, แแก แแแแแแแ แแแแแแงแแแแแ แแฎแแแแ แแ แจแแแแฎแแแแแแจแ, แ แแแแกแแช แแฅแแแแก แแแแแแแชแแแก แจแแฃแซแแแ แแแฃแแแแแแแแก แแแแแ แฉแแแแ แฉแแแแ แกแแซแแแแ แแแแแฅแกแก.
แแ แแ แ แแแแแแแแก แแแแแงแแแแแ แจแแกแแซแแแแแแแ แแ แแแ แแฃแแแ: แจแแแแซแแแแ แแฅแแแแแ แแแฎแแฎแแแ แแแ แกแแฃแแ แแแแแฅแกแ.
แฃแคแ แ แ แแฃแแ แแแแฎแแแแแแ
แแแขแแแ แแแแแฅแกแแแแก แกแแแแแแ แแ แแแแแแ แแ แแก แแก, แ แแ แแแแฃแแแแแแแ, แ แแ แแกแแแ แแ แแ แแแ แแแ แแแ แแแ แแแแฃแแ แฃแคแ แ แ แแฃแแ แขแแแแก แแแแฎแแแแแแแกแแแแก, แ แแแแ แแชแแ span queries.
แแแ แแแแช, แแฃ แแแคแแฅแ แแแแแ, แแแขแแแแ แแแแ แแชแแแแ, แ แแแแ แแชแแ AND, OR แแ แ.แจ. แแ แแ แแก แซแแแแแ แจแแกแแคแแ แแกแ แแแแฎแแแแแกแแแแก a la "แแแฉแแแแ แกแแกแขแฃแแ แแแแ แแแแ แแก แคแแกแแ 200-แแแ 300 แแแแแ แแแแ แฆแแแแจแ".
แแฃแแฃแแ แงแแแแ แแ แซแแแแแ แแ แแแแแแแ แฃแแ แแแแแฌแงแแแขแ แแฅแแแแ แจแแแแแแแแก แแแฆแแแ แแแแแแฃแแ แแแแแ แแก แฆแแ แแแฃแแแแแกแแแแก แแ แแแแ แแแแแแแแ แแแ แแแขแแฃแ แ OR แแแแ แแชแแแ.
แแแแแ แฃแแแแแกแ แแแแแกแแแแแ แแฅแแแแ แแแฏแแฃแคแแแแก แแแแแงแแแแแ. แแแแแแแแแ, 50 แแแแแ แแแ แฏแแฃแคแแแจแ. แแก 50-แฏแแ แแแแฉแฅแแ แแแก แฉแแแแก แแ แแชแแกแก.
แแแแ แแ แแ แแแแแแ แแกแแแ แแแแแแแ แแแแแแ แแแแ แกแแแชแแแแฃแ แแ แแ แขแแแแก แแแแฎแแแแแกแแแแก แจแแฅแแแแแ แฎแแแแก แแแแแงแแแแแแ. แกแแแแชแแแแ แ แแแจแ แแแแแจแ แแแก แฃแฌแแแแแแ แแแแแแแแแแก แแแแแ แแแฃแ แแแขแแแแแแก.
แแ แฌแแ แแแแแแแแจแ แฉแแแ แแ แแแงแแแแแ แแฎแแแแ แแ แ แแแขแก แ แแแแ แแแแจแแแแแแแแกแแแแก (แแแแแแแแแ, 200), แแ แแแแ แแแงแแแแแ แแ แแแแจแแแแแแแแก แแ แงแแแแแคแแ แก แฃแคแ แ แแแฆแแ. 200 แแ แแแแแ. แแแแแ 300: 300 แแ แแแแแ. แฒแ แแกแ แจแแแแแ.
แแ แฌแแ แแแแแแแแก แแแแแงแแแแแแ, แฉแแแ แจแแแแแซแแแ แแฃแแแกแฃแฎแแ แแ แขแแแแก แกแแซแแแแ แจแแแแแฎแแแก แแแแแฅแกแแก แแฎแแแแ แแ แฏแแ แแแแแแแแแแ. แฏแแ แแแแแฆแแแ แแ แกแแกแขแฃแแ แแแแแก แฉแแแแแแแแแแก, แกแแแแช แแแแ แแก แฆแแ แแแฃแแแแ แแแแแแแแ แแ $300, แจแแแแแ แแ แแแแแแฆแแแ แแแ, แกแแแแช แแแแ แแก แฆแแ แแแฃแแแแ แแแแแแแแ แแ $199. แแแแแแ.
แแแแแแแแ แแแแแ, แแแแ แแ แแแแแแแฎแแแแแช แแ แจแแกแแซแแแแแแแ แแแขแแแ แแแแแฅแกแแแแก แแแแแงแแแแแแ. แฎแ แแแ แแ แแก แแแแแแขแ แแฃแแ แแแแแกแแฎแฃแแแแแก แแแแแงแแแแแ, แ แแแแแแช แแฅแแแแก แแแแ แแแแแขแก แแแ แแแก แแแแแแขแ แแฃแแ แคแแแฃแ แแ. แแแแแแแแแ, S2 Google-แแกแแแ. แคแแแฃแ แแก แฌแแ แแแแแแแ แจแแกแแซแแแแแแ แฃแแแ แแงแแก แกแแแ แแ แแแขแ แแแแแแแแแแ แฎแแแแก แกแแฎแแ, แ แแแแแแแช แจแแแซแแแแ แแงแแก แแแแแแ แแแ. แแ แแแแ แฉแแแ แจแแแแแซแแแ แแแแแแแฅแชแแแ แฉแแแแ geoquery แ แแแแแแแแ แแแแฎแแแแแ "แฃแคแกแแ แฃแแแก แแแกแฌแแ แแ" (แแ แแแแแแ แแแ แฎแแแแแแก แแแกแฌแแ แแ).
แแแ แแแแแฌแงแแแขแแแแแแแ
แแแแแแแแแแ, แ แแ แชแแขแแแ แแแแแแแขแแ แแกแแแแแ แแ แแฎแแ แแฅแแแแก แแ แกแแแแแจแ แแแฅแแ แแแแแ แแ แแ แกแแกแแ แแแแแ แแแกแขแ แฃแแแแขแ. แแฃ แแแแกแแ แแแแญแแ แแแแแ แแกแแแแกแ แ แแแแก แแแแแแแแ, แแแชแแแแแแแแ, แ แแแแ แแฎแแ แแก แแแแแแงแฃแ แแแแแแ.
แแฃแแชแ, แงแแแแแก แแ แแฅแแก แแ แ, แแแแแแแแแ แแ แ แแกแฃแ แกแ, แ แแ แจแแฅแแแแก แแแขแแแแแก แแแแแฅแกแแแ แแฃแแแแแ. แแแแกแแแฃแแ แแแแ แฃแคแ แ แแแฌแแแแแแแแ, แแแแแแแแแ, SIMD-แแก แแแแแงแแแแแแ.
แกแแแแแแแแ แแ, แแ แกแแแแแก แ แแแแแแแแ แแแ แแแแแกแแแแแ, แ แแแแแแช แแแแแฎแแแ แแแแ.
แแฆแแแแแ แ แแแขแแแแแแ
แฏแแ แแ แแ, แแ แแก แแแแแ แแฆแแแแแ แ bitmaps แแแแแแแแแแ, แ แแแแแแแช แฃแแแ แแแกแแฃแแ แ. แแก แจแแแชแแแก แงแแแแ แกแแญแแ แ แแแแขแแแแแ แก แแ แแแขแแก แแแแ แแชแแแแก, แ แแแแแแแช แแแแญแแ แแแแแ แกแ แฃแแคแแกแแแแแ แแแขแแแแแก แแแแแฅแกแแก แจแแกแแฅแแแแแแ.
แกแแแฌแฃแฎแแ แแ, แแ แแ แแแกแแแแก, แแ แชแแ แแ Go-แแก แแแแแแแแแขแแชแแ แแ แแงแแแแแก SIMD-แก, แ แแช แแแจแแแแก, แ แแ Go-แแก แแแแแแแแแขแแชแแแแ แแแแแแแแ แแคแแฅแขแฃแ แแ, แแแแ แ C-แแก แแแแฎแแ แชแแแแแแ, แแแแแแแแแ.
แแแแแกแ
แแแแแ แแ แแ แแ แแแฃแฅแขแ, แ แแแแแแช แแแแแฎแแแ แแแแ แแ แแก Pilosa DBMS, แ แแแแแกแแช, แคแแฅแขแแแ แแแแ, แแฅแแก แแฎแแแแ แแแขแแแ แแแแแฅแกแแแ. แแก แจแแแแ แแแแ แแฎแแแ แแแแแกแแแแแแ, แแแแ แแ แแฃแแแแก แแแแ แกแแกแฌแ แแคแแ แแแงแ แแแก.
Pilosa แแงแแแแแก แแฆแแแแแ แ bitmaps-แก แจแแแแแแแแ แแ แแแซแแแแ แแแแ แแแแแงแแแแแแก แจแแกแแซแแแแแแแแก, แแแแ แขแแแแแก แแ แแแแแแ แขแแแก แงแแแแแคแแ แก, แ แแแแช แแแแแ แแแกแแฃแแ แ: แแแฏแแฃแคแแแ, แแแแแแแแแแก แแแแแ แแแฃแแ แแแขแแแแแแ, แแแแแก แแแแชแแคแชแแ แแ แ.แจ.
แแแแแ แแแแแแฎแแแแ Pilosa-แก แแแแแงแแแแแแก แแแแแแแแก แแ แแแแฎแแแแ แแแกแฃแฎแแก แแแกแแชแแแแ, แ แแแแแกแแช แฃแแแ แแชแแแแ.
แแแแแแแแ แซแแแแแ แฐแแแแก แแแแก, แ แแช แแแ แ แแแฎแ. แฉแแแ แแฅแแแแ แแแแแแขแก Pilosa แกแแ แแแ แแ, แแฅแแแแ แแแแแฅแกแก แแ แกแแญแแ แ แแแแแแก, แจแแแแแ แแแแกแแแ แฉแแแแก แแแแแแก แจแแแแฎแแแแแแ แแแแแชแแแแแแ แแแแแแแแแ แแ แแแแแก แแแกแ แฃแแแแ แแแชแแแ แแแแฎแแแแแก.
แแแแก แจแแแแแ แฉแแแ แแแงแแแแแ NOT-แก โแซแแแ แแแฆแแ แแแฃแโ แแแแแ, แจแแแแแ แแแแแแ แจแแแแแก (แแ แแแก) โแขแแ แแกแแกโ แแแแแแ แแ โแ แแแแ แแแชแแแแแกโ แแแแแแ. แแ แแแแแก, แแแแแฆแแแ แกแแแแแแ แจแแแแแก.
แแแแ แแแแแ แแแฅแแก, แ แแ แฃแแฎแแแแก แแแแแแแแจแ แแก แแฎแแแ แขแแแแก แแแแแฅแกแ แแกแแแ แแแแแฉแแแแแ DBMS-แแแจแ, แ แแแแ แแชแแ MySQL แแ PostgreSQL - bitmap แแแแแฅแกแแแ.
แแแกแแแแ
แแฃ แฏแแ แแ แฉแแแแซแแแแ, แแแแแแแ. แแแแแแ แแแแแฌแแ แแแแ แแแแแแ แจแแฎแแแ แจแแแฆแฃแแฃแแ แแ แแแก แแแแ, แแแแ แแ แแแแแแแแแแ, แ แแ แกแแฃแแแ แ แกแแกแแ แแแแแ แแ แจแแกแแซแแแ แแแขแแแแชแแฃแ แแช แแงแ.
Bitmap แแแแแฅแกแแแแก แจแแกแแฎแแ แแแ แแแ แแชแแแแ, แแแจแแแแช แแ, แแฃ แแกแแแ แแฎแแ แแ แแญแแ แแแแแ. แแแ, แแกแแแ แแงแแก แแแแแ แแ แแ แแแกแขแ แฃแแแแขแ แแฅแแแแก แฎแแแกแแฌแงแแแ แงแฃแแจแ.
แฉแแแ แแแแแแฎแแแแ Go-แก แจแแกแ แฃแแแแแก แกแฎแแแแแกแฎแแ แฎแ แแแแแก แแ แกแแแแแฎแแแก, แ แแแแแแกแแช Go แจแแแแแแแแแ แฏแแ แแ แฃแแแแแแแแแ แแแ แแแ. แแแแ แแ แแก แแแกแแแฃแขแฃแ แแ แกแแกแแ แแแแแแ แงแแแแ Go แแ แแแ แแแแกแขแแกแแแแก, แ แแ แแชแแแแก.
แกแฃแ แแก แแงแ, แ แแช แแแแแแแ แแแแฅแแ. แฒแแแแแแแ!
แฌแงแแ แ: www.habr.com