От чего бы не похвастаться?

Discussion in 'Hardware and Software' started by Vadim Maksimenko, Feb 19, 2008.

  1. PressLuftHammer

    PressLuftHammer FH Beta Tester

    Joined:
    Mar 5, 2003
    Messages:
    13,743
    Location:
    Ekaterinburg (Russia)
    Re: От чего бы не похвастаться?

    Падений в синий экран у нее было больше чем в win2000 как ни странно.

    Например для игрушек поток видео поток аудио поток AI поток ввода вывода и т.д. Все они выполняют разные задачи но должны взаимодействоавать между собой. При том так чтобы синхронная работа занимала как можно меньше времени.

    Просто в функциональных языках порядок выполнения функций не указывается, такая императивность дает возможность компилятору/интерпретатору самому распределять выполнение кода по потокам. Без необходимости напрягать программера этим.
    В какой то степени походит на SQL где оптимизация и выполнение запроса перекладывается на сервер. И он уже решает как ему там искать по индексу или нет и если по индексу то по какому паралельно или нет.
    Но несмотря на простоту SQL все таки требует по другому мозг напрягать чем например работа с БД напрямую.
     
  2. bimbom

    bimbom FH Beta Tester

    Joined:
    Jan 19, 2006
    Messages:
    6,744
    Location:
    Moscow, Russia
    Re: От чего бы не похвастаться?

    У меня энтя лет 5 отработала с одним сбоем в режиме 24х7х365. У 2к парочка сбоев уже была, примерно за тоже время.

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

    Кстати, этот способ могли бы взять на вооружение товарищи из Редмонда. А то их эксплорер полностью затыкается на директориях из нескольких тысяч файлов. Вместо того, чтобы отобразить список файлов, он для каждого элемента пару раз считывает атрибуты и разрешения, свойства и потоки элемента, затем несколько раз лезет в реестр, ищет иконку и только потом отображает файл/папку. Если папка сетевая, то 5-10 минут отдыха гарантировано. Куда полезнее отобразить список в соответсвии с текущими разрешениями, а потом уж и иконки отобразить, свойства там всякие. Альтернативные диспетчеры файлов работают на порядок-два быстрее именно потому, что подобным тряхомудием не занимаются.

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

    В случае пользовательской программы, лучше использовать основной поток процесса ? ядро ? для управления дочерними потоками. Тогда и проги будут вываливаться пореже и утечки памяти не так фатальны ? пока ядро может «разрулить» ситуацию, прога работает. Вот это и будет, в какой-то мере, походить на сикуль сервер по стабильности и маштабируемости.
    Да, и давайте не будем работать с БД напрямую! :rolleyes:
     
  3. Vadim Maksimenko

    Vadim Maksimenko Well-Known Member

    Joined:
    Feb 12, 2000
    Messages:
    15,468
    Location:
    Vilnius, Lithuania
    Re: От чего бы не похвастаться?

    rax, rbx, rcx, ...
    SETI -- развлечение для идиотов IMHO. Излучение любой цивилизации на фоне родной звезды равно нулю.

    Упрощает? А что может быть проще создания треда?
     
  4. breedr

    breedr FH Developer

    Joined:
    Jan 27, 2000
    Messages:
    952
    Re: От чего бы не похвастаться?

    Кстати, не в курсе случаем, как можно получить список потоков в файле? А то как-то надо было - не нашел %(
     
  5. Vadim Maksimenko

    Vadim Maksimenko Well-Known Member

    Joined:
    Feb 12, 2000
    Messages:
    15,468
    Location:
    Vilnius, Lithuania
    Re: От чего бы не похвастаться?

    CreateThread() существует как минимум с июля 1993 года.
     
  6. Vadim Maksimenko

    Vadim Maksimenko Well-Known Member

    Joined:
    Feb 12, 2000
    Messages:
    15,468
    Location:
    Vilnius, Lithuania
    Re: От чего бы не похвастаться?

    Что понимается под потоками в файле? Overloaded?
     
  7. Vadim Maksimenko

    Vadim Maksimenko Well-Known Member

    Joined:
    Feb 12, 2000
    Messages:
    15,468
    Location:
    Vilnius, Lithuania
    Re: От чего бы не похвастаться?

    Интересное сравнение. На абсолютно идентичном железе и с одинаковым комплектом приложений? ;) Ответ я знаю.
    Видеорасчеты, как самые ресурсоемкие, много-много лет назад были переложены на видео адаптеры, которые имеют туеву хучу специализированых процессоров, если кто-то не знал. Что бы задействовать возможности видео через единый интерфейс и был придуман DirectX. А сейчас ATI и NVIDIA даже выпустили свои API для использование мощи своих карт помимо графики.
     
  8. Sea

    Sea Well-Known Member

    Joined:
    Feb 9, 2001
    Messages:
    18,115
    Location:
    Ukraine, Kiev
    Re: От чего бы не похвастаться?

    Давным давно был придумал OpenGL. Ко всему прочему позволяющий объединять несколько видеокарточек в одну виртуальную.
     
  9. bimbom

    bimbom FH Beta Tester

    Joined:
    Jan 19, 2006
    Messages:
    6,744
    Location:
    Moscow, Russia
    Re: От чего бы не похвастаться?

    Железо сильно разное. PII-233/128mb/20gb vs P4-3000/2gb/72 gb raid scsi. Из софта только sql прибавился, занимает 5-10% cpu и 15 гектар диска. Плюс ВПН на пару пользователей. Ты знал?

    Тогда тебе, как знатоку, вопрос, что считает видеопроцессор, как и какие данные попадают к нему? Что при этом делает цпу. Если все расчёты делает видеопроцессор, нафига тода вообще директ этот хы? ага?
     
  10. bimbom

    bimbom FH Beta Tester

    Joined:
    Jan 19, 2006
    Messages:
    6,744
    Location:
    Moscow, Russia
    Re: От чего бы не похвастаться?

    только эти регистры доступны только в одном из трёх режимов. Размер программы увеличивается в полтора-два раза. Время, необходимое на загрузку-декодирование бОльшего количества данных также заметно увеличивается.

    А если посмотреть не что считают, а как?

    Создать тред просто, а вот уберечься при этом от трудно уловимых ошибок и утечек памяти, далеко не всегда. В дот.нет это происходит в песочнице, что, имхо, упрощает.
     
  11. bimbom

    bimbom FH Beta Tester

    Joined:
    Jan 19, 2006
    Messages:
    6,744
    Location:
    Moscow, Russia
    Re: От чего бы не похвастаться?

    streams от Руссиновича

    http://technet.microsoft.com/ru-ru/sysinternals/bb897440(en-us).aspx
     
  12. breedr

    breedr FH Developer

    Joined:
    Jan 27, 2000
    Messages:
    952
    Re: От чего бы не похвастаться?

    Named Stream внутри файлов на NTFS. Filename.ext:StreamName1, Filename.ext:StreamName2 итп
    Впрочем в 2003 сервере вроде добавили API для получения списка...
     
  13. Boroda

    Boroda FH Community Officer

    Joined:
    Jan 23, 2000
    Messages:
    5,861
    Location:
    Moscow
    Re: От чего бы не похвастаться?

    Смотря в каком диапазоне частот. В МВ и ДМВ диапазонах одна только Останкинская башня светит посильнее Солнца.
     
  14. Vadim Maksimenko

    Vadim Maksimenko Well-Known Member

    Joined:
    Feb 12, 2000
    Messages:
    15,468
    Location:
    Vilnius, Lithuania
    Re: От чего бы не похвастаться?

    Эти регистры... ну что мне сказать человеку, ни разу не видевшему скомпилированого кода?

    Размер программы увеличивается на N*4 байт, где N -- число использованых указателей. Что бы программа выросла в два раза, она вся должна состоять из указателей, что есть бред. В полтора раза -- на 50% из указателей, что есть бред не меньший.

    Время на обработку 32 и 64 битных данных абсолютно идентично, потому как шина данных процессоров начиная с дремучего Пентиума -- 64 битная.
    Если мне за околачивание хуем груш будут платить бапки, я докажу, что мое занятие чрезвычайно важно для цивилизации.
    Ошибка в самом .NET превратит все твои программы в железный и неустраняемый глюк, пока не почешется разработчик этого .NET. Ошибки в собственных библиотеках/классах я нахожу и устраняю сам.
     
  15. bimbom

    bimbom FH Beta Tester

    Joined:
    Jan 19, 2006
    Messages:
    6,744
    Location:
    Moscow, Russia
    Re: От чего бы не похвастаться?

    Не угадал. Я писал проги на асме, в т.ч. пробовал и для win32.

    бред. смотри спеки, сколько занимают байт команды в 64-бит режиме.

    бред. шина здесь не причём

    Только о редкой ошибке ты узнаешь через год, когда про этот проект нафиг забудешь. Как же ты обходишь ошибки в API, к примеру? Патчишь кернел или загружаешь апдейт с офсайта?
     
  16. Vadim Maksimenko

    Vadim Maksimenko Well-Known Member

    Joined:
    Feb 12, 2000
    Messages:
    15,468
    Location:
    Vilnius, Lithuania
    Re: От чего бы не похвастаться?

    И именно поэтому ты не знаешь, что al, ax, eax, rax отличаются только разрядностью, а по доступности абсолютно идентичны.
    Команды, обращающиеся к памяти, содержат адрес. Команд, состоящих исключительно из адреса не существует. А программа увеличиться вдвое может только при таком условии. Проблемы с элементарной арифметикой?
    А что при чем? От чего работа с 64 битами должна стать дольше работы с 32, если все железо 64-битное, и все операции выполняются за равное количество тактов?
    Из тех функций, что я использовал, еще ни одна не была с ошибками. А поиск по гугле ".net memory leak" (тебе ничего не скажет), но других заставит задуматься.

    Если ты считаешь, что SETI выполняет окуенно важную работу, то я считаю, что они хуем груши окалачивают. Так же решил Конгресс США в 1993 году, прекратив финансирование.
     
    Last edited: Mar 21, 2008
  17. bimbom

    bimbom FH Beta Tester

    Joined:
    Jan 19, 2006
    Messages:
    6,744
    Location:
    Moscow, Russia
    Re: От чего бы не похвастаться?

    Интересно, как можно программить на асме и не знать регистры??? Далее, в 64-бит нет доступа к регистрам xH. Также нет доступа к старшим 32 битам 64-бит регистров. Несколько регистров вообще недоступны.

    Для доступа в расширенным регистрам используется префикс, все операнды 32-бит по дефолту, для 16 и 64 бит используется префикс. Исключены почти три десятка команд, в т.ч. call far и jmp far. Ты не знал?

    Из-за тех же префиксов, а также отстутствия некоторых команд, длина команд увеличивается, что ведёт к более длительной выборке и декодированию. При операциях со стеком пихается всё 64-бит содержимое регистра, что занимает больше памяти и времени. Команда mov reg, [0100h] должна заменяться на пару команд
    Code:
    xor rxx,rxx
    mov reg, [0100h+rxx]
    что также скорости не добавляет. Достаточно?

    У тебя мания величия? Не считай других людей глупее себя. А утечки памяти происходят из-за бездумного обращения с ресурсами.

    Блин, прочитай внимательно, почему я упомянул этот проект.
    А в принципе, подобные проекты расчитывают модели и взаимодействие белков и раковых клеток. Это достаточно важная работа или как?
     
  18. -exec-

    -exec- FH Consultant

    Joined:
    Jan 29, 2000
    Messages:
    24,690
    Location:
    xUSSR
    Re: От чего бы не похвастаться?

    это потому, что кодеры с культурой заваливания вин95/98 не знали методов уложить нт. как тока линейка нт оказалась переспективнее и кодеры переехали на неё - сразу научились валить нт в бсод, да весьма лихо.
    чего стоит пример кривого риалплеера, который ронял мне ядро при проносе мышки над меню.