ืžื™ื™ืงืจืึธืกืึธืคึฟื˜ ื”ืื˜ ื’ืขืขืคื ื˜ ื“ืขื ืงืึธื“ ืคึฟืึทืจ ื“ื™ ืžื™ืžืึทืœืœืึธืง ื–ื›ึผืจื•ืŸ ืึทืœืึทืงื™ื™ืฉืึทืŸ ืกื™ืกื˜ืขื

ืžื™ื™ืงืจืึธืกืึธืคึฟื˜ ื”ืื˜ ื’ืขืขืคื ื˜ ืึท ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืื•ื ื˜ืขืจ ื“ื™ MIT ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ mmalloc ืคึฟื•ืŸ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทื ื– ืคื•ืŸ ืึท ื–ื›ึผืจื•ืŸ ืึทืœืึทืงื™ื™ืฉืึทืŸ ืกื™ืกื˜ืขื ืขืจื™ื“ื–ืฉื ืึทืœื™ ื‘ืืฉืืคืŸ ืคึฟืึทืจ ืจื•ื ื˜ื™ืžืข ืงืึทืžืคึผืึธื•ื ืึทื ืฅ ืคื•ืŸ ืฉืคึผืจืึทื›ืŸ ืงืึธืงืึท ะธ ื“ืึทืจ. Mimalloc ืื™ื– ืฆื•ื’ืขืคืืกื˜ ืฆื• ื ื•ืฆืŸ ืื™ืŸ ื ืึธืจืžืึทืœ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืึธืŸ ื˜ืฉืึทื ื’ื™ื ื’ ื–ื™ื™ืขืจ ืงืึธื“ ืื•ืŸ ืงืขื ืขืŸ ืฉืคึผื™ืœืŸ ื•ื•ื™ ืึท ื˜ืจืึทื ืกืคึผืขืจืึทื ื˜ ืคืึทืจื‘ื™ื™ึทื˜ ืคึฟืึทืจ ื“ื™ ืžืึทืœืœืึธืง ืคื•ื ืงืฆื™ืข. ืฉื˜ื™ืฆื˜ ืึทืจื‘ืขื˜ ืื•ื™ืฃ Windows, macOS, Linux, BSD ืื•ืŸ ืื ื“ืขืจืข ื™ื•ื ื™ืงืก-ื•ื•ื™ ืกื™ืกื˜ืขืžืขืŸ.

ื“ืขืจ ืฉืœื™ืกืœ ืฉื˜ืจื™ืš ืคื•ืŸ mimalloc ืื™ื– ื–ื™ื™ึทืŸ ืกืึธืœื™ื“ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ (ื•ื•ื™ื™ื ื™ืงืขืจ ื•ื•ื™ 3500 ืฉื•ืจื•ืช ืคื•ืŸ ืงืึธื“) ืื•ืŸ ื–ื™ื™ืขืจ ื”ื•ื™ืš ืคืึธืจืฉื˜ืขืœื•ื ื’. ืื™ืŸ ื˜ืขืกืฅ ื’ืขื˜ืืŸ mimalloc ืึทื•ื˜ืคึผืขืจืคืึธืจืžื“ ืึทืœืข ืงืึทืžืคึผื™ื˜ื™ื ื’ ื–ื™ืงืึธืจืŸ ืึทืœืึทืงื™ื™ืฉืึทืŸ ืœื™ื™ื‘ืจืขืจื™ื–, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ jemalloc, tcmalloc, snmalloc, rpmalloc ะธ ื”ืึธืึทืจื“.

ืฆื• ืึธืคึผืฉืึทืฆืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’, ืึท ืกื›ื•ื ืคื•ืŸ ื™ื’ื–ื™ืกื˜ื™ื ื’ ื ืึธืจืžืึทืœ ื˜ืขืกืฅ ืื™ืŸ ืขื˜ืœืขื›ืข ื˜ืขืกืฅ, ืžื™ืžืึทืœืœืึธืง ืื™ื– ืคื™ืœืข ืžืึธืœ ืคืึทืกื˜ืขืจ ื•ื•ื™ ืื ื“ืขืจืข ืกื™ืกื˜ืขืžืขืŸ; ืœืžืฉืœ, ืื™ืŸ ื“ื™ ืคึผืจืึธื‘ืข ืคื•ืŸ โ€‹โ€‹ืžื™ื’ืจืึทื˜ื™ืึธืŸ ืคื•ืŸ ืึทื‘ื“ื–ืฉืขืงืฅ ืฆื•ื•ื™ืฉืŸ ืคืึทืจืฉื™ื“ืขื ืข ืคึฟืขื“ืขื, ืžื™ืžืึทืœืœืึธืง ืื™ื– ื’ืขื•ื•ืขืŸ ืžืขืจ ื•ื•ื™ 2.5 ืžืืœ ืคืึทืกื˜ืขืจ ื•ื•ื™ tcmalloc ืื•ืŸ jemalloc. ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ื˜, ืื™ืŸ ืจื•ื‘ึฟ ื˜ืขืกืฅ, ื ื™ื“ืขืจื™ืงืขืจ ื–ื›ึผืจื•ืŸ ืงืึทื ืกืึทืžืฉืึทืŸ ืื™ื– ืื•ื™ืš ื‘ืืžืขืจืงื˜; ืื™ืŸ ืขื˜ืœืขื›ืข ืกื™ื˜ื•ืึทื˜ื™ืึธื ืก, ื–ื›ึผืจื•ืŸ ืงืึทื ืกืึทืžืฉืึทืŸ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืจื™ื“ื•ืกื˜ ืžื™ื˜ 25%.

ืžื™ื™ืงืจืึธืกืึธืคึฟื˜ ื”ืื˜ ื’ืขืขืคื ื˜ ื“ืขื ืงืึธื“ ืคึฟืึทืจ ื“ื™ ืžื™ืžืึทืœืœืึธืง ื–ื›ึผืจื•ืŸ ืึทืœืึทืงื™ื™ืฉืึทืŸ ืกื™ืกื˜ืขื

ื”ื•ื™ืš ืคืึธืจืฉื˜ืขืœื•ื ื’ ืื™ื– ืึทื˜ืฉื™ื•ื•ื“ ื“ืขืจ ื”ื•ื™ืคึผื˜ ื“ื•ืจืš ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ืคืจื™ื™ ืจืฉื™ืžื” ืฉืึทืจื“ื™ื ื’. ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ืื™ื™ืŸ ื’ืจื•ื™ืก ืจืฉื™ืžื”, mimalloc ื ื™ืฆื˜ ืึท ืกืขืจื™ืข ืคื•ืŸ โ€‹โ€‹ืงืœืขื ืขืจืขืจ ืจืฉื™ืžื•ืช, ื™ืขื“ืขืจ ืคื•ืŸ ื•ื•ืึธืก ืื™ื– ื’ืขื‘ื•ื ื“ืŸ ืฆื• ืึท ื–ื›ึผืจื•ืŸ ื‘ืœืึทื˜. ื“ืขืจ ืฆื•ื’ืึทื ื’ ืจืึทื“ื•ืกืึทื– ืคืจืึทื’ืžืึทื ื˜ื™ื™ืฉืึทืŸ ืื•ืŸ ื™ื ืงืจื™ืกื™ื– ื“ืึทื˜ืŸ ืึธืจื˜ ืื™ืŸ ื–ื›ึผืจื•ืŸ. ื ื–ื›ึผืจื•ืŸ ื‘ืœืึทื˜ ืื™ื– ืึท ื’ืจื•ืคึผื˜ ื’ืึทื ื’ ืคื•ืŸ ื‘ืœืึทืงืก ืคื•ืŸ ืขื ืœืขืš ื’ืจื™ื™ืก. ืื•ื™ืฃ 64-ื‘ื™ืกืœ ืกื™ืกื˜ืขืžืขืŸ, ื“ื™ ื‘ืœืึทื˜ ื’ืจื™ื™ืก ืื™ื– ื˜ื™ืคึผื™ืงืœื™ 64 ืงื‘. ืื•ื™ื‘ ืขืก ื–ืขื ืขืŸ ืงื™ื™ืŸ ืคืึทืจื ื•ืžืขืŸ ื‘ืœืึทืงืก ืœื™ื ืงืก ืื™ืŸ ื“ื™ ื‘ืœืึทื˜, ืขืก ืื™ื– ื’ืึธืจ ื‘ืืคืจื™ื™ื˜ ืื•ืŸ ื“ืขืจ ื–ื›ึผืจื•ืŸ ืื™ื– ืื•ืžื’ืขืงืขืจื˜ ืฆื• ื“ื™ ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขื, ื•ื•ืึธืก ืจืึทื“ื•ืกืึทื– ื–ื›ึผืจื•ืŸ ืงืึธืก ืื•ืŸ ืคืจืึทื’ืžืึทื ื˜ื™ื™ืฉืึทืŸ ืื™ืŸ ืœืึทื ื’-ืœื•ื™ืคืŸ ืžื’ื™ืœื”.

