Re[24]: MS больше не будет создавать ПО для Итаниума
От: CreatorCray  
Дата: 21.04.10 05:52
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Там не десяток функций ядра, а правктически все ядро.

PD>Ну а если ты считаешь, что кодек сложнее ОС — о чем тогда говорить ?
Алгоритмически — вполне молет быть и сложнее.
Вообще не понятно к чему ты тут это бинаремеряние развёл.
Объём бинарного кода в общем случае слабо связан со сложностью реализуемых им алгоритмов.
Например если посмотреть на demoscene в номинациях <=64k то окажется что колво сложной математики на единицу объёма там рвёт ядро ОС как тузик грелку.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[25]: MS больше не будет создавать ПО для Итаниума
От: Pavel Dvorkin Россия  
Дата: 21.04.10 06:45
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Алгоритмически — вполне молет быть и сложнее.


Может, и еще как. Но я про алгоритмическую сложность не говорил.

CC>Вообще не понятно к чему ты тут это бинаремеряние развёл.

CC>Объём бинарного кода в общем случае слабо связан со сложностью реализуемых им алгоритмов.

Совершенно верно. Я просто пытаюсь объяснить, что если код, зависимый от употребления или неупотребления SSE, вынести в отдельную DLL да так, чтобы там ничего, кроме этого кода не было, да сделать несколько таких DLL (без SSE / SSE1 /SSE2...), то размер инсталляционного пакета изменится незначительно.
With best regards
Pavel Dvorkin
Re[26]: MS больше не будет создавать ПО для Итаниума
От: CreatorCray  
Дата: 21.04.10 06:50
Оценка: 1 (1)
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Совершенно верно. Я просто пытаюсь объяснить, что если код, зависимый от употребления или неупотребления SSE, вынести в отдельную DLL да так, чтобы там ничего, кроме этого кода не было, да сделать несколько таких DLL (без SSE / SSE1 /SSE2...), то размер инсталляционного пакета изменится незначительно.


Всё давно уже придумано.
http://www.intel.com/software/products/compilers/docs/flin/main_for/copts/common_options/option_ax_lcase.htm
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[22]: MS больше не будет создавать ПО для Итаниума
От: vdimas Россия  
Дата: 21.04.10 08:05
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:


V>>Это все-равно организационные проблемы. Там где я сейчас пишу float a = b * 0.99f, я должен буду писать нечто вроде float a = b * literals.value_0_99f.


PD>Решительно не понимаю — зачем. Во-первых, писать так — float a = b * 0.99f — дурной тон, сам знаешь почему.


В автогенеренном коде, который генерится из того же matlab — очень даже не дурной, ровно наоборот.


PD>Я предложил все вычисления, связанные с SSE, вынести в DLL. Никаких особых организационных проблем тут нет. Берешь функцию, переносишь в DLL. Если тебя смущает thunk, то могу тебе сообщить, что там всего лишь одна команда косвенного перехода и на фоне твоей числодробилки это совершенный пустяк. Никогда не слышал, чтобы кто-то жаловался на проблемы, связанные с выносом кода в DLL.


Это ты на много постов в день похоже отвечаешь.
Сами ф-ии и вынесены, я возразил против выноса в общую DLL данных, которые используют эти ф-ии (3 их вида на разные SSE). Ибо thunk для доступа к данным — это уже как повезет с оптимизацией. Если хватит регистров — возможно, что данные будут загружены один раз, если не хватит — то в каждой итерации цикла. Да и вообще, нафига мне косвенная адресация на ровном месте?

PD>Господи, какие пустяки. Сколько у тебя там этих литералов, сотни тысяч, миллионы ? Если так — вынеси их в отдельную секцию. Если нет — не морочь себе голову.


Вот именно, что их не миллионы, т.е. вынос литералов ничего толком не сэкономит, а работы мне прибавит даже боюсь представить сколько.

PD>Кстати, компилятор склеивает именно литералы, то есть строки


Чего-чего? Что есть литерал? С-строка времени исполнения? Или символьное представление любых данных времени компиляции? Ты чего там студентам преподаешь-то?

Первоначально литерал в программировании — это символьное представление значения, которое преобразуется в само значение компилятором. В "жаргонном" и более узком смысле литералом называют константы, требующие память для размещения (наверняка из-за влияния С).

PD>Насчет склеивания числовых констант — не слышал. И уж вряд ли линкер (а не компилятор) будет их склеивать из разных статических либ.


