Cheerp 3.0, C/C++ เชฅเซ€ JavaScript เช•เชฎเซเชชเชพเช‡เชฒเชฐ, Apache 2.0 เช…เชจเซ‡ LLVM เชฒเชพเชฏเชธเชจเซเชธ เชชเชฐ เชธเซเชฅเชพเชจเชพเช‚เชคเชฐเชฟเชค

Cheerp 3.0 เช•เชฎเซเชชเชพเชˆเชฒเชฐ เชฐเชœเซ‚ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡, เชœเซ‡ เชคเชฎเชจเซ‡ เชตเซ‡เชฌ เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เช…เชฅเชตเชพ JavaScript เชชเชฐ เช•เซ‹เชˆเชชเชฃ C/C++ เช•เซ‹เชก เช•เชฎเซเชชเชพเชˆเชฒ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เชจเชตเซ€ เชถเชพเช–เชพ เช•เชฎเซเชชเชพเช‡เชฒเชฐ เช…เชจเซ‡ เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡เชจเซ€ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เช“เชจเซ‡ เช…เชจเซเชฎเชคเชฟ เช†เชชเชจเชพเชฐ Apache 2.0 เช…เชจเซ‡ LLVM เชฒเชพเชฏเชธเชจเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เช›เซ‡, เช…เช—เชพเช‰ เชฒเชพเช—เซ เช•เชฐเชพเชฏเซ‡เชฒ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เชฒเชพเช‡เชธเชจเซเชธเชฟเช‚เช— เชจเซ€เชคเชฟเชจเซ‡ เชฌเชฆเชฒเซ‡, เชฌเชฟเชจ-เชตเซเชฏเชพเชตเชธเชพเชฏเชฟเช• เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เชฎเชพเชŸเซ‡ GPLv2 เชฒเชพเชฏเชธเชจเซเชธ เชตเชฟเช•เชฒเซเชช เช…เชจเซ‡ เชตเซเชฏเชพเชชเชพเชฐเซ€ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เชฎเชพเชŸเซ‡ เชฎเชพเชฒเชฟเช•เซ€เชจเซเช‚ เชฒเชพเช‡เชธเชจเซเชธ เช“เชซเชฐ เช•เชฐเซ‡ เช›เซ‡. เช•เชฎเซเชชเชพเช‡เชฒเชฐ เช•เซ‹เชก เชเชฒเชเชฒเชตเซ€เชเชฎ เช…เชจเซ‡ เช•เซเชฒเซ‡เช‚เช—เชจเชพ เชตเชฟเช•เชพเชธ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช›เซ‡, เช…เชจเซ‡ เชคเซ‡เชฎเชพเช‚ เชชเซเชฐเชฆเชฐเซเชถเชจ เชธเซเชงเชพเชฐเชตเชพ เช…เชจเซ‡ เชธเช‚เช•เชฒเชฟเชค เชชเชฐเชฟเชฃเชพเชฎเชจเซเช‚ เช•เชฆ เช˜เชŸเชพเชกเชตเชพ เชฎเชพเชŸเซ‡ เชตเชงเชพเชฐเชพเชจเชพ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡.

