URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 91985
[ Назад ]

Исходное сообщение
"Началось ограниченное бета-тестирование Duetto, компилятора ..."

Отправлено opennews , 03-Окт-13 12:26 
Объявлено (http://leaningtech.com/duetto/blog/2013/10/02/Preview-Duetto/) о начале ограниченного тестирования системы Duetto (http://leaningtech.com/duetto/), нацеленной на предоставление средств для разработки клиентских и серверных web-приложений на языке C++, а также выполнения портирования существующих C++ программ для их работы в Web-браузере. По своей сути Duetto напоминает систему Emscripten (http://www.opennet.me/opennews/art.shtml?num=35313) и также используется наработки LLVM для организации компиляции кода C++ в представление на языке JavaScript. По заявлению разработчиков Duetto ключевым отличием от Emscripten является достижение существенно более высокой производительности для результирующего кода с предоставлением поддержки (http://leaningtech.com/duetto/blog/2013/05/28/Comparing-to-a.../) использования всех возможностей DOM и HTML5, в том числе WebGL (http://leaningtech.com/duetto/blog/2013/07/16/CMake-Bullet-W.../). Duetto также поддерживает использование стандартных библиотек
libc и libc++, и позволяет применять инструменты сборки  cmake/autotool.

<center>
<div style="position: relative;" id="chart"><div dir="ltr" style="position: relative; width: 550px; height: 300px;"><div style="position: absolute; left: 0px; top: 0px; width: 100%; height: 100%;"><svg style="overflow: hidden;" height="300" width="550"><defs id="defs"><clipPath id="_ABSTRACT_RENDERER_ID_0"><rect height="185" width="356" y="58" x="97"></rect></clipPath></defs><g></g><g><rect fill="#000000" fill-opacity="0" stroke-width="0" stroke="none" height="84" width="77" y="58" x="463"></rect><g><rect fill="#000000" fill-opacity="0" stroke-width="0" stroke="none" height="10" width="77" y="58" x="463"></rect><g><text fill="#000000" stroke-width="0" stroke="none" font-size="10" font-family="Arial" y="66.5" x="477" text-anchor="start">Duetto V8</text></g><rect fill="#13f0d2" stroke-width="0" stroke="none" height="10" width="10" y="58" x="463"></rect></g><g><rect fill="#000000" fill-opacity="0" stroke-width="0" stroke="none" height="23" width="77" y="74" x="463"></rect><g><text fill="#000000" stroke-width="0" stroke="none" font-size="10" font-family="Arial" y="82.5" x="477" text-anchor="start">Emscripten</text><text fill="#000000" stroke-width="0" stroke="none" font-size="10" font-family="Arial" y="95.5" x="477" text-anchor="start">V8</text></g><rect fill="#ff0049" stroke-width="0" stroke="none" height="10" width="10" y="74" x="463"></rect></g><g><rect fill="#000000" fill-opacity="0" stroke-width="0" stroke="none" height="10" width="77" y="103" x="463"></rect><g><text fill="#000000" stroke-width="0" stroke="none" font-size="10" font-family="Arial" y="111.5" x="477" text-anchor="start">Duetto FF</text></g><rect fill="#219bf1" stroke-width="0" stroke="none" height="10" width="10" y="103" x="463"></rect></g><g><rect fill="#000000" fill-opacity="0" stroke-width="0" stroke="none" height="23" width="77" y="119" x="463"></rect><g><text fill="#000000" stroke-width="0" stroke="none" font-size="10" font-family="Arial" y="127.5" x="477" text-anchor="start">Emscripten</text><text fill="#000000" stroke-width="0" stroke="none" font-size="10" font-family="Arial" y="140.5" x="477" text-anchor="start">FF</text></g><rect fill="#ff009b" stroke-width="0" stroke="none" height="10" width="10" y="119" x="463"></rect></g></g><g><rect fill="#000000" fill-opacity="0" stroke-width="0" stroke="none" height="185" width="356" y="58" x="97"></rect><g clip-path="url(http://leaningtech.com/duetto/blog/2013/04/16/Unveiling-Duet...)"><g><rect fill="#444444" stroke-width="0" stroke="none" height="1" width="356" y="242" x="97"></rect><rect fill="#444444" stroke-width="0" stroke="none" height="1" width="356" y="222" x="97"></rect><rect fill="#444444" stroke-width="0" stroke="none" height="1" width="356" y="201" x="97"></rect><rect fill="#444444" stroke-width="0" stroke="none" height="1" width="356" y="181" x="97"></rect><rect fill="#444444" stroke-width="0" stroke="none" height="1" width="356" y="160" x="97"></rect><rect fill="#444444" stroke-width="0" stroke="none" height="1" width="356" y="140" x="97"></rect><rect fill="#444444" stroke-width="0" stroke="none" height="1" width="356" y="119" x="97"></rect><rect fill="#444444" stroke-width="0" stroke="none" height="1" width="356" y="99" x="97"></rect><rect fill="#444444" stroke-width="0" stroke="none" height="1" width="356" y="78" x="97"></rect><rect fill="#444444" stroke-width="0" stroke="none" height="1" width="356" y="58" x="97"></rect></g><g><rect fill="#13f0d2" stroke-width="0" stroke="none" height="16" width="8" y="226" x="109"></rect><rect fill="#13f0d2" stroke-width="0" stroke="none" height="21" width="8" y="221" x="168"></rect><rect fill="#13f0d2" stroke-width="0" stroke="none" height="14" width="8" y="228" x="227"></rect><rect fill="#13f0d2" stroke-width="0" stroke="none" height="22" width="8" y="220" x="287"></rect><rect fill="#13f0d2" stroke-width="0" stroke="none" height="35" width="8" y="207" x="346"></rect><rect fill="#13f0d2" stroke-width="0" stroke="none" height="15" width="8" y="227" x="405"></rect><rect fill="#ff0049" stroke-width="0" stroke="none" height="17" width="8" y="225" x="118"></rect><rect fill="#ff0049" stroke-width="0" stroke="none" height="30" width="8" y="212" x="177"></rect><rect fill="#ff0049" stroke-width="0" stroke="none" height="30" width="8" y="212" x="236"></rect><rect fill="#ff0049" stroke-width="0" stroke="none" height="53" width="8" y="189" x="296"></rect><rect fill="#ff0049" stroke-width="0" stroke="none" height="42" width="8" y="200" x="355"></rect><rect fill="#ff0049" stroke-width="0" stroke="none" height="22" width="8" y="220" x="414"></rect><rect fill="#219bf1" stroke-width="0" stroke="none" height="24" width="8" y="218" x="127"></rect><rect fill="#219bf1" stroke-width="0" stroke="none" height="62" width="8" y="180" x="186"></rect><rect fill="#219bf1" stroke-width="0" stroke="none" height="56" width="8" y="186" x="245"></rect><rect fill="#219bf1" stroke-width="0" stroke="none" height="117" width="8" y="125" x="305"></rect><rect fill="#219bf1" stroke-width="0" stroke="none" height="74" width="8" y="168" x="364"></rect><rect fill="#219bf1" stroke-width="0" stroke="none" height="39" width="8" y="203" x="423"></rect><rect fill="#ff009b" stroke-width="0" stroke="none" height="16" width="8" y="226" x="136"></rect><rect fill="#ff009b" stroke-width="0" stroke="none" height="96" width="8" y="146" x="195"></rect><rect fill="#ff009b" stroke-width="0" stroke="none" height="51" width="8" y="191" x="254"></rect><rect fill="#ff009b" stroke-width="0" stroke="none" height="163" width="8" y="79" x="314"></rect><rect fill="#ff009b" stroke-width="0" stroke="none" height="72" width="8" y="170" x="373"></rect><rect fill="#ff009b" stroke-width="0" stroke="none" height="57" width="8" y="185" x="432"></rect></g><g><rect fill="#333333" stroke-width="0" stroke="none" height="1" width="356" y="242" x="97"></rect></g></g><g></g><g><g><text fill="#000000" stroke-width="0" stroke="none" font-size="12" font-family="Arial" y="258.8666666666667" x="127.08333333333333" text-anchor="middle">primes</text></g><g><text fill="#000000" stroke-width="0" stroke="none" font-size="12" font-family="Arial" y="274.8666666666667" x="186.25" text-anchor="middle">memops</text></g><g><text fill="#000000" stroke-width="0" stroke="none" font-size="12" font-family="Arial" y="258.8666666666667" x="245.41666666666666" text-anchor="middle">corrections</text></g><g><text fill="#000000" stroke-width="0" stroke="none" font-size="12" font-family="Arial" y="274.8666666666667" x="304.5833333333333" text-anchor="middle">copy</text></g><g><text fill="#000000" stroke-width="0" stroke="none" font-size="12" font-family="Arial" y="258.8666666666667" x="363.75" text-anchor="middle">fasta*</text></g><g><text fill="#000000" stroke-width="0" stroke="none" font-size="12" font-family="Arial" y="274.8666666666667" x="422.91666666666663" text-anchor="middle">fann...

URL: http://leaningtech.com/duetto/blog/2013/10/02/Preview-Duetto/
Новость: http://www.opennet.me/opennews/art.shtml?num=38068


Содержание

Сообщения в этом обсуждении
"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено Аноним , 03-Окт-13 12:26 
и зачем оно надо?

"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено Аноним , 03-Окт-13 12:41 
Шобы JavaScript не учить, неосиляторам старой школы. С++ по моему и так хорош в своих областях.

"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено ВовкаОсиист , 03-Окт-13 14:03 
Ололо, ты хоть понял, что ляпнул?

"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено Аноним , 03-Окт-13 14:06 
Неосиляторы других ЯП есть везде, а уж среди С-пых-пых погромистов их бессчётное множество.

"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено szh , 03-Окт-13 14:22 
Есть куча софта и библиотек уже написанного на С/C++. Кроме того С++ посложнее javascript.
Теперь попробуй подумать еще раз.

"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено Аноним , 03-Окт-13 14:59 
Естественно С-пых-пых сложнее других ЯП, в нём реализовано столько ненужного и бестолкового функционала что это уже превысило все разумные пределы (ну или близко к этому).

"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено pavlinux , 03-Окт-13 15:17 
Дай угадаю, ни Java, ни С++ не знаешь?!  

"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено Аноним , 03-Окт-13 15:55 
О великий погромист объясни недалёкому человеку почему для определения "автоматически" определяемого возвращаемого типа в шаблонных функциях используется столь изящный синтаксис в котором сам погромист указывает как этот тип определить или почему функциям необходим constexpr для того чтобы определить результат во время компиляции? И в конце концов почему у с++ такой гениальный и простой синтаксис для работы с шаблонами?

"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено 0xd34df00d , 03-Окт-13 15:58 
> О великий погромист объясни недалёкому человеку почему для определения "автоматически"
> определяемого возвращаемого типа в шаблонных функциях используется столь изящный синтаксис
> в котором сам погромист указывает как этот тип определить

Потому что в C++ система типов не позволяет прикрутить полноценный вывод типов типа Хиндли-Милнера в ML-подобных языках, а обсуждение реализации своего варианта еще затянуло бы принятие C++11. В C++14 ты, впрочем, сможешь написать что-то типа
template<...>
auto foo(...) -> decltype(auto)
{
    // произвольно сложное тело с произвольным количеством return'ов
}

> или почему
> функциям необходим constexpr для того чтобы определить результат во время компиляции?

Определить результат можно и не во время компиляции. constexpr просто дает компилятору понять, что ты требуешь, чтобы результат можно было определить во время компиляции. Если захочешь функцию в аргументах темплейтов юзать, например. Требовать этого от каждой функции — бред, а с раздельной компиляцией по функции невозможно сказать же, вычислена она в компилтайме или нет.

> И в конце концов почему у с++ такой гениальный и простой
> синтаксис для работы с шаблонами?

Что именно тебе не нравится?


"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено Аноним , 03-Окт-13 16:26 
Второй вопрос и был зачем указывать constexpr что бы определит результат вовремя компиляции, почему нельзя без него. Почему в других ЯП это возможно было сделать а в С++ нет?

"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено 0xd34df00d , 03-Окт-13 16:29 
> Второй вопрос и был зачем указывать constexpr что бы определит результат вовремя
> компиляции, почему нельзя без него.

Зачем указывать const в функциях-членах, почему нельзя определить без него, что функция ничего (с точностью до mutable) не меняет?

> Почему в других ЯП это возможно
> было сделать а в С++ нет?

В каких языках с компил-тайм-шаблонами это можно?


"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено Аноним , 03-Окт-13 16:39 
D, нужно ли вычислять результат функции во время компиляции определяется в зависимости от контекста использования функции.

"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено 0xd34df00d , 03-Окт-13 20:32 
А, ну так все вопросы к отсутствию в плюсах нормальных модулей, что произрастает из-за обратной совместимости с сишечкой. Хотя надо стандарт посмотреть-почитать подробнее.

"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено pavlinux , 03-Окт-13 16:05 
>  почему ...

А яебу, я ни С++ ни Java не знаю, и знать не хочу. :)


