StringZilla – SIMD— ΠΈ SWAR-ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ C++ (Ρ Π±ΠΈΠ½Π΄ΠΈΠ½Π³Π°ΠΌΠΈ Π΄Π»Ρ ΡΠ·ΡΠΊΠΎΠ² C, JavaScript (ΠΌΠΎΠ΄ΡΠ»Ρ Node.js), Python, Rust ΠΈ Swift) Π΄Π»Ρ Π±ΡΡΡΡΡΡ
ΡΡΡΠΎΠΊΠΎΠ²ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ: ΠΏΠΎΠΈΡΠΊ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊ ΠΈ Π½Π°Π±ΠΎΡΠ° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² (ΠΏΡΡΠΌΠΎΠΉ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ), ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°, ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΠ΅Π²Π΅Π½ΡΡΠ΅ΠΉΠ½Π°, ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π₯ΡΠΌΠΌΠΈΠ½Π³Π° ΠΈ Π΄ΡΡΠ³ΠΈΡ
. ΠΠ΄Π½Π°ΠΊΠΎ, ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π½Π΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Π° Π΄Π»Ρ Π²ΡΠ΅Ρ
ΡΠ·ΡΠΊΠΎΠ².
ΠΡΠΎΠ΅ΠΊΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ Apache-2.0.
ΠΠΎ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ Π°Π²ΡΠΎΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΠΊΠΎΡΠ΅Π½Ρ Π² ΠΏΡΡΡ (ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅) ΡΠ°Π·.
Π Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ:
- ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ° Π°Π»Π»ΠΎΠΊΠ°ΡΠΈΠΈ ΡΡΡΠΎΠΊΠΈ;
- ΡΠ΄Π΅Π»Π°Π½Π° Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΡ is_internal() (C++).
ΠΡΡΠΎΡΠ½ΠΈΠΊ: linux.org.ru