И будет и склеивает, в том и фишка link-time codegeneration.
GCC тоже частично это уже умеет, правда пока только для С.

V>>Оно не в браузере работает, оно через него только ставится.


PD>Зачем ? Чем не устраивает обычный способ : загрузить инсталлятор и запустить ? Только вторым кликом ?


Я же уже говорил, что инсталлятор могут запускать только привелигированные пользователи, в отличие от приложений click-once.
Re[24]: MS больше не будет создавать ПО для Итаниума
От: vdimas Россия  
Дата: 21.04.10 08:16
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Там не десяток функций ядра, а правктически все ядро.

PD>Ну а если ты считаешь, что кодек сложнее ОС — о чем тогда говорить ?

Назови хоть один из алгоритмов ядра ОС, который действительно тяжеловесен в плане объема кода?


PD>>>И это далеко не все. И про win32k.sys я могу такое же найти.


V>>И что оно даст? Вот что дает то, что ты смог найти?


V>>ShellDll32.dll сегмент .text = 2M

V>>Это в твою пользу или мою?

PD>В мою. Это приличная , большая часть всего explorer, со всеми его интерефейсами, коих совсем не мало.


Да что ты? А как же ADVAPI32, BrowseUI, SHDOCVW, IEFRAME и т.д. до бесконечности?

V>>И вообще, вместо приведения примеров бог весть чего, не имеющего отношения ни к чему, просто спросил бы, что у меня там? У меня там пара десятков аудио-фильтров, миксеры, пред/пост обработчики речи, кодеки (как аудио, так и видео), генераторы, детекторы речи, компрессоры/декомпрессоры и т.д.


PD>Приведи размер секции кода твоей DLL, будет ясно.


.text около 750k.
Re[11]: Устарели???
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 21.04.10 08:21
Оценка: +2
Здравствуйте, Sheridan, Вы писали:

k>> Вот когда ты сумеешь принести домой этот кинотеатр — тогда вернёмся к этому разговору.

S> Зачем?
Затем, что речь шла о домашнем видео.

S>Да почти любой hd-медиаплеер имеет на борту камень с частотой сильно меньше гигагерца.

"Почти любой hd-медиаплеер" имеет на борту аппаратный декодер, мы же говорим о компе с процом общего назначения.
[КУ] оккупировала армия.
Re[12]: странная у тебя логика
От: vdimas Россия  
Дата: 21.04.10 08:23
Оценка:
Здравствуйте, Mamut, Вы писали:


M>а что преводить? spawn вместо createthread — и вперед.


Ну так на сколько изменится в плане кода?
И на сколько в плане эффективности? Я же не ради забавы параллелить хочу.


M>другое дело, когда нам ВНЕЗАПНО понадобится следить за количеством запущенных потоков, отслеживать их аварийные и неаварийнйые завершения.


Мне не надо, если оно в моей задаче упало, то упало, продолжать дальше смысла нет.

M>Да еще желательно не на одном комптютере в сети И начнутся ручные закаты солнца.


Это не по моей специфике.


M>Ключевое выделено. Именно это и есть Эрланг и то, что есть в Эрланге.


Нет, Эрланг — это тормоза и еще раз тормоза. Это то, что и есть Эрланг и то, что есть в Эрланге. Использовать его как высокоуровневый диспетчер логических потоков — еще куда ни шло. Вычислять что-то в нем — нет смысла.

V>>На самом деле там не все так просто, "тупое" и автоматическое распараллеливание лишь ухудшает общие показатели.


M>Про тупое никто и не говорит


А умного готового и нет, все-равно ручками надо конкретный вычислительный алгоритм доводить, тут помощь от конкретного языка не сильная.
Re[13]: странная у тебя логика
От: Mamut Швеция http://dmitriid.com
Дата: 21.04.10 08:46
Оценка:
M>>а что преводить? spawn вместо createthread — и вперед.

V>Ну так на сколько изменится в плане кода?

V>И на сколько в плане эффективности? Я же не ради забавы параллелить хочу.


Черт. Вот почему ты с непонятным упорство клонишь в числодробление? Здесь кто-то спорит с тем, что для числодробления Эрланг не подходит? Напомнить контекст
Автор: Antikrot
Дата: 19.04.10
?


dmitriid.comGitHubLinkedIn
Re[23]: MS больше не будет создавать ПО для Итаниума
От: Pavel Dvorkin Россия  
Дата: 21.04.10 08:58
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Здравствуйте, Pavel Dvorkin, Вы писали:



V>>>Это все-равно организационные проблемы. Там где я сейчас пишу float a = b * 0.99f, я должен буду писать нечто вроде float a = b * literals.value_0_99f.


PD>>Решительно не понимаю — зачем. Во-первых, писать так — float a = b * 0.99f — дурной тон, сам знаешь почему.


V>В автогенеренном коде, который генерится из того же matlab — очень даже не дурной, ровно наоборот.


М-да, ну и аргумент...


PD>>Я предложил все вычисления, связанные с SSE, вынести в DLL. Никаких особых организационных проблем тут нет. Берешь функцию, переносишь в DLL. Если тебя смущает thunk, то могу тебе сообщить, что там всего лишь одна команда косвенного перехода и на фоне твоей числодробилки это совершенный пустяк. Никогда не слышал, чтобы кто-то жаловался на проблемы, связанные с выносом кода в DLL.


V>Это ты на много постов в день похоже отвечаешь.


Возможно.

V>Сами ф-ии и вынесены, я возразил против выноса в общую DLL данных, которые используют эти ф-ии (3 их вида на разные SSE). Ибо thunk для доступа к данным — это уже как повезет с оптимизацией.


Я же тебе объяснил, что для доступа к данным из DLL не нужен thunk, а можно сделать общую секцию. Если тебе этот доступ нужен вне DLL.


>Если хватит регистров — возможно, что данные будут загружены один раз, если не хватит — то в каждой итерации цикла. Да и вообще, нафига мне косвенная адресация на ровном месте?


ИМХО там не будет никакой косвенной адресации. См. #pragma dataseg.

PD>>Господи, какие пустяки. Сколько у тебя там этих литералов, сотни тысяч, миллионы ? Если так — вынеси их в отдельную секцию. Если нет — не морочь себе голову.


V>Вот именно, что их не миллионы, т.е. вынос литералов ничего толком не сэкономит, а работы мне прибавит даже боюсь представить сколько.


А если их не миллионы, то что тебя так заботит их объединение ? Ну будут у тебя в DLL один 4-байтник со значением 0.99, а в EXE — другой, тоже со значением 0.99. Ну и что ? Если бы миллионы были — я бы понял.


PD>>Кстати, компилятор склеивает именно литералы, то есть строки


V>Чего-чего? Что есть литерал? С-строка времени исполнения? Или символьное представление любых данных времени компиляции? Ты чего там студентам преподаешь-то?


Ты чего мне голову морочишь ? Что такое литерал в твоем понимании — это твое дело. А компилятор склеивает именно текстовые строки. Еще раз, подробнее. Выделено мной.

/GF (Eliminate Duplicate Strings)
Enables the compiler to create a single copy of identical strings in the program image and in memory during execution, resulting in smaller programs, an optimization called string pooling.
/GF pools strings as read-only
If you use /GF, the operating system does not swap the string portion of memory and can read the strings back from the image file. If you try to modify strings under /GF, an application error occurs.

String pooling allows what were intended as multiple pointers to multiple buffers to be as multiple pointers to a single buffer. In the following code, s and t are initialized with the same string. String pooling causes them to point to the same memory:

Copy Code
char *s = "This is a character buffer";
char *t = "This is a character buffer";

Понимаешь — string pooling. String (в смысле С), а не чего угодно. Вот в этом примере компилятор сделает одну строку "This is a character buffer", а не две. И то он это сделает, если эти строки находятся в одной единице компиляции ИМХО. Впрочем, за последнее не поручусь.

Так что если у тебя есть вот такое

char *p = "0.99";
char *t = "0.99";

то их склеят. Хотя и неясно, зачем так вещественные числа хранить.

А вот насчет такого

// глобальные переменные
float f1= 0.99;
float f2= 0.99;

ИМХО никакого склеивания не будет, а будут два четырехбайтника в секции .data со значением 0.99f.

V>Первоначально литерал в программировании — это символьное представление значения, которое преобразуется в само значение компилятором.


Вот тебе два таких символьных представления , которые и будут преобразованы.


>В "жаргонном" и более узком смысле литералом называют константы, требующие память для размещения (наверняка из-за влияния С).


М-да... А не мог бы ты привести пример константы, не требующей памяти для размещения ? Я как-то плохо это себе представляю — константа есть, а памяти ей никак не надо . Только не вздумай мне говорить, что можно ее прямо в коде разместить — на это тоже память нужна.

PD>>Насчет склеивания числовых констант — не слышал. И уж вряд ли линкер (а не компилятор) будет их склеивать из разных статических либ.