"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено Аноним , 03-Окт-13 16:15 
А зачем вы тогда задаёт эти вопросы?

"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено Анончик , 03-Окт-13 20:38 
Потому что уровень интеллекта такой

"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено kurokaze , 03-Окт-13 23:30 
>Естественно С-пых-пых сложнее других ЯП, в нём реализовано столько ненужного и бестолкового функционала что это уже превысило все разумные пределы

К счастью у нормальных людей оные пределы на порядок шире твоих


"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено vitalif , 03-Окт-13 17:09 
Дааааааааа! А теперь давайте их все перекомпилим в яваскрипт, х*ле там! :D:D:D:D

"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено Анончик , 03-Окт-13 20:40 
> Дааааааааа! А теперь давайте их все перекомпилим в яваскрипт, х*ле там! :D:D:D:D

Именно, можно будет сосредоточиться на доводке производительности до уровня Си, ну и сделать сантиксис вкуснее.


"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено Аноним , 03-Окт-13 14:18 
> Шобы JavaScript не учить, неосиляторам старой школы.

Прикалываешься? Чего там осиливать? Любой сиплюсплюсник на JS будет фигарить только в путь. А вот если JSника посадить с++ юзать - он опухнет в два счета.


"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено 0xd34df00d , 03-Окт-13 15:22 
У каждого языка свои парадигмы и свои идеи. В том же JS — прототипное наследование, больно динамическая типизация, и так далее. Фигарить-то плюсплюсник, может, и будет, но результат будет уж больно плюсовым.

