|
|
|
Sardar |
|
||||
Бегун Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: нет Всего: 317 |
4Мб или 4.Е6 элементов? В принципе в 4Мб много ссылок и примитивов влезет, но это сильное ограничение... У себя со строками хорошо провернул, не мутируемые, созданные из блоков и связанных списков "указателей" на части блоков. Это помогает не транжирить память при многих строковых операциях, например "test: " + 90 +"Mb" или "[pad]" * 3 (создать новую строку как сложив "[pad]" три раза), также подстроки и другое. Цена этому накладные расходы при чтении строк, например выбирать посимвольно charAt(индекс) будет жутко не эффективно, но решением будет открыть stream на строке и читать её как поток символов (текущую позицию сохраняет "драйвер" потока для строк и не прыгает по блокам). Xотя это всё overkill для простого шаблонизатора вебстраничек для вебинтерфейса мудрёной железки
Не думаю, ведь серьёзно Fortress пока не обсуждаем, только гадаем что вкусного у него есть + просто свои мысли, полезно читая спецификацию врубаться как же оно реализовываеться -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||
|
|||||
Cr@$h |
|
||||
Исследователь Профиль Группа: Участник Клуба Сообщений: 1693 Регистрация: 3.4.2005 Где: Санкт-Петербург, Россия Репутация: 4 Всего: 41 |
Это я имел в виду. Конечно .Net та же будет одна. Но все равно, как пользователю выбирать и настраивать кодогенератор. Сейчас по оптимизации много фич накрутили: можно даже автопрофилирование делать -- прога запускается и во время своей "стандартной работы" кидает "какую-то" хитрую инфу в отдеьный файл. Потом компилируешь снова, указываешь использовать наработанный файл. На основе него он делает оптимизацию, и при стандартной работе твоя прога ведет себя довольно шустро. Компиляция в MSIL -- вещь не благодарная. Там же все в простых терминах написано, на псевдо ассемблере, а про саму библиотеку .Net я вообще молчу -- она же вообще не должна компилиться, на сколько я знаю, стоит себе и стоит под Виндой. Заботливый компилятор показывает, какие циклы векторизовались, какие нет, почему так и т.д. А тут у него один MSIL. А ведь векторизация -- это грубо увеличение скорости работы цикла со стандартными операциями во столько раз, сколько АЛУ по плавающей точе установлено на проце. У камней с SSE3 их, кажись, 4. Актуально, не правда ли? Про управляемый код -- можешь обозвать любой язык .Net'ом (например, MC++) и использовать для него соотв. компилятор, но, объясняя все в терминах MSIL, особо не разгонишься, никакой специфики проца. А выполнять его будет только CLR, на к. покушаться третьим лицам не разрешено вообще-то.
Да мне бы матрицу или массив освободить самому через какой-нить deallocate -- так ведь и этого не дают. Sun этим серьехно занилась. Слышал тестирования и разработка и в Питере проходит. |
||||
|
|||||
Void |
|
|||
λcat.lolcat Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 6 Всего: 173 |
4 миллиона элементов (ну и соответственно 16 Мб). Для float array - только 2 млн., потому что компилятор трактует массив вещественных чисел особым образом, храня их сразу в unboxed виде. Кстати, вот в этом документе описывается интересная структура данных VList, с амортизированным временем конкатенации и произвольного доступа к элементу в O(1), при некоторой избыточности по памяти. Я знаю, что такое векторизация Правда, на плавающей арифметике двойной точности больше двухкратного ускорения получить сложновато. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
Cr@$h |
|
|||
Исследователь Профиль Группа: Участник Клуба Сообщений: 1693 Регистрация: 3.4.2005 Где: Санкт-Петербург, Россия Репутация: 4 Всего: 41 |
Будет 8 АЛУ с регистрами длиною в 8 байт -- будет в восемь раз прирост, грубо, конечно. Но мы отошли. Так или иначе от управляемого кода никто уходить не собирается, и незачем, поэтому обязательно что-то придумают и для аппаратной специфики... |
|||
|
||||
regis |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 232 Регистрация: 12.12.2005 Где: Москва, Россия Репутация: 2 Всего: 7 |
Занятно: хотя название предполагает родство с Фортраном, язык значительно больше напоминает APL. Также собственный набор символов, близость к нормальной математической нотации, мощная матричная алгебра и пр. Но идея может быть и неплохая.
--------------------
В. В чем разница между hardware и software?О. В отличие от второго, по первому можно двинуть кулаком или пнуть ногой. |
|||
|
||||
Добро пожаловать в раздел "Другие языки" форума Vingrad! | |
|
Раздел посвящён различным языкам программирования, для которых (в силу невысокой популярности) нет отдельного раздела (GPSS, Lua, MATLAB, Ada, Forth, Smalltalk, Tcl, REXX, AWK и др.)
Приятного времяпрепровождения! С уважением, Void, kemiisto . |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Другие языки | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |