Re[3]: всё еще хуже
От: squid  
Дата: 20.04.10 09:59
Оценка:
Здравствуйте, Torie, Вы писали:

T>В VS2010 систему справки переделали полностью, там вместо старого просмотрщика документов теперь обычный IE, который забирает контент с винта через локальный веб-сервер. OMFG! o_O


Юзай Firefox, я в нем смотрю. Причем тут IE...

T>На переделку явно вбухана куча труда, тормозит еще хуже чем раньше,


Нет, не тормозит, лично у меня шустрее.

T>функционал зарезали, нет даже индекса слов.


Это да, юзаю стороннюю тулзу + аддон для интеграции в студию специфичной. Удобно.

T>Зачем???? Со всех сторон — одни недостатки.


Ы? У кого как... Да и апдейты через веб раз в пару месяцев а не раз в год или два как старый локальный MSDN, это не плюс?

T>Видимо, кто-то из манагеров прочитал в новостях, что сегодня web-based — это очень модно.


Ну если Хром стоит по дефолту — нереально шустро просто.
Re[4]: всё еще хуже
От: Torie  
Дата: 20.04.10 10:25
Оценка:
Здравствуйте, squid, Вы писали:

S>Юзай Firefox, я в нем смотрю. Причем тут IE...


Дольше всего тормозит при загрузке веб-сервера и файлов контента. При чем тут Firefox?...

S>Ы? У кого как... Да и апдейты через веб раз в пару месяцев а не раз в год или два как старый локальный MSDN, это не плюс?


Это плюс, только не имеет никакого отношения к замене оболочки
Re[19]: MS больше не будет создавать ПО для Итаниума
От: Pavel Dvorkin Россия  
Дата: 20.04.10 10:37
Оценка:
Здравствуйте, vdimas, Вы писали:

PD>>Вот пожалуйста


V>Что хотел примерами сказать?


Что в 4 Мб кода можно все ядро современной ОС уложить.

V>>>Нету ресурсов, а данные — исключительно вещественные литералы, требуемые для алгоритмов.


PD>>Ну и храните их в отдельной DLL.


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


Слушай, не смеши. При чем тут thunk ? Есть, во-первых, разделяемые секции, доступ такой же, как к любым переменным. Есть массивы — доступ по thunk один раз, для получения адреса, а потом делай что хочешь.

Я уже молчу об организационных проблемах: нафига мне многие сотни дополнительно экспортируемых символов из DLL?

Уф... Про struct в языке С тебе рассказать или сам посмотришь ?

PD>>Что за ерунда ? Есть инсталлятор. Он распаковывает в какой-то временный каталог (иногда видимо для юзера, даже порой спрашивая его — куда ?, иногда невидимо). Потом берет оттуда то, что надо и записывает в Program Files\ProductName\. Что за проблемы ? Зачем мне что-то еще потом без админских прав делать-то ? Там будет только та DLL, которая нужна.


V>В большинстве популярных настроек политик инсталлятор могут запускать юзвери с админскими правами (иногда "продвинутые", но это больше на домашних PC). А Click-once позволяет скачивать, обновлять и устанавливать приложения обычным юзверям. В этом случае прога ставится не в PF, а в локальный кеш браузера, который периодически чистится.


Меня проги, которые ставятся в кеш браузера, не особенно интересуют. А обычные проги ставят обычым способом, и для него вариает с выбором DLL во аремя инсталляции вполне работает. Даже если при этом надо сделать 2 клика. А то, что в броузере и click-once, пусть себе остается без SSE
With best regards
Pavel Dvorkin
Re[21]: MS больше не будет создавать ПО для Итаниума
От: Pavel Dvorkin Россия  
Дата: 20.04.10 10:43
Оценка: 1 (1)
Здравствуйте, vdimas, Вы писали:

V>Это только тот код, который работает с абстракциями. А все реальные дрова, реализующие эти абстракции, кодеки и т.д. — многократно больше.


Батенька, не смеши. Дрова сами по себе, а это ядро системы. Оно реализует вксь kernel и executive.

The Windows 2000 executive is the upper layer of Ntoskrnl.exe. (The kernel is the lower layer.) The executive includes the following types of functions:


Functions that are exported and callable from user mode. These functions are called system services and are exported via Ntdll. Most of the services are accessible through the Win32 API or the APIs of another environment subsystem. A few services, however, aren't available through any documented subsystem function. (Examples include LPCs and various query functions such as NtQueryInformationxxx, specialized functions such as NtCreatePagingFile, and so on.)


