powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Почему компьютер выполняет 90% лишней работы ?
55 сообщений из 55, показаны все 3 страниц
Почему компьютер выполняет 90% лишней работы ?
    #36326134
Фотография 301
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если представить любую программу как граф пройденных состояний, то выяснится что 90% программа проходит по одним и тем же вершинам, получает одни и теже данные в каждом промежуточном узле. А что если снять данные в каждом узле вход/выход, детерменировать связи между функциями и не вызывать повторно на вычисление функции для которых заведомо известны результаты ?
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36326171
Фотография 301
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот открыл я опять вот эту страницу, а компьютер опять молотит один и тот-же html, тянет сначала его по сети и получает одни и теже данные. Хорошо что страница открывается довольно быстро, но реально открываться должна вообще моментально
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36326191
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
301вот открыл я опять вот эту страницу, а компьютер опять молотит один и тот-же html, тянет сначала его по сети и получает одни и теже данные. Хорошо что страница открывается довольно быстро, но реально открываться должна вообще моментально
Чтобы она открывалась моментально, компьютер должен проанализировать все входящие в алгоритм её открытия шаги и доказать, что они все детерминированны. То что два раза подряд он проделал одинаковую работу при открытии этой страницы не означает, что всегда он будет проделывать одинаковую работу.

Далее результаты такого анализа должны быть сохранены.

Таким образом мы упираемся в 2 более страшные проблемы, нежели "второй раз обработать загрузку страницы". Компьютеру придется анализировать даже то, что мы, возможно, никогда в будущем повторно использовать не будем. И эти "анализы" придется сохранять - терабайтных винчестеров и гигагерцовых процессоров работать с этими массивами "анализов" быстро станет не хватать.
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36326226
Фотография Aklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"зачем канализационные трубы делают такими толстыми? что бы они выдержали короткий пик нагрузок." (с)

количество состояний при той де загрузке страницы неимоверно велико что бы использоваь предыдущий опыт

4 8 15 16 23 42
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36326241
zloy den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
301Если представить любую программу как граф пройденных состояний, то выяснится что 90% программа проходит по одним и тем же вершинам, получает одни и теже данные в каждом промежуточном узле. А что если снять данные в каждом узле вход/выход, детерменировать связи между функциями и не вызывать повторно на вычисление функции для которых заведомо известны результаты ?

Почитайте про функциональное программирование и кеширование вызовов функций.
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36326435
Фотография 301
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
an0nym
Чтобы она открывалась моментально, компьютер должен проанализировать все входящие в алгоритм её открытия шаги и доказать, что они все детерминированны.


Доказать это можно построив дерево связей.

an0nym
То что два раза подряд он проделал одинаковую работу при открытии этой страницы не означает, что всегда он будет проделывать одинаковую работу.


Согласен. Но в 90% случаев достаточно сделать небольшое сравнение закешированных входящих данных чтобы "отрезать" огромную ветку.

an0nym
Таким образом мы упираемся в 2 более страшные проблемы, нежели "второй раз обработать загрузку страницы". Компьютеру придется анализировать даже то, что мы, возможно, никогда в будущем повторно использовать не будем. И эти "анализы" придется сохранять - терабайтных винчестеров и гигагерцовых процессоров работать с этими массивами "анализов" быстро станет не хватать.

Терабайтов информации нет. Есть приложение, которое состоит обычно из 1-2 тыс. функций. Они образовуют огромных граф вызовов с вложенностью около 10. Целую огромную подветку можно отсечь в самом начале если закешировать вход/выход хотябы функций первых трех вложенностей.
Следвательно терабайтные данные могут свестись к табличке примерно на 2 тыс функции и типичных пару десятков вызовов для них.
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36326441
Фотография 301
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zloy den301Если представить любую программу как граф пройденных состояний, то выяснится что 90% программа проходит по одним и тем же вершинам, получает одни и теже данные в каждом промежуточном узле. А что если снять данные в каждом узле вход/выход, детерменировать связи между функциями и не вызывать повторно на вычисление функции для которых заведомо известны результаты ?

Почитайте про функциональное программирование и кеширование вызовов функций.

Меня пока что интересует процедурное программирование и методы "над" оптимизаций.
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36326644
zloy den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
301
Меня пока что интересует процедурное программирование и методы "над" оптимизаций.