ื“ื™ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืงืขื ืขืŸ ื–ื™ื™ืŸ ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืื™ืŸ ื“ื™ ืคึฟืึทืจื‘ื™ื ื“ื•ื ื’ ื‘ื™ื ืข ืึธื“ืขืจ ืœืึธื•ื“ื™ื“ ืคึฟืึทืจ ืึท ืฉื•ื™ืŸ ืึทืกืขืžื‘ืึทืœื“ ืคึผืจืึธื’ืจืึทื ("LD_PRELOAD=/usr/bin/libmimalloc.so myprogram"). ื“ื™ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ื’ื™ื˜ ืื•ื™ืš ืึทืคึผื™ ืคึฟืึทืจ ื™ื ื˜ืึทื’ืจื™ื™ื˜ื™ื ื’ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ืื™ืŸ ืจื•ื ื˜ื™ืžืข ืื•ืŸ ืคื™ื™ืŸ-ื’ืจื™ื™ื ื“ ืึธืคึผืคื™ืจื•ื ื’ ืงืึธื ื˜ืจืึธืœ, ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืคึฟืึทืจ ืงืึทื ืขืงื˜ื™ื ื’ ืคื•ื™ืœ ื–ื™ืงืึธืจืŸ ืžืขืœื“ื•ื ื’ ื”ืึทื ื“ืœืขืจืก ืื•ืŸ ืžืึทื ืึทื˜ืึทื ื™ืงืœื™ ื™ื ืงืจื™ืกื™ื ื’ ืจืขืคึฟืขืจืขื ืฅ ืงืึธื•ื ื˜ืขืจืก. ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ืฉืึทืคึฟืŸ ืื•ืŸ ื ื•ืฆืŸ ืขื˜ืœืขื›ืข "ื”ื•ื™ืคื ืก" ืื™ืŸ ืึท ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืคึฟืึทืจ ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’ ืื™ืŸ ืคืึทืจืฉื™ื“ืขื ืข ื–ื™ืงืึธืจืŸ ื’ืขื‘ื™ื˜ืŸ. ืขืก ืื™ื– ืื•ื™ืš ืžืขื’ืœืขืš ืฆื• ื‘ืึทืคืจื™ื™ึทืขืŸ ื“ื™ ืงื•ืคึผืข ืื™ืŸ ื’ืื ืฆืŸ, ืึธืŸ ื“ื•ืจื›ื’ื™ื™ืŸ ืื•ืŸ ืกืขืคึผืขืจืึทื˜ืœื™ ื‘ืึทืคืจื™ื™ืขืŸ ื“ื™ ืึทื‘ื“ื–ืฉืขืงืฅ ื•ื•ืึธืก ื–ืขื ืขืŸ ื’ืขืฉื˜ืขืœื˜ ืื™ืŸ ืขืก.

ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ื‘ื•ื™ืขืŸ ื“ื™ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืื™ืŸ ืึท ื–ื™ื›ืขืจ ืžืึธื“ืข, ืื™ืŸ ื•ื•ืึธืก ืกืคึผืขืฆื™ืขืœ ื–ื™ืงืึธืจืŸ ื˜ืฉืขืง ื‘ืœืขื˜ืขืจ (ื’ืึทืจื“ ื‘ืœืขื˜ืขืจ) ื–ืขื ืขืŸ ืกืึทื‘ืกื˜ืึทื˜ื•ื˜ืึทื“ ื‘ื™ื™ ื“ื™ ื‘ืœืึธืง ื‘ืึทื•ื ื“ืจื™ื–, ืื•ืŸ ืจืึทื ื“ืึทืžื™ื–ื™ื™ืฉืึทืŸ ืคื•ืŸ ื‘ืœืึธืง ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’ ืื•ืŸ ืขื ืงืจื™ืคึผืฉืึทืŸ ืคื•ืŸ ืจืฉื™ืžื•ืช ืคื•ืŸ ืคืจื™ื™ ื‘ืœืึทืงืก ื–ืขื ืขืŸ ื’ืขื ื™ืฆื˜. ืึทื–ืึท ืžื™ื˜ืœืขืŸ ืžืึทื›ืŸ ืขืก ืžืขื’ืœืขืš ืฆื• ืคืึทืจืฉืคึผืึทืจืŸ ืจื•ื‘ึฟ ืคึผืจืึธืกื˜ ื˜ืขืงื ื™ืงืก ืคึฟืึทืจ ืขืงืกืคึผืœื•ื™ื˜ื™ื ื’ ืงื•ืคึผืข-ื‘ืื–ื™ืจื˜ ื‘ืึทืคืขืจ ืึธื•ื•ื•ืขืจืคืœืึธื•ื–. ื•ื•ืขืŸ ืื™ืจ ื’ืขื‘ืŸ ื–ื™ื›ืขืจ ืžืึธื“ืข, ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’ ื“ื™ืงืจื™ืกืึทื– ืžื™ื˜ ื‘ืขืขืจืขืš 3%.