V>И будет и склеивает, в том и фишка link-time codegeneration.

V>GCC тоже частично это уже умеет, правда пока только для С.

Можно подробнее ? Со ссылками ? Я — не понимаю.

// глобальные переменные
float f1= 0.99;
float f2= 0.99;

Ты утверждаешь, что их склеят ? То есть в секции .data будет... впрочем, что будет ? Я вообще не пойму, что там может быть, если их склеить. Это же не указатели, и не на read-only память.
With best regards
Pavel Dvorkin
Re[12]: Устарели???
От: vdimas Россия  
Дата: 21.04.10 08:59
Оценка:
Здравствуйте, koandrew, Вы писали:

S>>Да почти любой hd-медиаплеер имеет на борту камень с частотой сильно меньше гигагерца.

K>"Почти любой hd-медиаплеер" имеет на борту аппаратный декодер, мы же говорим о компе с процом общего назначения.

Опаньки... Что есть, по-твоему, "аппаратный декодер"?
Re[14]: странная у тебя логика
От: vdimas Россия  
Дата: 21.04.10 09:01
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Черт. Вот почему ты с непонятным упорство клонишь в числодробление? Здесь кто-то спорит с тем, что для числодробления Эрланг не подходит? Напомнить контекст
Автор: Antikrot
Дата: 19.04.10
?


По той же причине, зачем вообще в форумах участвую. Вдруг коллеги чего полезного расскажут для МОИХ задач.
Re[25]: MS больше не будет создавать ПО для Итаниума
От: Pavel Dvorkin Россия  
Дата: 21.04.10 09:08
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Здравствуйте, Pavel Dvorkin, Вы писали:


PD>>Там не десяток функций ядра, а правктически все ядро.

PD>>Ну а если ты считаешь, что кодек сложнее ОС — о чем тогда говорить ?

V>Назови хоть один из алгоритмов ядра ОС, который действительно тяжеловесен в плане объема кода?


Один ? Один, какой я ни назови, ты опровергать начнешь. Потому что один — действительно не может иметь большого объема кода. А вот все вместе...

PD>>>>И это далеко не все. И про win32k.sys я могу такое же найти.


V>>>И что оно даст? Вот что дает то, что ты смог найти?


V>>>ShellDll32.dll сегмент .text = 2M

V>>>Это в твою пользу или мою?

PD>>В мою. Это приличная , большая часть всего explorer, со всеми его интерефейсами, коих совсем не мало.


V>Да что ты? А как же ADVAPI32, BrowseUI, SHDOCVW, IEFRAME и т.д. до бесконечности?


Я же не сказал, что вся. А только большая.

V>>>И вообще, вместо приведения примеров бог весть чего, не имеющего отношения ни к чему, просто спросил бы, что у меня там? У меня там пара десятков аудио-фильтров, миксеры, пред/пост обработчики речи, кодеки (как аудио, так и видео), генераторы, детекторы речи, компрессоры/декомпрессоры и т.д.


PD>>Приведи размер секции кода твоей DLL, будет ясно.


V>.text около 750k.


И сколько времени писал ? Сколько человеко-часов ушло, считая с версии 0.0 ?
With best regards
Pavel Dvorkin
Re[3]: гы
От: Eugeny__ Украина  
Дата: 21.04.10 09:25
Оценка: +1 -4
Здравствуйте, Sheridan, Вы писали:

S>Приветствую, CreatorCray, вы писали:


CC>> Та же гуглопочта — там полно нужных скриптов. Раньше это было просто невозможно, т.к. у юзера это бы дико тормозило.


S>thebat, kmail — про них уже както забыли наверное?


Если честно, с появлением гмыла я с радостью отказался от специальных клиентов для почты. Они — тупо лишнее звено. Были актуальны 10 лет назад только потому, что интернет был хреновый и дорогой, и вообще не всегда был, потому копии писем лучше было хранить локально. Сейчас интернет доступен даже в лесу(с телефона), а уж настольных компов без подключения к сети я уже несколько лет в глаза не видел. Поэтому почтовые клиенты для меня напрочь потеряли смысл.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Re[5]: Устарели???
От: alpha21264 СССР  
Дата: 21.04.10 09:33
Оценка:
Здравствуйте, LuciferSaratov, Вы писали:

LS>Здравствуйте, sndanil, Вы писали:


S>>Здравствуйте, Torie, Вы писали:


T>>>Попробуем с другой стороны Для каких задач обычного юзера не хватало процессоров 10-летней давности?


S>>Full HD Video? Crysis (и еще целая куча игрушек)?


LS>Какое там Full HD, на 10-летнем проце даже интернет (рендеринг страниц и интерпретация яваскрипта на них) сегодня тормозить будет нещадно.


Не тормозит. РМ 1200 МГц. Вентилятор иногда жужжит, но отрисовка не тормозит.
И вообще, КДЕ показывает что большую часть времени он работает на частоте 300 МГц.

Течёт вода Кубань-реки куда велят большевики.
Re[6]: Устарели???
От: LuciferSaratov Россия  
Дата: 21.04.10 09:37
Оценка: +1
Здравствуйте, alpha21264, Вы писали:

A>Не тормозит. РМ 1200 МГц. Вентилятор иногда жужжит, но отрисовка не тормозит.

A>И вообще, КДЕ показывает что большую часть времени он работает на частоте 300 МГц.

У тебя там поди Noscript с AdBlock'ом, которые львиную долю тормозов со страниц вырезают.
Ну и тормоза — дело субъективное, я все же думаю, что на мощном процессоре все это будет работать заметно приятнее. Я вот замечаю, что страницы на нетбуке рисуются тормознее, чем на десктопной машине.
Re[4]: гы
От: Sheridan Россия  
Дата: 21.04.10 09:38
Оценка:
Приветствую, Eugeny__, вы писали:

E> Если честно, с появлением гмыла я с радостью отказался от специальных клиентов для почты. Они — тупо лишнее звено. Были актуальны 10 лет назад только потому, что интернет был хреновый и дорогой, и вообще не всегда был, потому копии писем лучше было хранить локально. Сейчас интернет доступен даже в лесу(с телефона), а уж настольных компов без подключения к сети я уже несколько лет в глаза не видел. Поэтому почтовые клиенты для меня напрочь потеряли смысл.


Молодец, говоришь про себя.
avalon 1.0rc3 rev 306, zlib 1.2.3 (17.12.2009 01:06:14 MSK +03:00)(Qt 4.6.0)
Matrix has you...
Re[13]: Устарели???
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 21.04.10 09:41
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Опаньки... Что есть, по-твоему, "аппаратный декодер"?


Аппаратный декодер — это такая микросхемка, которая умеет только одну вещь — декодировать видео. Детали чипа, к примеру, моего плейера ASUS O!PLAY AIR, под NDA, но из общих соображений и некоторого опыта в этой сфере могу предположить, что там много-много потоковых микроядер, выполняющих декодирование с высокой степенью параллелизма. А теперь покажите мне такие микроядра (причём много микроядер!) в CPU и будем считать вопрос закрытым.
[КУ] оккупировала армия.
Re[24]: MS больше не будет создавать ПО для Итаниума
От: vdimas Россия  
Дата: 21.04.10 09:41
Оценка: 1 (1) +1
Здравствуйте, Pavel Dvorkin, Вы писали:


PD>А вот насчет такого


PD>// глобальные переменные

PD>float f1= 0.99;
PD>float f2= 0.99;

PD>ИМХО никакого склеивания не будет, а будут два четырехбайтника в секции .data со значением 0.99f.


Речь шла не о глобальных переменных, а о вещественных литералах, которые, в отличие от целочисленных констант, кодируемых прямо в опкодах, тоже размещаются в секции .data, но при этом спокойно склеиваются компилятором в процессе оптимизации.

Вот простой код (добавил printf, чтобы оптимизатор не выкидывал код):

const double a_0_1 = 0.1;
const double b_0_1 = 0.1;

int _tmain(int argc, _TCHAR* argv[])
{
    int i = (int)pow(a_0_1, 0.2);
    int j = (int)pow(b_0_1, 0.3);
    printf("%d, %d", i, j);

    return 0;
}


Вот тебе с оптимизацией:

    int i = (int)pow(a_0_1, 0.2);
00401006  fld         qword ptr [4020F8h] 
0040100C  fld         qword ptr [402118h] 
00401012  call        _CIpow (401840h) 
00401017  sub         esp,8 
    int j = (int)pow(b_0_1, 0.3);
0040101A  fstp        qword ptr [esp] 
0040101D  fld         qword ptr [4020F8h] 
00401023  fld         qword ptr [402110h] 
00401029  call        _CIpow (401840h) 
0040102E  sub         esp,8 
    printf("%d, %d", i, j);