С учетом того, что это машина состояний, то очень трудно хранить и кешировать вызовы каких-либо методов, т.к. они могут зависеть не только от параметров, но и от внутреннего состояния объектов или каких-то переменных. В функциональных языках (или хотя бы в программах, лишенных побочных эффектов) наиболее часто используемые функции можно кешировать без боязни что что-то будет упущено-такие функции всегда возвращают один и тот же результат для одинаковых параметров.
А как красиво сделать такое в программах, у методов которых есть побочные эффекты, я даже не представляю.
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36326717
Фотография 301
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zloy den301
Меня пока что интересует процедурное программирование и методы "над" оптимизаций.

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

Можно распарсить тело метода и определить список переменных которые он может менять. Локальные и глобальные. Локальные переменные нас не интересуют. Глобальные переменные указывают связи между методами. Остается единственная проблема с внешними источниками данных. Таких как файловая система или база данных. Проблема появляется только для незамкнутой системы ( не идеальной ).
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36327077
belugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это называется мемоизация
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36327194
sqI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beluginэто называется мемоизация

спасибо за инфу. Речь именно о ней. Вот листаю гугл, но пока не могу найти пристойных примеров поддерживающих это "аппаратно", на уровне ОС или хотябы на уровне Виртуальной машины.
В основном речь идет о Сustom мемоизации на этапе разработки, что не позволяет автоматически ускорить работу уже созданного кода.
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36327345
belugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sqI,
для этого надо, чтобы код был функционально чист
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36327931
Фотография 301
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beluginsqI,
для этого надо, чтобы код был функционально чист

не обязательно. Достаточно построить дерево связей.
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36327936
Фотография 301
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для этого пришла мысль смотреть на алгоритм не как рукописную структуру, а с точки зрения рантайм прохождения данных
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36330043
ALKIR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
301... 90% программа проходит по одним и тем же вершинам...

"Чушь какая-то..."
Если вы строите конечный автомат – знаете все возможные комбинации параметров на входе и значений на выходе, тогда, казалось бы, куда проще создать карту соответствия. Однако размер такой карты соответствия, для, казалось бы, простого приложения может и будет занимать непозволительно много места (тривиальный пример – решение шахматной задачи). И, если учесть то, что современный компьютер под управлением современной операционной системы – это не одно приложение, а группа программ, которые "как-то" пытаются сосуществовать и делить ограниченные ресурсы (этого самого компьютера), то задача по определению такой карты соответствия для целого компьютера представляется не разрешимой...
Есть еще одно "но", как может показаться начинающему программисту: почему программы выполняют не оптимизированный код. Это происходит потому, что опытные программисты предпочитают использовать код повторно, и пусть этот код написан другими программистами, - главное, что он рабочий.
"Если работает – лучше не трогать..."
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36330230
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALKIR301... 90% программа проходит по одним и тем же вершинам...

"Чушь какая-то..."
Если вы строите конечный автомат – знаете все возможные комбинации параметров на входе и значений на выходе, тогда, казалось бы, куда проще создать карту соответствия. Однако размер такой карты соответствия, для, казалось бы, простого приложения может и будет занимать непозволительно много места (тривиальный пример – решение шахматной задачи). И, если учесть то, что современный компьютер под управлением современной операционной системы – это не одно приложение, а группа программ, которые "как-то" пытаются сосуществовать и делить ограниченные ресурсы (этого самого компьютера), то задача по определению такой карты соответствия для целого компьютера представляется не разрешимой...
Есть еще одно "но", как может показаться начинающему программисту: почему программы выполняют не оптимизированный код. Это происходит потому, что опытные программисты предпочитают использовать код повторно, и пусть этот код написан другими программистами, - главное, что он рабочий.
"Если работает – лучше не трогать..."
+1.
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36330643
sqI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALKIR
"Чушь какая-то..."
Если вы строите конечный автомат – знаете все возможные комбинации параметров на входе и значений на выходе, тогда, казалось бы, куда проще создать карту соответствия.
Однако размер такой карты соответствия, для, казалось бы, простого приложения может и будет занимать непозволительно много места (тривиальный пример – решение шахматной задачи).