ืฆื•ื•ื™ืฉืŸ ื“ื™ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืคื•ืŸ ืžื™ืžืึทืœืœืึธืง, ืขืก ืื™ื– ืื•ื™ืš ื‘ืืžืขืจืงื˜ ืึทื– ืขืก ืื™ื– ื ื™ืฉื˜ ืกืึทืกืขืคึผื˜ืึทื‘ืึทืœ ืฆื• ื‘ืœืึธื•ื˜ื™ื ื’ ืคึผืจืึธื‘ืœืขืžืก ืจืขื›ื˜ ืฆื• ื’ืจื•ื™ืก ืคืจืึทื’ืžืึทื ื˜ื™ื™ืฉืึทืŸ. ืื™ืŸ ื“ื™ ืขืจื’ืกื˜-ืคืึทืœ ืกืฆืขื ืึทืจ, ื–ื›ึผืจื•ืŸ ืงืึทื ืกืึทืžืฉืึทืŸ ื™ื ืงืจื™ืกื™ื– ืžื™ื˜ 0.2% ืคึฟืึทืจ ืžืขื˜ืึทื“ืึทื˜ืึท ืื•ืŸ ืงืขื ืขืŸ ื“ืขืจื’ืจื™ื™ื›ืŸ 16.7% ืคึฟืึทืจ ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ื–ื›ึผืจื•ืŸ. ืฆื• ื•ื™ืกืžื™ื™ื“ืŸ ืงืึธื ืคืœื™ืงื˜ ื•ื•ืขืŸ ืึทืงืกืขืกื™ื ื’ ืจืขืกื•ืจืกืŸ, mimalloc ื ื™ืฆื˜ ื‘ืœื•ื™ื– ืึทื˜ืึธืžื™ืฉืข ืึทืคึผืขืจื™ื™ืฉืึทื ื–.

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

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’