Cheerp เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชนเชพเชฒเชจเซ€ C/C++ เชฒเชพเชˆเชฌเซเชฐเซ‡เชฐเซ€เช“ เช…เชจเซ‡ เชเชชเซเชฒเซ€เช•เซ‡เชถเชจเชจเซ‡ เชฌเซเชฐเชพเช‰เชเชฐเชฎเชพเช‚ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เช…เชจเซ‡ เช‰เชšเซเชš-เชชเซเชฐเชฆเชฐเซเชถเชจ เชตเซ‡เชฌ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซเชธ เช…เชจเซ‡ เชตเซ‡เชฌ เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เช˜เชŸเช•เซ‹เชจเซ‡ เชถเชฐเซ‚เช†เชคเชฅเซ€ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชฌเช‚เชจเซ‡ เชฎเชพเชŸเซ‡ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เช† เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชคเชฎเชจเซ‡ JavaScript เช•เซ‹เชกเชฎเชพเช‚เชฅเซ€ เชฎเซ‚เชณ C/C++ เชฎเชพเช‚ เชตเชฟเช•เชธเชฟเชค เชซเช‚เช•เซเชถเชจเซเชธ เช…เชจเซ‡ C/C ++ เช•เซ‹เชกเชฎเชพเช‚เชฅเซ€ JavaScript เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธ, JavaScript เช•เซ‹เชกเชฎเชพเช‚เชฅเซ€ เชเช•เซเชธเซ‡เชธ เช•เชฐเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เชธเชพเชฅเซ‡ เชเช• เชตเซ‡เชฌ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชฎเชพเช‚ C/C ++ เช…เชจเซ‡ JavaScript เช•เซ‹เชกเชจเซ‡ เชœเซ‹เชกเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เชชเซเชธเซเชคเช•เชพเชฒเชฏเซ‹, เชตเซ‡เชฌ API เช…เชจเซ‡ เชคเชฎเชพเชฎ เชธเซเชตเชฟเชงเชพเช“ DOM. เชคเซ‡เชจเซ‡ เชธเช‚เชฏเซเช•เซเชค เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชฌเชจเชพเชตเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช›เซ‡, เชœเซ‡เชฎเชพเช‚เชจเชพ เช•เซ‡เชŸเชฒเชพเช• เช•เซ‹เชก เชœเชพเชตเชพเชธเซเช•เซเชฐเชฟเชชเซเชŸเชฎเชพเช‚ เช…เชจเซ‡ เช•เซ‡เชŸเชฒเชพเช• เชตเซ‡เชฌ เชเชธเซ‡เชฎเซเชฌเชฒเซ€เชฎเชพเช‚ เชธเช‚เช•เชฒเชฟเชค เช›เซ‡. เชคเซ‡ เชฌเชฟเชฒเซเชกเชฟเช‚เช— เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธเชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡ เชœเซ‡ เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ libc เช…เชจเซ‡ libc++ เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡.

Emscripten เช•เชฎเซเชชเชพเช‡เชฒเชฐเชจเซ€ เชคเซเชฒเชจเชพเชฎเชพเช‚, Cheerp เชตเชงเซ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เช เช…เชจเซ‡ เช•เซ‹เชฎเซเชชเซ‡เช•เซเชŸ เชตเซ‡เชฌ เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เช‡เชจเซเชŸเชฐเชฎเซ€เชกเชฟเชฏเซ‡เชŸ เช•เซ‹เชก เชœเชจเชฐเซ‡เชŸ เช•เชฐเซ‡ เช›เซ‡ (เชธเชฐเซ‡เชฐเชพเชถ, เชชเชฐเชฟเชฃเชพเชฎเซ€ เชซเชพเช‡เชฒเซ‹เชจเซเช‚ เช•เชฆ 7% เชจเชพเชจเซเช‚ เช›เซ‡). เชธเซˆเชฆเซเชงเชพเช‚เชคเชฟเช• เชฐเซ€เชคเซ‡, เชคเชซเชพเชตเชคเซ‹ เช เชนเช•เซ€เช•เชค เชชเชฐ เช‰เช•เชณเซ‡ เช›เซ‡ เช•เซ‡ Emscripten เชจเซ‹ เช‰เชชเชฏเซ‹เช— WebAssembly เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชซเซ‹เชฐเซเชฎเซ‡เชŸ เชคเชฐเซ€เช•เซ‡ เชฅเชพเชฏ เช›เซ‡ เช…เชจเซ‡ WebAssembly เชชเซ‹เชธเซเชŸ-เชชเซเชฐเซ‹เชธเซ‡เชธเชฟเช‚เช— เชธเซเชŸเซ‡เชœ (wasm-opt) เชชเชฐ เชฌเช‚เชงเชจเช•เชฐเซเชคเชพ เช…เชจเซ‡ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ เช•เชฐเซ‡ เช›เซ‡. Cheerp เชชเซเชธเซเชคเช•เชพเชฒเชฏเซ‹ เช…เชจเซ‡ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชซเชพเช‡เชฒเซ‹ เชฎเชพเชŸเซ‡ เชฎเชงเซเชฏเชตเชฐเซเชคเซ€ เชฐเชœเซ‚เช†เชค เชคเชฐเซ€เช•เซ‡ LLVM เชฌเชพเชˆเชŸเช•เซ‹เชกเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡ เชชเซ‹เชธเซเชŸ-เชชเซเชฐเซ‹เชธเซ‡เชธเชฟเช‚เช—เชจเซ€ เชœเชฐเซ‚เชฐเชฟเชฏเชพเชค เชตเชฟเชจเชพ LLVM-เชธเซเชคเชฐเชจเชพ เชฎเซ‡เชŸเชพเชกเซ‡เชŸเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเชพ เชตเซเชฏเชพเชชเช• เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ-เชตเซเชฏเชพเชชเซ€ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เชเซ‡เชถเชจ เชฎเชพเชŸเซ‡ เชชเชฐเชตเชพเชจเช—เซ€ เช†เชชเซ‡ เช›เซ‡.