Это Вы так думаете, или экспериментально ? Просто у меня уже есть кое-какие экспериментальные данные на графах около 100 000 вызовов функций в приложении. И все выглядит довольно оптимистично. В 30-40% процентов статистических данных функции вызываются повторно с одинаковыми параметрами из-за не идеальности кода. Но это если мыслить в одном измерении, единожды выполненной программы. Но на практике программа запускается многократно, как и сервер выдает одни и теже порции данных, следовательно кеш на уровне многократных запусков программы, броузера, может довести эту цифру до 90% ( пока что я так думаю )

К теме о Шахматах, алгоритм Альфа Бета тем и отличается от Мини Макс что заведомо отсекает ветки с известным результатом. А вот современный комп. не отсекает ... и притармаживает, молотит сто раз одно и тоже.

ALKIR
И, если учесть то, что современный компьютер под управлением современной операционной системы – это не одно приложение, а группа программ, которые "как-то" пытаются сосуществовать и делить ограниченные ресурсы (этого самого компьютера), то задача по определению такой карты соответствия для целого компьютера представляется не разрешимой...


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

ALKIR
Есть еще одно "но", как может показаться начинающему программисту: почему программы выполняют не оптимизированный код. Это происходит потому, что опытные программисты предпочитают использовать код повторно, и пусть этот код написан другими программистами, - главное, что он рабочий.
"Если работает – лучше не трогать..."

В том то и дело, что код повторный. Если бы нельзя было построить древовидный рантайм граф из нескольких тысяч функций, идея была заведомо нереализуема.
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36330730
zloy den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм, как вы собираетесь отлавливать нечто такого типа:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
public Customer CreateCustomer(string name, string surname)
{
       Customer customer=new Customer();
       customer.Name=name;
       customer.Surname=surname;
       customer.RegDate=GetDate();
       return customer;
}
public DateTime GetDate()
{
       return DateTime.Now;
}

Я вижу 2 варианта:
1. Видим что есть нечто непонятное (GetDate()) и отказываемся оптимизировать
2. Видим что есть что-то непонятно(например, вызов другой функции), анализируем ту функцию и проверяем, можем ли запомнить ее. Если можем, то тут тоже можем запомнить. Если же не можем, то обламываемся с мемоизацией всех вызывающих функций, что может привести к довольно печальному результату в виде минимальной эффективности.
3. Ваш вариант?

Кстати, еще вопрос-как собираетесь кешировать вызовы функций к внешним хранилищам (СУБД например). Можно ли запоминать вызов загрузки объекта в случае ORM или нельзя? Или может как-то следить, за тем что объект изменился? Но как тогда вписать все это в единый алгоритм?

Короче, как вы собираетесь мемоизировать функции, которые имеют побочные эффекты и по сути не могут быть просто сведены к функциональному стилю?
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36330752
zloy den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, императивные программы в большинстве своем вполне (имхо, достаточно реально, если не считать окружающую среду) приводятся к функциональному стилю, думаю можно было бы автоматизировать данный процесс. А еще добавить к полученному функциональному коду профайлер и мемоизировать только те функции, которые действительно в этом нуждаются. А если запихнуть этот код в саму программу, то можно получить автоматически улучшающую свое быстродействие программу (правда остается вопрос-насколько улучшающую?)
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36330822
sqI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zloy denХм, как вы собираетесь отлавливать нечто такого типа:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
public Customer CreateCustomer(string name, string surname)
{
       Customer customer=new Customer();
       customer.Name=name;
       customer.Surname=surname;
       customer.RegDate=GetDate();
       return customer;
}
public DateTime GetDate()
{
       return DateTime.Now;
}

3. Ваш вариант?



Вот по этому я предлагаю плясать не от структуры ( она обманчива ) а от собственно данных которые проходят через эту структуру. Например если набить статистику по этой функции то выяснится что меняется только один параметр для нее. Но в целом конечно нужно думать.

zloy den
Кстати, еще вопрос-как собираетесь кешировать вызовы функций к внешним хранилищам (СУБД например). Можно ли запоминать вызов загрузки объекта в случае ORM или нельзя? Или может как-то следить, за тем что объект изменился? Но как тогда вписать все это в единый алгоритм?

Короче, как вы собираетесь мемоизировать функции, которые имеют побочные эффекты и по сути не могут быть просто сведены к функциональному стилю?