Functions that can be called only from kernel mode that are exported and documented in the Windows 2000 DDK or Windows 2000 Installable File System (IFS) Kit. (For information on the Windows 2000 IFS Kit, go to www.microsoft.com/ddk/ifskit.)


Functions that are exported and callable from kernel mode but are not documented in the Windows 2000 DDK or IFS Kit (such as the functions called by the boot video driver, which start with Inbv).


Functions that are defined as global symbols but are not exported. These would include internal support functions called within Ntoskrnl, such as those that start with Iop (internal I/O manager support functions) or Mi (internal memory management support functions).


Functions that are internal to a module that are not defined as global symbols.

The executive contains the following major components, each of which is covered in detail in a subsequent chapter of this book:


The configuration manager (explained in Chapter 5) is responsible for implementing and managing the system registry.


The process and thread manager (explained in Chapter 6) creates and terminates processes and threads. The underlying support for processes and threads is implemented in the Windows 2000 kernel; the executive adds additional semantics and functions to these lower-level objects.


The security reference monitor (described in Chapter 8) enforces security policies on the local computer. It guards operating system resources, performing run-time object protection and auditing.


The I/O manager (explained in Chapter 9) implements device-independent I/O and is responsible for dispatching to the appropriate device drivers for further processing.


The Plug and Play (PnP) manager (explained in Chapter 9) determines which drivers are required to support a particular device and loads those drivers. It retrieves the hardware resource requirements for each device during enumeration. Based on the resource requirements of each device, the PnP manager assigns the appropriate hardware resources such as I/O ports, IRQs, DMA channels, and memory locations. It is also responsible for sending proper event notification for device changes (addition or removal of a device) on the system.


The power manager (explained in Chapter 9) coordinates power events and generates power management I/O notifications to device drivers. When the system is idle, the power manager can be configured to reduce power consumption by putting the CPU to sleep. Changes in power consumption by individual devices are handled by device drivers but are coordinated by the power manager.


The WDM Windows Management Instrumentation routines (explained in Chapter 5) enable device drivers to publish performance and configuration information and receive commands from the user-mode WMI service. Consumers of WMI information can be on the local machine or remote across the network.


The cache manager (explained in Chapter 11) improves the performance of file-based I/O by causing recently referenced disk data to reside in main memory for quick access (and by deferring disk writes by holding the updates in memory for a short time before sending them to the disk). As you'll see, it does this by using the memory manager's support for mapped files.


The virtual memory manager (explained in Chapter 7) implements virtual memory, a memory management scheme that provides a large, private address space for each process that can exceed available physical memory. The memory manager also provides the underlying support for the cache manager.

In addition, the executive contains four main groups of support functions that are used by the executive components just listed. About a third of these support functions are documented in the DDK because device drivers also use them. These are the four categories of support functions:


The object manager, which creates, manages, and deletes Windows 2000 executive objects and abstract data types that are used to represent operating system resources such as processes, threads, and the various synchronization objects. The object manager is explained in Chapter 3.


The LPC facility (explained in Chapter 3) passes messages between a client process and a server process on the same computer. LPC is a flexible, optimized version of remote procedure call (RPC), an industry-standard communication facility for client and server processes across a network.


A broad set of common run-time library functions, such as string processing, arithmetic operations, data type conversion, and security structure processing.


Executive support routines, such as system memory allocation (paged and nonpaged pool), interlocked memory access, as well as two special types of synchronization objects: resources and fast mutexes.

Kernel
The kernel consists of a set of functions in Ntoskrnl.exe that provide fundamental mechanisms (such as thread scheduling and synchronization services) used by the executive components, as well as low-level hardware architecture-dependent support (such as interrupt and exception dispatching), that are different on each processor architecture. The kernel code is written primarily in C, with assembly code reserved for those tasks that require access to specialized processor instructions and registers not easily accessible from C.

Like the various executive support functions mentioned in the preceding section, a number of functions in the kernel are documented in the DDK (search for functions beginning with Ke) because they are needed to implement device drivers.



И это далеко не все. И про win32k.sys я могу такое же найти.
With best regards
Pavel Dvorkin
Re[13]: MS больше не будет создавать ПО для Итаниума
От: Ночной Смотрящий Россия  
Дата: 20.04.10 17:42
Оценка:
Здравствуйте, vdimas, Вы писали:

V>На тех задачах, где вообще звучит SSE, про эти платформы упоминать малость неприлично.


Это пока
Re[14]: MS больше не будет создавать ПО для Итаниума
От: Antikrot  
Дата: 20.04.10 18:10
Оценка:
Здравствуйте, vdimas, Вы писали:

A>>угу, а еще давай ты расскажешь в каком месте ядру будет лучше от этих -msseX

V>А да, забыл про драйвера аудио и видео. Например, шумоподавление и эхоподавление выполняется драйвером DirectX на уровне исполнения ядра, а не юзверского кода...
да, это шикарный аргумент за линуксовое ядро
Re[10]: странная у тебя логика
От: vdimas Россия  
Дата: 20.04.10 19:24
Оценка: 2 (1)
Здравствуйте, Mamut, Вы писали:

V>>Или ты про реализацию фиберов спрашивал? Все уже давно работает.


M>Не про реализацию фиберов. А про реализацию многопоточности + асинхронных сообщений + отслеживания ошибок в этих сообщениях + иерархии процессов, как в Эрланге (где все это уже есть — бери и пользуйся).


Ты уверен, что знаешь, о чем говоришь? Вот как раз на днях недавно было обсуждение процов и там готовый пример распараллеливания перемножения матриц. http://www.rsdn.ru/forum/education/3775892.1.aspx
Автор: Pavel Dvorkin
Дата: 15.04.10

Переведи на Эрланг. Сравни кол-во кода и быстродействие. Понимаешь, распараллеливание в Эрланге хорошо там, где мы много автоматов "разворачиваем" из логики потактового хождения по состояниям в обычный код, и упомянутые "сообщения" и "синхронизация" в этом контексте — обычные сигналы, которыми автоматы обмениваются друг с другом. Что же касается числодробилок, то распараллеливание там предметнозависимо, т.е. нагрузка на прикладную часть все равно выходит больше, чем на языковую. Поэтому пока языки не очень помогают, зато хорошо помогают библиотеки заготовок для распараллеливания частовстречающихся вычислительных сценариев.


M>Более того, какого уровня должен ыть программист на C/C++, чтобы все это реализовать на фиберах.


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

Выделенное — грабли для наивных верующих в Эрланги и прочее "самораспараллеливание".

На самом деле там не все так просто, "тупое" и автоматическое распараллеливание лишь ухудшает общие показатели. Сейчас объясню. Вот у нас есть N ядер, и M начальных потоков вычислений, каждый из которых, не зная о существовании других, выразил желание распараллелиться на N имеющихся ядер для пущей эффективности своего вычисления. При равномерной политике балансировки в худшем сценарии все M*N образованных вычислительных потоков будут шедулиться одновременно, поэтому каждый изначальный логический поток вычисления завершится примерно вместе со всеми, т.е. в М раз дольше, чем требуется для его вычисления. А если их как-то упорядочить, распараллеливая поочередно, то, не меняя общее время вычисления, каждый из M вычислительных алгоритмов, кроме последнего, будет вычислен гораздо быстрее.

Так что, в моих экспериментах с числодробилками наибольшую эффективность (как и следовало ожидать) показывает пакетный подход. "Пакеты" образуют единую очередь; текущему вычисляемому пакету доступны все ядерные ресурсы, остальные тихо ждут и не мешают. В общем, повторюсь, предметная сложность пока перевешивает языковую.
Re[22]: MS больше не будет создавать ПО для Итаниума
От: vdimas Россия  
Дата: 20.04.10 20:15
Оценка: +1
Здравствуйте, Pavel Dvorkin, Вы писали:

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


V>>Это только тот код, который работает с абстракциями. А все реальные дрова, реализующие эти абстракции, кодеки и т.д. — многократно больше.


PD>Батенька, не смеши. Дрова сами по себе, а это ядро системы. Оно реализует вксь kernel и executive.


Ну и? Там перечисление десятка основных ф-ий ядра. Какая из приведенных тобой задач должна была быть большой по объему, сравнимой хотя бы с одним видеокодеком?


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


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

ShellDll32.dll сегмент .text = 2M
Это в твою пользу или мою?