เชตเชงเซเชฎเชพเช‚, Cheerp PreExecuter optimizer เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡ เช•เชฎเซเชชเชพเชˆเชฒ เชธเชฎเชฏเซ‡ เชชเซเชฐเซ€เชฎเซ‡เชชเซเชŸเชฟเชต เช•เซ‹เชก เชเช•เซเชเชฟเช•เซเชฏเซเชถเชจ เชชเซ‚เชฐเซเช‚ เชชเชพเชกเซ‡ เช›เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชตเซˆเชถเซเชตเชฟเช• เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธเชจเซ‡ เชธเซเชฅเชฟเชฐเชพเช‚เช•เซ‹เชฎเชพเช‚ เชชเซเชฐเชพเชฐเช‚เชญ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชคเชพ เช•เชจเซเชธเซเชŸเซเชฐเช•เซเชŸเชฐเซเชธเชจเซ‡ เช•เชจเซเชตเชฐเซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡. เช‰เชชเชฐเชพเช‚เชค, เช•เชฎเซเชชเชพเช‡เชฒ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, PartialExecuter เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซ‡ เชซเช‚เช•เซเชถเชจ เชชเชฐเชฟเชฎเชพเชฃเซ‹เชจเชพ เชตเชฟเชถเซเชฒเซ‡เชทเชฃเชจเชพ เช†เชงเชพเชฐเซ‡, เช•เซ‹เชกเชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเซ‡ เช›เซ‡ เชœเซ‡เชจเซ‹ เช…เชฎเชฒ เชฆเชฐเชฎเชฟเชฏเชพเชจ เช‰เชชเชฏเซ‹เช— เชจ เชฅเชตเชพเชจเซ€ เช–เชพเชคเชฐเซ€ เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เช—เชพเชฐเซเชฌเซ‡เชœ เช•เชฒเซ‡เช•เซเชŸเชฐ เชฆเซเชตเชพเชฐเชพ เช†เชตเชฐเซ€ เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒเซ€ เชฎเซ‡เชฎเชฐเซ€ เชธเชพเชฅเซ‡ เช—เชคเชฟเชถเซ€เชฒ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชšเซ€เชฏเชฐ เชœเชพเชตเชพเชธเซเช•เซเชฐเชฟเชชเซเชŸ เช•เซ‹เชก เชชเชฃ เชœเชจเชฐเซ‡เชŸ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡. เช–เชพเชธ เช•เชฐเซ€เชจเซ‡, เชŸเชพเช‡เชช เช•เชฐเซ‡เชฒ เชเชฐเซ‡ เชธเชพเชฅเซ‡ เชชเชฐเช‚เชชเชฐเชพเช—เชค เชธเชฐเชจเชพเชฎเชพเช‚เชจเซ€ เชœเช—เซเชฏเชพเชจเซเช‚ เช…เชจเซเช•เชฐเชฃ เช•เชฐเชตเชพเชจเซ‡ เชฌเชฆเชฒเซ‡, Cheerp JavaScript เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธเชฎเชพเช‚ C++ เช‘เชฌเซเชœเซ‡เช•เซเชŸเชจเซเช‚ เชธเซ€เชงเซเช‚ เชฎเซ‡เชชเชฟเช‚เช— เชชเซ‚เชฐเซเช‚ เชชเชพเชกเซ‡ เช›เซ‡, เชœเซ‡ เชฎเซ‡เชฎเชฐเซ€ เชตเชชเชฐเชพเชถ เช˜เชŸเชพเชกเซ‡ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ JavaScript เช—เชพเชฐเซเชฌเซ‡เชœ เช•เชฒเซ‡เช•เซเชŸเชฐ เชชเชพเชธเซ‡ เชจ เชตเชชเชฐเชพเชฏเซ‡เชฒ เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธเชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เช›เซ‡. เช•เชพเชฎเช—เซ€เชฐเซ€ เชฌเชนเซ‡เชคเชฐ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡, เชœเชจเชฐเซ‡เชŸ เช•เชฐเซ‡เชฒ WebAssembly เช‡เชจเซเชŸเชฐเชฎเซ€เชกเชฟเชฏเซ‡เชŸ เช•เซ‹เชก เชกเซ‡เชŸเชพ เช“เชชเชฐเซ‡เชถเชจเซเชธเชจเชพ เชธเชฎเชพเช‚เชคเชฐเชจเซ‡ เช—เซ‹เช เชตเชตเชพ เชฎเชพเชŸเซ‡ SIMD เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡.