Или отключить или можно организовать общение с внешними хранилищами подняв снова граф зависимостей или использовав контрольные суммы или последнюю дату с которой данные изменились.
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36331665
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sqIВот по этому я предлагаю плясать не от структуры ( она обманчива ) а от собственно данных которые проходят через эту структуру. Например если набить статистику по этой функции то выяснится что меняется только один параметр для нее. Но в целом конечно нужно думать.
Или отключить или можно организовать общение с внешними хранилищами подняв снова граф зависимостей или использовав контрольные суммы или последнюю дату с которой данные изменились.
Да не получится. Анализировать только данные на вход и на выход вообще глупость - может функция недетерменированная, но всегда принимает данные и в тех 100 вызовах, которые вы проанализировали, выдавала одинаковые данные, а на 101 выдаст совершенно другие.

Можно или просто - анализировать структуру и иметь эффективность не более 10-20%.
Или сложно - анализировать структуру, данные входные, выходные, анализировать изменение какого параметра как на что влияет - иметь эффективность 90% и или жутко дорогостоящее петабайтное хранилище, куда будут записываться результаты этих анализов и из которого можно быстро получить результаты (скажем 0.00000000000001% данных хранилища) или тратить эти высвобожденные 90% на анализ и через 5 секунд "забывать" результаты этих анализов. Золотую середину уже нашли - она называется многоуровневый кэш процессора + оперативная память.
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36331826
sqI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
an0nym
Да не получится.


Для начала будем говорить о теоретической возможности.

an0nym
Анализировать только данные на вход и на выход вообще глупость - может функция недетерменированная, но всегда принимает данные и в тех 100 вызовах, которые вы проанализировали, выдавала одинаковые данные, а на 101 выдаст совершенно другие.


Функция не черный ящик. У нее есть весьма определенные зависимости от других данных.

an0nym
Можно или просто - анализировать структуру и иметь эффективность не более 10-20%.


При открытии одно и тогоже сайта можно получить эффективность и в 99%. Я могу заверить что граф вызовов функций будет соответстовать на 100%

an0nym
Или сложно - анализировать структуру, данные входные, выходные, анализировать изменение какого параметра как на что влияет - иметь эффективность 90% и или жутко дорогостоящее петабайтное хранилище


Забудьте про петабайты. Их попросту нет.

an0nym
Куда будут записываться результаты этих анализов и из которого можно быстро получить результаты (скажем 0.00000000000001% данных хранилища) или тратить эти высвобожденные 90%
на анализ и через 5 секунд "забывать" результаты этих анализов.


Это говорим о реализации, пока что еще рано.

an0nym
Золотую середину уже нашли - она называется многоуровневый кэш процессора + оперативная память.

Это аппаратное ускорение. Я же предлогаю программное. Разницу наверно обьяснять не нужно в эффективности.
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36331908
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не хотите проанализировать?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
unsigned int Mand (double initx, double inity, unsigned int iterations) {
    
    double cx,cy,xsq,ysq;
    unsigned int iter;
    
    cx=initx+initx*initx - inity*inity;   
    cy=inity+initx*inity+initx*inity; 
    
    for (iter= 0 ;iter<iterations && (ysq=cy*cy)+(xsq=cx*cx)< 4 ;iter++,cy=inity+cx*cy+cx*cy,cx=initx-ysq+xsq) ;
    return (iter);
}
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36331982
sqI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAlНе хотите проанализировать?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
unsigned int Mand (double initx, double inity, unsigned int iterations) {
    
    double cx,cy,xsq,ysq;
    unsigned int iter;
    
    cx=initx+initx*initx - inity*inity;   
    cy=inity+initx*inity+initx*inity; 
    
    for (iter= 0 ;iter<iterations && (ysq=cy*cy)+(xsq=cx*cx)< 4 ;iter++,cy=inity+cx*cy+cx*cy,cx=initx-ysq+xsq) ;
    return (iter);
}


А что тут сложного. Строишь таблицу зависимостей.
Код: plaintext
double initx, double inity, unsigned int iterations, Result

У тебя тут нет глобальных переменных.
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36331996
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Угу, закэшируйте, пожалуйста, множество Мандельброта...
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36331997
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sqIDocAlНе хотите проанализировать?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
unsigned int Mand (double initx, double inity, unsigned int iterations) {
    
    double cx,cy,xsq,ysq;
    unsigned int iter;
    
    cx=initx+initx*initx - inity*inity;   
    cy=inity+initx*inity+initx*inity; 
    
    for (iter= 0 ;iter<iterations && (ysq=cy*cy)+(xsq=cx*cx)< 4 ;iter++,cy=inity+cx*cy+cx*cy,cx=initx-ysq+xsq) ;
    return (iter);
}