00401031  fstp        qword ptr [esp] 
00401034  push        offset string "%g, %g" (402108h) 
00401039  call        dword ptr [__imp__printf (4020A0h)]


Интересующее выделил. Без оптимизации там разные адреса.


V>>Первоначально литерал в программировании — это символьное представление значения, которое преобразуется в само значение компилятором.


PD>Вот тебе два таких символьных представления , которые и будут преобразованы.



>>В "жаргонном" и более узком смысле литералом называют константы, требующие память для размещения (наверняка из-за влияния С).


PD>М-да... А не мог бы ты привести пример константы, не требующей памяти для размещения ? Я как-то плохо это себе представляю — константа есть, а памяти ей никак не надо . Только не вздумай мне говорить, что можно ее прямо в коде разместить — на это тоже память нужна.


Я именно уже кучу раз и повторил, что есть константы, например целочисленные, которые прямо в коде размещаются. А есть те, которые размещаются там же, где и строковые литералы, в секции данных, и точно так же как строковые, вещественные литералы склеиваются компилятором.

Кстати, если ты в приведенном примере попытаешься взять адреса этих констант, то там будут разные адреса, как и положено по спецификации С++, но пока ты адрес константы не брал, или же у тебя константа в виде литерала прямо по коду — склеивает аж бегом.

PD>>>Насчет склеивания числовых констант — не слышал. И уж вряд ли линкер (а не компилятор) будет их склеивать из разных статических либ.


V>>И будет и склеивает, в том и фишка link-time codegeneration.

V>>GCC тоже частично это уже умеет, правда пока только для С.

PD>Можно подробнее ? Со ссылками ? Я — не понимаю.


PD>// глобальные переменные

PD>float f1= 0.99;
PD>float f2= 0.99;

PD>Ты утверждаешь, что их склеят ? То есть в секции .data будет... впрочем, что будет ? Я вообще не пойму, что там может быть, если их склеить. Это же не указатели, и не на read-only память.


Павел, давай уже или внимательно что-то обсуждать или не обсуждать вообще. Зачем ты мне приводишь глобальные переменные, когда я говорил о константах?

Глобальные переменные, константы и литералы — это разные с т.з. компилятора объекты, хоть они могут иметь один и тот же тип. До тех пор пока ты у константы не попросил lvalue — это константа, как только попросил — она превращается в глобальную переменную константного типа. Ввиду того, что у литерала попросить lvalue сложновато, они всегда "чистые" константы, со всеми вытекающими, т.е. спокойно склеиваются при оптимизации.
Re[14]: Устарели???
От: vdimas Россия  
Дата: 21.04.10 09:53
Оценка:
Здравствуйте, koandrew, Вы писали:

K>Аппаратный декодер — это такая микросхемка, которая умеет только одну вещь — декодировать видео. Детали чипа, к примеру, моего плейера ASUS O!PLAY AIR, под NDA, но из общих соображений и некоторого опыта в этой сфере могу предположить, что там много-много потоковых микроядер, выполняющих декодирование с высокой степенью параллелизма.


Какой вид парралелизма?

K>А теперь покажите мне такие микроядра (причём много микроядер!) в CPU и будем считать вопрос закрытым.


Не угадал с ЦПУ. Т.н. "аппаратный декодер" — это DSP + программа к нему во встроенном ПЗУ. Про микроядра не смеши, современные DSP имеют много вычислительных блоков, но они не представляют из себя независимые ядра, т.е. не в состоянии независимо обрабатывать потоки вычисления. Код DSP — это нечто вроде VLIW, т.е. широкая команда, которая за один такт управляет сразу несколькими вычислительными блоками. В общем, все эти аппаратные декодеры чего бы там ни было — это просто некий популярный DSP + вшитая программа к нему.

Поинт в том, что никто в здравом уме не будет реализовывать никакие более-менее сложные алгоритмы в виде TRUE-автоматов, это всегда будет процессор, общего назначения либо сигнальный, и обычная программа к нему. Некоторые т.н. "аппаратные декодеры" даже имеют возможность эту программу перепрошить.
Re[26]: MS больше не будет создавать ПО для Итаниума
От: vdimas Россия  
Дата: 21.04.10 10:00
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Один ? Один, какой я ни назови, ты опровергать начнешь. Потому что один — действительно не может иметь большого объема кода. А вот все вместе...


Именно что.


V>>.text около 750k.


PD>И сколько времени писал ? Сколько человеко-часов ушло, считая с версии 0.0 ?


Там не только наш код.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.