Ты можешь просто в фаре, в просмотрщике процессов посмотреть загруженные DLL и EXE процессов и просуммировать их размеры (не считая повторяющиеся, разумеется).

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

А знаешь что делает компилятор с числодробильными циклами при ключах оптимизации "предпочтение быстродействия", а не размера? С циклами фиксированного размера (те же циклы фильтров)? Он их разворачивает в линейку с коэф. в диапазоне 10-20, т.е. вместо 320-ти повторений мы обычно получаем 16 повторений, в каждом из которых линейно 20 раз повторяющийся код, и промежуточные данные не на стеке, т.е. не в памяти, а в MMX/SSE-регистрах. Это у меня еще маленькая DLL, ибо я ее собираю из нескольких статических либ, где оптимизации с предпочтением по быстродействию далеко не у каждой, чтобы размер бинарника не раздувать.
Re[20]: MS больше не будет создавать ПО для Итаниума
От: vdimas Россия  
Дата: 20.04.10 20:27
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

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


V>>Я уже молчу об организационных проблемах: нафига мне многие сотни дополнительно экспортируемых символов из DLL?


PD>Есть массивы — доступ по thunk один раз, для получения адреса, а потом делай что хочешь.

PD>Уф... Про struct в языке С тебе рассказать или сам посмотришь ?

Это все-равно организационные проблемы. Там где я сейчас пишу float a = b * 0.99f, я должен буду писать нечто вроде float a = b * literals.value_0_99f. Как этим всем управлять, если у меня DLL собирается из более десятка несвязанных статических либ? Это и есть ненужные организационные проблемы на ровном месте, т.к. есть куча абсолютно несвязанных вычислений со своими константами. А главное — это не разумно, ведь в процессе оптимизации компилятор склеивает одинаковые литералы, а при их ручной симуляции ничего не будет склеено.


PD>Меня проги, которые ставятся в кеш браузера, не особенно интересуют. А обычные проги ставят обычым способом, и для него вариает с выбором DLL во аремя инсталляции вполне работает. Даже если при этом надо сделать 2 клика. А то, что в броузере и click-once, пусть себе остается без SSE


Оно не в браузере работает, оно через него только ставится.
Re[14]: MS больше не будет создавать ПО для Итаниума
От: vdimas Россия  
Дата: 20.04.10 20:27
Оценка:
Здравствуйте, dr.Chaos, Вы писали:

V>>Ну а в шустрых процах от АМД того времени никакого SSE2 не было.

DC>Странно, мой 3200+ вполне себе SSE2 и SSE3 поддерживает, как раз года 3 назад выпустился. Хотя тот же mplayer при динамической подгрузке оптимизаций SSE3 не видит .

У тебя какой-нить x64 скорее всего. А "того времени" было относительно упомянутого P4 в бытность его SSE2, это 2003-2005-й года, и я имел ввиду AthlonXP (конкретно Barton), про который уже высказался http://www.rsdn.ru/forum/flame.comp/3780500.1.aspx
Автор: vdimas
Дата: 20.04.10
.
Re[7]: странная у тебя логика
От: Antikrot  
Дата: 20.04.10 20:31
Оценка:
Здравствуйте, vdimas, Вы писали:

A>>ты не совсем понял. Ц++ тут чуть ли не худший вариант.

V>Не говори ерунды. С++ предоставляет низкоуровневые сервисы к аппаратуре и интерфейсу ОС, точно такие же, какие ты бы получил на С или даже асме. Если ты имеешь ввиду инструменты, типа Эрланга, то их эффективность связана исключительно с эффективной реализацией легкий потоков, что и на С++ прекрасно делается на фиберах. Зато если речь пойдет о числодробилках, то тот же Эрланг сливает не по детски.
ну какой Эрланг, я его даже не видел. Фортран наше всё! А в плюсах есть указатели, которые страшное зло для всего более-менее автоматического, и приходится копаться в этих ваших "низкоуровневых сервисах".
Re[11]: странная у тебя логика
От: Mamut Швеция http://dmitriid.com
Дата: 20.04.10 20:45
Оценка:
Здравствуйте, vdimas, Вы писали:

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


V>>>Или ты про реализацию фиберов спрашивал? Все уже давно работает.


M>>Не про реализацию фиберов. А про реализацию многопоточности + асинхронных сообщений + отслеживания ошибок в этих сообщениях + иерархии процессов, как в Эрланге (где все это уже есть — бери и пользуйся).