А что тут сложного. Строишь таблицу зависимостей.
Код: plaintext
double initx, double inity, unsigned int iterations, Result

У тебя тут нет глобальных переменных.
И получаем таблицу размером 3.66e106 байт.
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36332006
sqI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
an0nymsqIDocAlНе хотите проанализировать?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
unsigned int Mand (double initx, double inity, unsigned int iterations) {
    
    double cx,cy,xsq,ysq;
    unsigned int iter;
    
    cx=initx+initx*initx - inity*inity;   
    cy=inity+initx*inity+initx*inity; 
    
    for (iter= 0 ;iter<iterations && (ysq=cy*cy)+(xsq=cx*cx)< 4 ;iter++,cy=inity+cx*cy+cx*cy,cx=initx-ysq+xsq) ;
    return (iter);
}


А что тут сложного. Строишь таблицу зависимостей.
Код: plaintext
double initx, double inity, unsigned int iterations, Result

У тебя тут нет глобальных переменных.
И получаем таблицу размером 3.66e106 байт.

Ответ не правильный. Во-первых экспериментально его функция может оказаться вызываться всего с сотней аргументов из разных мест. Ведь ее не вызывали 3.66e106/4 раз.
Во-вторых имея зависимости возможно нам эта таблица не нужна будет и мы до нее не дойдем. Поскольку ветка может быть пресечена еще на уровне выше. Если будут отрезолвены зависимости парентовых функций.
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36332100
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sqI, а ничего, что вместо нескольких умножений, сложений и присвоений, произойдет намного более сложная работа, которая может даже никогда больше в жизни не понадобиться? Лично я не готов ни гонять свой процессор ради такой работы, ни тратить дисковое пространство, чтобы кто-то заранее посчитал, а я вместо 100 Мб качал бы целый Гб...
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36332104
Фотография С0ВЕСТЬ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имхо, данный топик полон бреда.
Есть и более прогрессивные методы.
Тут все думают локально, а жаль


----------------------
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36332178
sqI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
an0nymsqI, а ничего, что вместо нескольких умножений, сложений и присвоений, произойдет намного более сложная работа, которая может даже никогда больше в жизни не понадобиться?

Если приложение открывается и реагирует на твое действие <1 сек, хорошо спроектировано, то наверное так и есть. Смысла оптимизировать и кешировать результаты работы функций которые проще пересчитать чем закешировать. В остальных случаях есть смысл кешировать, чтобы подвисающее приложение снова ускорить в <1 сек.

an0nym
Лично я не готов ни гонять свой процессор ради такой работы, ни тратить дисковое пространство, чтобы кто-то заранее посчитал, а я вместо 100 Мб качал бы целый Гб...

А мне лично не жалко оперативной памяти. Лижбы приложение ускорилось в работе.
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36332180
sqI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С0ВЕСТЬ
Есть и более прогрессивные методы.
Тут все думают локально, а жаль


Например ?
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36333088
Фотография С0ВЕСТЬ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выделю даже, надеюсь догадаешься:
sqIС0ВЕСТЬ
Есть и более прогрессивные методы.
Тут все думают локально , а жаль

Например ?
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36333104
zloy den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С0ВЕСТЬВыделю даже, надеюсь догадаешься:
sqIС0ВЕСТЬ
Есть и более прогрессивные методы.
Тут все думают локально , а жаль

Например ?

Предлагаете менять железо и операционку? Вообще весь стиль программирования? Еще что-то? Мне тоже интересны глобальные идеи
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36333210
Фотография С0ВЕСТЬ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zloy denС0ВЕСТЬВыделю даже, надеюсь догадаешься:
sqIС0ВЕСТЬ
Есть и более прогрессивные методы.
Тут все думают локально , а жаль

Например ?

Предлагаете менять железо и операционку? Вообще весь стиль программирования? Еще что-то? Мне тоже интересны глобальные идеи
зачем что-то менять, если на этом пути многие корпорации сделали уже делают успешные начальные шаги.
Вычисления в облаке слыхали? :)
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36333407
sqI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zloy denС0ВЕСТЬВыделю даже, надеюсь догадаешься:
sqIС0ВЕСТЬ
Есть и более прогрессивные методы.
Тут все думают локально , а жаль

