lëshimi i enjinës JavaScript , e orientuar për integrimin në kodyn e projekteve në gjuhën C/C++. Enxhinori është i njohur për madhësinë e tij kompakte, portabilitet të lartë dhe konsum të ulët të burimeve. Kodet burimore të enjinës janë shkruar në gjuhën C dhe në përputhje me licencën MIT.
Kodi Duktape zë rreth 160 kB dhe konsumon vetëm 70kB RAM, ndersa në mënyrën e konsumit të ulët të memories 27kB RAM. Për integrimin e Duktape në kodin C/C++ duhen shtuar në projekt skedarët duktape.c dhe duktape.h, dhe të përdoren për të thirrur funksione në JavaScript nga kodyn në C/C++ ose anasjelltas. Për çlirimin e objekteve të papërdorur nga memoria, përdoret një mbledhës plehrash me finalizues, i ndërtuar mbi një kombinim të të numërimit të referencave me algoritmin e etiketimit (Mark and Sweep). Enxhinori përdoret për procesimin e JavaScript në shfletuesin .
Sigurohet plotësisht përputhshmëria me specifikimet e Ecmascript 5.1 dhe pjesërisht Ecmascript 2015 dhe 2016 (E6 dhe E7), duke përfshirë mbështetje për objektin Proxy për virtualizimin e pronave, tabelat e tipizuara, ArrayBuffer, Node.js Buffer, Encoding API, objektin Symbol etj. Në paketë përfshihet një debugar i integruar, një enjin për ekzekutimin e shprehjeve të zakonshme dhe një nënsistem për mbështetje të Unicode. Gjithashtu janë ofruar zgjerime specifike, të tilla si mbështetje për korutina, një strukturë të integruar për regjistrimin, një mekanizëm për ngarkimin e moduleve të bazuara në CommonJS, dhe një sistem për caching të kodit byte, i cili lejon ruajtjen dhe ngarkimin e funksioneve të kompozuara.
NĂ« lĂ«shimin e ri thirrjet e reja duk_to_stacktrace() dhe duk_safe_to_stacktrace() pĂ«r tĂ« marrĂ« gjurmĂ«t e stackut, duk_push_bare_array() pĂ«r tĂ« shtuar instanca tĂ« pavarura tĂ« tabelave. Funksionet duk_require_constructable() dhe duk_require_constructor_call() janĂ« pĂ«rkthyer nĂ« publik. ĂshtĂ« pĂ«rmirĂ«suar pĂ«rputhshmĂ«ria me specifikimin ES2017. Optimizohet puna me tabelat dhe objektet. NĂ« ndĂ«rfaqen CLI tĂ« duk Ă«shtĂ« shtuar opsioni "âno-auto-complete" pĂ«r tĂ« çaktivizuar plotĂ«simin automatik tĂ« hyrjes.
Burimi: opennet.ru
