ืคื™ื™ืกื‘ื•ืง ืคื•ืชื—ืช ื™ื™ืฉื•ื ืฉืœ ื˜ื‘ืœืื•ืช Hash F14

ื—ื‘ืจืช ืคื™ื™ืกื‘ื•ืง ื”ื•ื›ืจื– ืขืœ ื”ื˜ืžืขืช ืงื•ื“ ืคืชื•ื— ืฉืœ ื˜ื‘ืœืื•ืช hash F14, ืžื•ืชืื ืœืฆืจื™ื›ืช ื–ื™ื›ืจื•ืŸ ื™ืขื™ืœื”. F14 ืžืฉืžืฉ ื‘ืชืฉืชื™ืช ืคื™ื™ืกื‘ื•ืง ื›ืชื—ืœื™ืฃ ืœืจื•ื‘ ืกื•ื’ื™ ื˜ื‘ืœืื•ืช ื”-hash ื•ื™ื›ื•ืœ ืœื”ืคื—ื™ืช ืืช ืฆืจื™ื›ืช ื”ื–ื™ื›ืจื•ืŸ ืžื‘ืœื™ ืœื”ืงืจื™ื‘ ืืช ื”ื‘ื™ืฆื•ืขื™ื. F14 ืขื•ืœื” ื‘ื”ืจื‘ื” ืขืœ ื˜ื‘ืœืื•ืช hash ืฉืœ 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.

ืคื™ื™ืกื‘ื•ืง ืคื•ืชื—ืช ื™ื™ืฉื•ื ืฉืœ ื˜ื‘ืœืื•ืช Hash F14

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”