Например ?

Предлагаете менять железо и операционку? Вообще весь стиль программирования? Еще что-то? Мне тоже интересны глобальные идеи

Пока я предлагаю провести еще ряд экспериментов в песочнице, выслушать еще идеи и понять, стоит ли игра свечь. В теории пока видится все довольно просто, на практике пока нужно пробовать.
Песочницей для анализа и построения графа для взрослого приложения служит пока что вот эта вещь которая умеет эмулировать работу приложения, отслеживать и сохранять всю историю вызовов функций и их параметров.
На этой неделе я выложу дистрибутив, когда приведу его в порядок.
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36333411
sqI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С0ВЕСТЬzloy denС0ВЕСТЬВыделю даже, надеюсь догадаешься:
sqIС0ВЕСТЬ
Есть и более прогрессивные методы.
Тут все думают локально , а жаль

Например ?

Предлагаете менять железо и операционку? Вообще весь стиль программирования? Еще что-то? Мне тоже интересны глобальные идеи
зачем что-то менять, если на этом пути многие корпорации сделали уже делают успешные начальные шаги.
Вычисления в облаке слыхали? :)

слыхал, у Дидми
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36333476
Фотография С0ВЕСТЬ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sqIслыхал, у Дидми

Краткое описание
Кстати, крупные корпорации этим занимаются давно уже.
Microsoft, SUN, Oracle...
Но, до ума не доведена, пока что...
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36333491
sqI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С0ВЕСТЬsqIслыхал, у Дидми

Краткое описание
Кстати, крупные корпорации этим занимаются давно уже.
Microsoft, SUN, Oracle...
Но, до ума не доведена, пока что...

Ты хоть знаешь какие задачи попадают хорошо под распаралеливание, а какие нет. В чем отличие алгоритмов ?
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36333595
Фотография С0ВЕСТЬ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sqIС0ВЕСТЬsqIслыхал, у Дидми
Краткое описание
Кстати, крупные корпорации этим занимаются давно уже.
Microsoft, SUN, Oracle...
Но, до ума не доведена, пока что...
Ты хоть знаешь какие задачи попадают хорошо под распаралеливание, а какие нет. В чем отличие алгоритмов ?

Написал ведь, до ума не доведено!
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36333631
sqI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С0ВЕСТЬ
Написал ведь, до ума не доведено!

До ума не доведено, простите, что ? Математическую подоплеку этой кухни хоть знаешь ?
Или не знаешь. Просто ответ мне: Да/Нет.
Эта задача математически просто не решается.
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36333661
Фотография С0ВЕСТЬ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sqIС0ВЕСТЬ
Написал ведь, до ума не доведено!

До ума не доведено, простите, что ? Математическую подоплеку этой кухни хоть знаешь ?
Или не знаешь. Просто ответ мне: Да/Нет.
Эта задача математически просто не решается.

Честно говоря, меня технические тонкости не особо интересны.
Меня больше волнует, как это можно довести до ума и делать бабло!
Простой пример: рендеринг видео из терабайтов данных несложными действиями, производительность - очень большая.
Как-то так.
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36333672
sqI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С0ВЕСТЬрендеринг видео из терабайтов данных несложными действиями, производительность - очень большая.
Как-то так.

Купи себе хороший сервер и рендерь на здоровье. Я же буду окучивать поле миллионов десктопов не мощнее 2ГГЦ.
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36333768
Фотография С0ВЕСТЬ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sqIС0ВЕСТЬрендеринг видео из терабайтов данных несложными действиями, производительность - очень большая.
Как-то так.

Купи себе хороший сервер и рендерь на здоровье. Я же буду окучивать поле миллионов десктопов не мощнее 2ГГЦ.
С тобой все понятно.
Вижу никогда в Максе не рендерил картинку хорошего качества скажем через Бразил или Врэй.
А когда этот рендеринг подключаешь через встроенную тулзу, которая работает в локалке, время рендеринга сокращается налицо!
Картинка ранее рендерившая более 8-ми часов в локалке из 10 компов раздается по пару минут на каждый, есть разница?
visit me
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36333800
zloy den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С0ВЕСТЬ
Вычисления в облаке слыхали? :)