Лучше на JS не писать, чем писать на JS как на плюсах.

Я сиплюсплюсник есличо, да.


"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено тоже Аноним , 03-Окт-13 15:24 
Ну, не совсем так. Крестовик на JS писать, конечно, сможет, но эффективно использовать его (простите за каламбур) плюсы сможет только после дополнительного обучения.
Другое дело, что этот транслятор вряд ли блещет интеллектом, и его результат будет заведомо более убогим, чем это сделал бы как JS-, так и C++-программист.

А уж простыни с примитивной логикой при желании вообще переводятся из крестов в скрипты регулярками. Что, видимо, и служит основой всего этого проекта...


"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено angra , 03-Окт-13 18:46 
Очень распространенное заблуждение. Результаты подобного подхода регулярно наблюдаю и они весьма печальны. Хорошие Сшники пишут очень хреновый код даже на PHP, куда там на js. А все дело в опухшем ЧСВ, которое не позволяет им спустится с небес и серьезно изучить скриптовый язык.

"Началось ограниченное бета-тестирование Duetto,..."
Отправлено arisu , 04-Окт-13 03:53 
> Любой сиплюсплюсник на JS будет фигарить только в путь.

«фигарить»-то, может, и будет. а вот нормальный код писать — не факт.


"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено Пиу , 03-Окт-13 16:51 
чтобы писать на нормальном языке (c++), а не на таком дерьме как javascript