V>Ты уверен, что знаешь, о чем говоришь?


Я не уверен, что ты тоже знаешь, о чем говоришь Эрланг — это не только легкие потоки и умение доставать их из рукава, как фокусник. Это комбинация всего следующего:
— легкие потоки
— иерархия потоков
— система отслеживания, отлавливания и изоляции ошибок в потоках
— система асинхронных сообщений (ну или синхронных, если сильно захочется) между потоками

Да, я, пожалуй, смогу наврететь в приведенном
Автор: Pavel Dvorkin
Дата: 15.04.10
примере какой-нить (обязательно доморощенный ) пул потоков с супервайзерами и т.п. Но где легкость-то?

V>Вот как раз на днях недавно было обсуждение процов и там готовый пример распараллеливания перемножения матриц. http://www.rsdn.ru/forum/education/3775892.1.aspx
Автор: Pavel Dvorkin
Дата: 15.04.10

V>Переведи на Эрланг. Сравни кол-во кода и быстродействие.


а что преводить? spawn вместо createthread — и вперед. другое дело, когда нам ВНЕЗАПНО понадобится следить за количеством запущенных потоков, отслеживать их аварийные и неаварийнйые завершения. Да еще желательно не на одном комптютере в сети И начнутся ручные закаты солнца.


V>Понимаешь, распараллеливание в Эрланге хорошо там, где мы много автоматов "разворачиваем" из логики потактового хождения по состояниям в обычный код, и упомянутые "сообщения" и "синхронизация" в этом контексте — обычные сигналы, которыми автоматы обмениваются друг с другом. Что же касается числодробилок, то распараллеливание там предметнозависимо, т.е. нагрузка на прикладную часть все равно выходит больше, чем на языковую. Поэтому пока языки не очень помогают, зато хорошо помогают библиотеки заготовок для распараллеливания частовстречающихся вычислительных сценариев.


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

M>>Более того, какого уровня должен ыть программист на C/C++, чтобы все это реализовать на фиберах.


V>Такого же уровня, чтобы мог реализовать на обычных тредах. Реализацию фиберов может делать другой программист или ее можно взять готовую. Ну и опять же — давай будем внимательнее.


что я имел в виду под такую же я привел выше в 4-х пунктах.

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


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


dmitriid.comGitHubLinkedIn
Re[8]: странная у тебя логика
От: vdimas Россия  
Дата: 20.04.10 20:46
Оценка:
Здравствуйте, Antikrot, Вы писали:

A>ну какой Эрланг, я его даже не видел. Фортран наше всё! А в плюсах есть указатели, которые страшное зло для всего более-менее автоматического, и приходится копаться в этих ваших "низкоуровневых сервисах".


Я понятия не имею, как на Фортране писать многопоточные приложения. Знаю, что есть какие-то реализации самораспараллеливающих фортранов. Но нам же не только числодробить надо, есть же еще и обслуживающая логика, которая почти всегда многопоточна на сегодня. А если делать "тупо числодробильные либы" на Фортране, которые мы вызываем из других языков, то мы попадемся на описанный эффект: http://www.rsdn.ru/forum/flame.comp/3781531.1.aspx
Автор: vdimas
Дата: 20.04.10
Re[7]: Устарели???
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 20.04.10 21:00
Оценка: +2
Здравствуйте, Sheridan, Вы писали:

s>> а ты что ожидал в списке задач обычного юзера? научные расчеты?

S>Домашняя бухгалтерия, "умный дом" например. Управление автомобилем в конце концов. Ей богу, лучше бы автопилот автомобилям сделали вместо говноигр и мегаХД.

А ты купи себе 40+-дюймовую FullHD LCD панельку и вруби там SD-фильм, а потом тот же фильм — в 1080p/i. Тогда ты про "мегаХД" по-другому заговоришь...
[КУ] оккупировала армия.
Re[8]: Устарели???
От: Sheridan Россия  
Дата: 20.04.10 23:22
Оценка:
Приветствую, koandrew, вы писали:

k> А ты купи себе 40+-дюймовую FullHD LCD панельку и вруби там SD-фильм, а потом тот же фильм — в 1080p/i. Тогда ты про "мегаХД" по-другому заговоришь...


Нет, я куплю 1080, а потом схожу в кинотеатр. И по другому заговорю.