Имхо, это ортогональные действия-кеширование повторяющихся действий и распараллеливание вычислений. Т.е. по сути ускорение программ на имеющемся железе и увеличение мощности железа при примерно тех же алгоритмах. Так что не впечатлен идеей, глобальности ровно столько же. Кстати, идеям кластеров уже черт знает сколько времени , так что ничего нового я тут не вижу. А проблемы по прежнему есть, и не факт что их решат (хотя бы потому, что времени прошло уже много, а пока ничего). Думаю, реализуемость обоих подходов будет ограничена. А заодно, их можно комбинировать, что даст больше плюшек, чем применение любого из них
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36333801
sqI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С0ВЕСТЬsqIС0ВЕСТЬрендеринг видео из терабайтов данных несложными действиями, производительность - очень большая.
Как-то так.

Купи себе хороший сервер и рендерь на здоровье. Я же буду окучивать поле миллионов десктопов не мощнее 2ГГЦ.
С тобой все понятно.
Вижу никогда в Максе не рендерил картинку хорошего качества скажем через Бразил или Врэй.
А когда этот рендеринг подключаешь через встроенную тулзу, которая работает в локалке, время рендеринга сокращается налицо!
Картинка ранее рендерившая более 8-ми часов в локалке из 10 компов раздается по пару минут на каждый, есть разница?
visit me

Значит твоя задача хорошо поддается распараллеливанию. И если у тебя есть 10 лишних компьютеров в локалке то можно попытаться от этого плясать. Взять, так сказать, хардвером.
Но смею тебя заверить, множество задач которые хорошо расспаралеливаются является только подмножеством задач которые распараллеливать или нельзя или не эффективно.

Примеры:
fx = a(b(c(x)))
fx = a(x)+b(x)+c(x)
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36333828
Фотография С0ВЕСТЬ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zloy denС0ВЕСТЬ
Вычисления в облаке слыхали? :)

Имхо, это ортогональные действия-кеширование повторяющихся действий и распараллеливание вычислений. Т.е. по сути ускорение программ на имеющемся железе и увеличение мощности железа при примерно тех же алгоритмах. Так что не впечатлен идеей, глобальности ровно столько же. Кстати, идеям кластеров уже черт знает сколько времени , так что ничего нового я тут не вижу. А проблемы по прежнему есть, и не факт что их решат (хотя бы потому, что времени прошло уже много, а пока ничего). Думаю, реализуемость обоих подходов будет ограничена. А заодно, их можно комбинировать, что даст больше плюшек, чем применение любого из них
!!!
Распределённые вычисления != Кластерам
Разница между ними очень тонкая.
Распределённые вычисления можно производить в Глобальной Сети, тогда как кластеры должны быть связаны в локалку.
http://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D1%91%D0%BD%D0%BD%D1%8B%D0%B5_%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D1%8FОбщая схема участия в том или ином проекте распределённых вычислений выглядит так: потенциальный участник скачивает клиентскую часть программного обеспечения под свою операционную систему, настраивает и запускает её. Клиент периодически общается с сервером проекта — запрашивает у него данные на обработку и отсылает результаты. При этом клиент выполняется с наименьшим приоритетом (приоритетом простоя (англ.)) и не мешает основной работе.
Многие наверное устанавливая драйвер ATI не раз интересовались дополнительной галочкой: http://ru.wikipedia.org/wiki/Folding@Home]Folding@Home .
Вычисления переносятся уже на GPU в период его незагруженности.
Мощь GPU в последнее время давно опередила сами CPU.
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36333852
sqI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С0ВЕСТЬ
Мощь GPU в последнее время давно опередила сами CPU.

Ладно, отклонюсь от основной темы. Конечно здесь идет речь о совсем других видах оптимизаций.
Но всеже.
То что у тебя 8ми ядерный сервер, это еще не означает что он эффективно загрузит все 8 ядер даже при рендиринге видео. Есть аппаратное распаралеливание (на уровне конвеера процессора, на уровне блока предсказаний). Есть так называемое распаралеливание компилятором. Когда он может попытаться угадать, какие вычисления промежуточные, их можно считать на периферийных процессорах. Есть распаралеливание высокоуровневое. Собственно ты должен представлять что чем более высокий уровень тем проще отделить мух от котлет.

Поэтому распаралеливание по сути тоже может требовать статистического анализа кода с сохранением и анализом массивов промежуточных переменных.
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36333912
Фотография С0ВЕСТЬ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sqIС0ВЕСТЬ
Мощь GPU в последнее время давно опередила сами CPU.