"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено Аноним , 03-Окт-13 21:26 
Ну не знаю ... со стороны они оба ... не конфетки :)

"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено kurokaze , 03-Окт-13 23:32 
это ты гвидобейсика не видал

"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено Аноним , 03-Окт-13 13:39 
А нет такой же "полезной", но из Фортрана в Похапэ?

"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено Аноним , 03-Окт-13 14:04 
> А нет такой же "полезной", но из Фортрана в Похапэ?

Оттранслируй его в си. Потом закомпиль emscripten'ом в биткод LLVM и перегони в JS. Это конечно не PHP, но тоже ничего. Особенно если запускать в браузере на виртуалке, которую запустили на эмуляторе x86 работающем на ARM. Всего неделя на загрузку и счет - и результат у вас в кармане! Новые горизонты производительности!


"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено AnonuS , 04-Окт-13 03:20 
Нет, надо искать !

"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено Филипп Филиппович , 03-Окт-13 14:57 
Работы на C++ не принимают на паралимпиаде по программированию, поэтому и возникает необходимость во всём этом. :-D А если серьёзно, то мне кажется, что через 5-10 лет будет очень интересно. Пока переезда полновесных приложений в браузеры как в системно-независимую среду выполнения надо ещё подождать, пока это всё ещё игрушки, хотя и многообещающие. И переезд когда-нибудь да состоится...

"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено 0xd34df00d , 03-Окт-13 15:23 
> Пока переезда полновесных приложений
> в браузеры как в системно-независимую среду выполнения надо ещё подождать, пока
> это всё ещё игрушки, хотя и многообещающие. И переезд когда-нибудь да
> состоится...

Нет. http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/