Я что, против HD? Почитай внимательнее, я всего лишь выставил приоритеты.
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[9]: Устарели???
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 21.04.10 00:24
Оценка: +3
Здравствуйте, Sheridan, Вы писали:

S>Нет, я куплю 1080, а потом схожу в кинотеатр. И по другому заговорю.

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

S>Я что, против HD? Почитай внимательнее, я всего лишь выставил приоритеты.

Напиши плейер и кодеки, которые сумеют декодировать 1080p H264+DD/DTS звук в реальном времени на 800 МГц проце — тебе памятник при жизни поставят. А языком чесать — это не мешки таскать...
[КУ] оккупировала армия.
Re[5]: всё еще хуже
От: squid  
Дата: 21.04.10 04:06
Оценка:
Здравствуйте, Torie, Вы писали:

T>Дольше всего тормозит при загрузке веб-сервера и файлов контента. При чем тут Firefox?...


У меня мгновенно все... А сервер один раз запускается и потом в трее висит. Секунды за 3 где-то.

T>Это плюс, только не имеет никакого отношения к замене оболочки


Ну мне то что убрали TOC и Index не нравится, вернул другой прогой. А в остальном пока сплошные плюсы.
Re[23]: MS больше не будет создавать ПО для Итаниума
От: Pavel Dvorkin Россия  
Дата: 21.04.10 04:47
Оценка:
Здравствуйте, vdimas, Вы писали:

PD>>Батенька, не смеши. Дрова сами по себе, а это ядро системы. Оно реализует вксь kernel и executive.


V>Ну и? Там перечисление десятка основных ф-ий ядра. Какая из приведенных тобой задач должна была быть большой по объему, сравнимой хотя бы с одним видеокодеком?


Там не десяток функций ядра, а правктически все ядро.
Ну а если ты считаешь, что кодек сложнее ОС — о чем тогда говорить ?


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


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


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

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

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

V>Ты можешь просто в фаре, в просмотрщике процессов посмотреть загруженные DLL и EXE процессов и просуммировать их размеры (не считая повторяющиеся, разумеется).


Нет, это размеры EXE (DLL), а отнюдь не кода. Кода там может быть существенно меньше. Есть еще данные, есть ресурсы...

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


Приведи размер секции кода твоей DLL, будет ясно.
With best regards
Pavel Dvorkin
Re[10]: Устарели???
От: Sheridan Россия  
Дата: 21.04.10 04:53
Оценка:
Приветствую, koandrew, вы писали:

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

Зачем?

k> S>Я что, против HD? Почитай внимательнее, я всего лишь выставил приоритеты.

k> Напиши плейер и кодеки, которые сумеют декодировать 1080p H264+DD/DTS звук в реальном времени на 800 МГц проце — тебе памятник при жизни поставят. А языком чесать — это не мешки таскать...
Да почти любой hd-медиаплеер имеет на борту камень с частотой сильно меньше гигагерца.
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[21]: MS больше не будет создавать ПО для Итаниума
От: Pavel Dvorkin Россия  
Дата: 21.04.10 05:03
Оценка:
Здравствуйте, vdimas, Вы писали:


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


Решительно не понимаю — зачем. Во-первых, писать так — float a = b * 0.99f — дурной тон, сам знаешь почему. Во-вторых, доступ к данным DLL может быть организован так же, как к данным вне DLL. А в третьих, мы о чем говорим-то ? Я предложил все вычисления, связанные с SSE, вынести в DLL. Никаких особых организационных проблем тут нет. Берешь функцию, переносишь в DLL. Если тебя смущает thunk, то могу тебе сообщить, что там всего лишь одна команда косвенного перехода и на фоне твоей числодробилки это совершенный пустяк. Никогда не слышал, чтобы кто-то жаловался на проблемы, связанные с выносом кода в DLL.

>Как этим всем управлять, если у меня DLL собирается из более десятка несвязанных статических либ? Это и есть ненужные организационные проблемы на ровном месте, т.к. есть куча абсолютно несвязанных вычислений со своими константами. А главное — это не разумно, ведь в процессе оптимизации компилятор склеивает одинаковые литералы, а при их ручной симуляции ничего не будет склеено.


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

/GF (Eliminate Duplicate Strings)

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


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


Зачем ? Чем не устраивает обычный способ : загрузить инсталлятор и запустить ? Только вторым кликом ?
With best regards
Pavel Dvorkin
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.