Ладно, отклонюсь от основной темы. Конечно здесь идет речь о совсем других видах оптимизаций.
Но всеже.
То что у тебя 8ми ядерный сервер, это еще не означает что он эффективно загрузит все 8 ядер даже при рендиринге видео. Есть аппаратное распаралеливание (на уровне конвеера процессора, на уровне блока предсказаний). Есть так называемое распаралеливание компилятором. Когда он может попытаться угадать, какие вычисления промежуточные, их можно считать на периферийных процессорах. Есть распаралеливание высокоуровневое. Собственно ты должен представлять что чем более высокий уровень тем проще отделить мух от котлет.

Поэтому распаралеливание по сути тоже может требовать статистического анализа кода с сохранением и анализом массивов промежуточных переменных.

Меня не интересует сервер в 16 процессоров с 64 ядрами!
Меня интересует, как можно взять программу(данные) и разослать по всему миру, результаты приходят мне в готовом виде и собираются воедино!
авторДля выполнения вычислений Folding@home использует не суперкомпьютер, а вычислительную мощь сотен тысяч персональных компьютеров со всего мира. Для того, чтобы участвовать в проекте, человек должен загрузить небольшую программу-клиент. В среднем типичный современный компьютер загружен лишь на 5 %, и клиентская программа Folding@Home запускается в фоновом режиме и выполняет вычисления лишь в то время, когда ресурсы процессора не полностью используются другими приложениями.

Программа-клиент Folding@home периодически подключается к серверу для получения очередной порции данных для вычислений. После завершения расчётов их результаты отсылаются обратно.
Принцип работы р2р-сетей
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36333960
sqI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С0ВЕСТЬ
Программа-клиент Folding@home периодически подключается к серверу для получения очередной порции данных для вычислений. После завершения расчётов их результаты отсылаются обратно.
Принцип работы р2р-сетей

Старый велосипедик для НАСА.
Жаль что для 99% задач уровня десктоп "здесь и сейчас и без глюков" не подходит :(
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36333992
zloy den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С0ВЕСТЬ
!!!
Распределённые вычисления != Кластерам
Разница между ними очень тонкая.
Распределённые вычисления можно производить в Глобальной Сети, тогда как кластеры должны быть связаны в локалку.


Хм, в интернете другой TCP/IP? Не, серьезно, чем отличается от машин кластера с клиентом общающимся через глобальную сеть? Т.е. если разница только между тем что локальная сеть и весь интернет, то это вообще не разница, кроме удобной и простой настройки клиентов (чтобы каждый без проблем и долгих настроек мог поставить себе клиент для этого "облака"). Или в том что P2P? Если так, то думаю кластера с такой системой тоже существуют (хотя не интересовался, так что утверждать не буду)
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36333996
sqI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С0ВЕСТЬ,

9 женщин не смогут родить одного младенца за один месяц, как никрути.
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36334002
Фотография С0ВЕСТЬ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Говорите невозможно?
Хм...
Все равно я это хочу сделать!
И верю, что ничего невозможного нету.



----------------------
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36334026
sqI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С0ВЕСТЬГоворите невозможно?
Хм...
Все равно я это хочу сделать!
И верю, что ничего невозможного нету.

----------------------


Что именно ты хочешь сделать ?
Что нового ты можешь сегодня добавить к своей любимой p2p программе ?
Есть новые идеи ?
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36334155
Фотография С0ВЕСТЬ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sqIС0ВЕСТЬГоворите невозможно?
Хм...
Все равно я это хочу сделать!
И верю, что ничего невозможного нету.

----------------------


Что именно ты хочешь сделать ?
Что нового ты можешь сегодня добавить к своей любимой p2p программе ?
Есть новые идеи ?

А, хитрый какой, расскажи всю свою идею... не так дело не пойдет.
Это моя идея и хочу реализовать, если получится клнечно.
Только проблемка, тут нужны хорошие спецы.
С чего конкретно начинать, пока тяжело примериться.
...
Рейтинг: 0 / 0
Почему компьютер выполняет 90% лишней работы ?
    #36334178
sqI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в сабже я описал свою идею
...
Рейтинг: 0 / 0
55 сообщений из 55, показаны все 3 страниц
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Почему компьютер выполняет 90% лишней работы ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]