"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено Филипп Филиппович , 03-Окт-13 17:30 
Да спору нет, что языки с динамической типизацией и поиском переменных/полей по имени (с которым в реализациях борются, но который нельзя побороть до конца) -- принципиально медленные и плохо поддаются оптимизации, даже если их компилировать в нативный код. Да, JS -- очень скверный ассемблер, т.к. вообще не для этого разрабатывался. :-) И тем не менее, уже всего-то -- пять раз, если верить этой статье. А для многих приложений даже это близко к приемлемому уже сейчас. Жаль, что разумной альтернативы JS, которая была бы настолько же переносима, пока нет. Но, может быть, ещё будет... А пока есть то, что есть, и уже с ним результаты довольно интересны. Тенденция очевидна. И если подобный высокоуровневый ассемблер нужен (а он нужен, единое окружение для исполнения программ -- это ПРАВИЛЬНО), он появится и станет стандартом де-факто. И уж за десять лет что-нибудь должно, просто обязано созреть. Так что всё будет. Но, конечно, не сразу. :-)

К слову сказать, для того, чтобы сделать JS намного более пригодным на роль ассемблера нужно ввести в язык всего несколько изменений, всего несколько новый конструкций. Операции с полностью явным указанием типов. Особый вариант поиска переменной/поля, который целиком бы рассчитывал на то, что объект или область видимости, в которых поле ищется, не имеет динамически добавленых по сравнению с изначальным шаблоном (который, собственно, тоже надо декларировать -- это ещё одна конструкция) полей. Всего три добавления, причём неважно, насколько новый синтаксис будет удобен для использования человеком, это всего лишь средство сделать JS пригодным на роль промежуточного переносимого языка, на котором будет генерироваться эффективный код. Все эти сборки или не сборки мусора, всё это пройдёт, уж эти проблемы решатся непременно, они уже во многом решены. Настоящее зло -- работа с любым типом данных ТОЛЬКО как с неизвестным и потенциальная необходимость поиска по имени.


"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено Иван Лох , 03-Окт-13 19:10 
http://asmjs.org/

"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено Ф.Ф. , 03-Окт-13 23:11 
Вот-вот, уже всего лишь в два раза, а не в пять. И это просто подмножество языка, работающее и в обычном движке.


"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено Аноним , 03-Окт-13 21:30 
Филипп Филиппович, ты перед тем как такие простыни рожать - зайди в гугел и спроси про JVM :)
"единое окружение для исполнения программ" - уже есть ... а толку то? :)
Так что выдохни, прими стопарик и марш кодить!


"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено Ф.Ф. , 03-Окт-13 23:07 
Если для того, чтобы узнать про JVM вам нужен гугель, то боюсь делать предположения о вашем возрасте. Объективно к единой среде всё равно придёт.

"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено AnonuS , 04-Окт-13 03:25 
> Если для того, чтобы узнать про JVM вам нужен гугель, то боюсь
> делать предположения о вашем возрасте. Объективно к единой среде всё равно
> придёт.

Филипыч, тебе про виртуальную машину и  твой ЕДИНЫЙ АССЕМБЛЕР ( он же в просторечии байткод ) мой анонимный брат толкует, а ты на тему возраста съехал.

Прими таки стопарик и глубоко выдохни.


"Началось ограниченное бета-тестирование Duetto,..."
Отправлено arisu , 04-Окт-13 04:14 
> Настоящее зло — работа с любым типом данных ТОЛЬКО как с неизвестным
> и потенциальная необходимость поиска по имени.

вот же фигня-то… как раз это вполне решается хитрым PIC'ом и tracing JIT compiler'ами. а вот сборка мусора как раз moving target, и до сих пор штука весьма проблемная.

собственно, по одной этой цитате уровень твоей компетентности вполне ясен.


"Началось ограниченное бета-тестирование Duetto,..."
Отправлено Филипп Филиппович , 05-Окт-13 19:02 
Tracing JIT, нет, ну надо же, уровень понимания! И эти люди запрещают мне в носу ковыряться!

"Началось ограниченное бета-тестирование Duetto,..."
Отправлено arisu , 05-Окт-13 19:27 
> И эти люди запрещают мне в носу ковыряться!

что ты, ковыряйся! и с дерева тоже можешь не слезать.


"Началось ограниченное бета-тестирование Duetto,..."
Отправлено arisu , 04-Окт-13 03:59 
> Нет. http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/

ну так это JIT-ы хреновые. и сам JS не фонтан. LuaJIT2, например, показывает весьма и весьма нехилую производительность, при этом не страдает, например, плюсами и мозголомной архитектурой, как V8. а если найдутся спонсоры, СуперМайк обещает и одно из оставшихся мегатормозных мест добить — сборщик мусора. хотя LJ2 и так достаточно неплохо справляется с уничтожением лишних аллокаций.


"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Отправлено kurokaze , 03-Окт-13 23:33 
>Работы на C++ не принимают на паралимпиаде по программированию

Как ты тонко потролил неплюсовиков