C++ เชฎเชพเช‚ เชธเช‚เช•เชฒเชฟเชค เช•เซเชฒเชพเชฏเช‚เชŸ/เชธเชฐเซเชตเชฐ เชตเซ‡เชฌ เชเชชเซเชฒเซ€เช•เซ‡เชถเชจ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชเช• เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชคเชฐเซ€เช•เซ‡ เชšเซ€เชฐเชชเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชตเชฐเซเชคเชฎเชพเชจ เชตเซเชฏเชตเชนเชพเชฐเชฎเชพเช‚, JavaScript เชฎเชพเช‚ เชฒเช–เชพเชฏเซ‡เชฒ เช…เชฒเช— เชฌเซเชฐเชพเช‰เชเชฐ-เช†เชงเชพเชฐเชฟเชค เชซเซเชฐเชจเซเชŸ-เชเชจเซเชก เช…เชจเซ‡ PHP, Python, Ruby, เช…เชฅเชตเชพ JavaScript/Node.js เชฎเชพเช‚ เชฒเช–เชพเชฏเซ‡เชฒ เชเช• เช…เชฒเช— เชฌเซ‡เช•-เชเชจเซเชก เชตเชฟเช•เชธเชพเชตเชตเชพเชจเซเช‚ เชธเชพเชฎเชพเชจเซเชฏ เช›เซ‡. Cheerp เชธเช‚เชชเซ‚เชฐเซเชฃ C++ เชตเซ‡เชฌ เชเชชเซเชฒเซ€เช•เซ‡เชถเชจ เชฌเชจเชพเชตเชตเชพเชจเซเช‚ เชธเชพเชงเชจ เชชเซ‚เชฐเซเช‚ เชชเชพเชกเซ‡ เช›เซ‡ เชœเซ‡ เชเช• เช•เซ‹เชกเชฌเซ‡เชเชฎเชพเช‚ เชฌเซ‡เช•เชเชจเซเชก เช…เชจเซ‡ เชซเซเชฐเชจเซเชŸเชเชจเซเชกเชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡. เชธเช‚เช•เชฒเชจ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชฆเชฐเชฎเชฟเชฏเชพเชจ, เชธเชฐเซเชตเชฐ เชฌเชพเชœเซเชจเซ‡ เชฎเซ‚เชณ เช•เซ‹เชกเชฎเชพเช‚ เชธเช‚เช•เชฒเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เช…เชจเซ‡ เช‡เชจเซเชŸเชฐเชซเซ‡เชธเชจเซ‡ JavaScript เชฐเชœเซ‚เช†เชคเชฎเชพเช‚ เชฐเซ‚เชชเชพเช‚เชคเชฐเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชœเชพเชตเชพเชธเซเช•เซเชฐเชฟเชชเซเชŸเชฎเชพเช‚ เชฐเซ‚เชชเชพเช‚เชคเชฐเชฟเชค เช•เชฐเชพเชฏเซ‡เชฒเชพ เชธเชนเชฟเชค เชคเชฎเชพเชฎ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เช˜เชŸเช•เซ‹เชจเซเช‚ เชกเซ€เชฌเช—เซ€เช‚เช—, เชธเซ‹เชฐเซเชธ เชฎเซ‡เชช เชŸเซ‡เช•เซเชจเซ‹เชฒเซ‹เชœเซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ C++ เชธเซเชคเซเชฐเซ‹เชค เชŸเซ‡เช•เซเชธเซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชนเชพเชฅ เชงเชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ (เชœเซ‹ เช•เซ‹เชˆ เชญเซ‚เชฒ เชฅเชพเชฏ, เชคเซ‹ เชคเชฎเซ‡ C++ เช•เซ‹เชกเชจเซ‹ เชตเชฟเชญเชพเช— เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹, C++ เช•เซ‹เชกเชฎเชพเช‚ เชฌเซเชฐเซ‡เช•เชชเซ‹เช‡เชจเซเชŸ เชธเซ‡เชŸ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชฒเชพเช‡เชจ-เชฌเชพเชฏ-เชฒเชพเช‡เชจ เชธเซเชŸเซ‡เชช -C++ เช•เซ‹เชกเชจเซเช‚ เชฌเชพเชฏ-เชธเซเชŸเซ‡เชช เชเช•เซเชเซ‡เช•เซเชฏเซเชถเชจ เชธเชชเซ‹เชฐเซเชŸเซ‡เชก เช›เซ‡).

เชธเซ‹เชฐเซเชธ: opennet.ru

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