Память процессора... Как обратиться? Заполнить? Освободить?

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: Память процессора... Как обратиться? Заполнить? Освободи

Сообщение vitaly_l » 30.05.2012 15:02:11

GrayEddy писал(а):Что у вас за задача, которая требует сверхсветовых скоростей?

Обработка: аналоговой(не цифровой) - информации...


kipar писал(а):так чтобы каждый кусок влезал в кеш

Спасибо.


pda писал(а):Что каждый программист должен знать о памяти.

Спасибо. Там: Автор: Ulrich Drepper, 2007 - Перевод: Капустин С.В., М.Ульянов, Н.Ромоданов, 2009-2012
Читать можно только на приведённом сайте... Книга разбита на части, каждая часть разбита на главы, чтобы прочитать книгу нужно перейти 10000 раз по ссылкам - это, то о чём я писал выше: Повышение ТИЦ и далеко не факт, что там оригинал книги, а не её рерайт.
Хотя наверное, это то что нужно... однако даже в оригинале книги, как обычно: 98% - воды...

Суть всегда умещается в нескольких коротких истинах... Вот её(суть) я и хочу получить в чистом виде... Суть может дать только тот кто уже прочитал книгу Ulrich Drepper и ещё факториал из 1000000 умных книг. И может сформировать несколько необходимых мне выводов т.к. владеет ситуацией и знаниями.


Поэтому: изначальный вопрос - безусловно по прежнему актуален:
:arrow: Как правильно оптимизировать код, в Лазарус, именно: для грамотного использования памяти процессора?




.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Память процессора... Как обратиться? Заполнить? Освободи

Сообщение vada » 30.05.2012 17:05:22

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

Это самые обычные методы программирования которые описаны во всех учебниках по структурному программированию.
В блок один вход, один выход;
Размер блока чтоб на странице помещался;
Вынос из цикла переменных которые в цикле не меняются;
Преобразование алгоритма с минимизацией операций умножения и деления (в разумных пределах, а то не понятно будет что понаписано)
Использование быстрых операций Inc, Dec, Div, Shl, Shr,...Inline очень помогает...
....
Простыми такими методами можно увеличить скорость работы программы в разы, если не в десятки раз.

Тягаться с оптимизаторами на уровне ассемблера - бесполезная трата времени в большинстве случаев.

ЗЫ. Кстати, оптимизация в лазарусе с -O3 это жесть! Вылезают невразумительные глюки.

Добавлено спустя 3 минуты 39 секунд:
Re: Память процессора... Как обратиться? Заполнить? Освободить?
Обработка: аналоговой(не цифровой) - информации...
на цифровой машине это нелегко :)
Ну а если вы аналог в цифру преобразуете, то Быстрое Преобразование Фурье вам в руки. Тут где-то даже статейка на эту тему пробегала.
Аватара пользователя
vada
энтузиаст
 
Сообщения: 691
Зарегистрирован: 14.02.2006 13:43:17

Re: Память процессора... Как обратиться? Заполнить? Освободи

Сообщение vitaly_l » 30.05.2012 17:41:45

vada писал(а):В блок один вход, один выход;
Размер блока чтоб на странице помещался;

:arrow: Что такое блок???
:arrow: Что такое вход-выход???
:arrow: Что такое страница???

В остальном: СПАСИБО - ГРОМАДНОЕ! и дай природа Вам здоровья и т.д.
Ввиду того что, в память процессора обращаться нельзя - это очевидно, то что мне было нужно...
Оптимизацию в Лазарусе я не менял... там кажется, по умолчанию -O2...


Однако и сам вопрос остаётся открытым, т.к. наверняка, есть ещё варианты:
:idea: :arrow: Как правильно оптимизировать код, в Лазарус, именно: для грамотного использования памяти процессора; и +++ быстродействия?



.
Последний раз редактировалось vitaly_l 30.05.2012 20:24:29, всего редактировалось 1 раз.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Память процессора... Как обратиться? Заполнить? Освободи

Сообщение vada » 30.05.2012 18:03:57

Найдите книжку "Теория и практика структурного программирования". В гугле есть. Немножко устарела (про объекты ни слова), но это Вам поможет.
Аватара пользователя
vada
энтузиаст
 
Сообщения: 691
Зарегистрирован: 14.02.2006 13:43:17

Re: Память процессора... Как обратиться? Заполнить? Освободи

Сообщение GrayEddy » 30.05.2012 18:12:46

vitaly_l писал(а):Что такое блок???
:arrow: Что такое вход-выход???
:arrow: Что такое страница???


Имеется в виду блок-схема, и алгоритм работы должен умещаться на одной странице в идеале.
Подробнее http://ru.wikipedia.org/wiki/%D0%91%D0%BB%D0%BE%D0%BA-%D1%81%D1%85%D0%B5%D0%BC%D0%B0

vitaly_l писал(а):Как правильно оптимизировать код, в Лазарус, именно: для грамотного использования памяти процессора; и +++ быстродействия?
Выше уже разжевали... :shock:
Ну сколько можно наступать на те же грабли.
PS. Lazarus как среда оптимизацией кода не занимается.

PPS: Похоже на троллинг.
GrayEddy
постоялец
 
Сообщения: 375
Зарегистрирован: 06.05.2005 09:37:56

Re: Память процессора... Как обратиться? Заполнить? Освободи

Сообщение Little_Roo » 30.05.2012 18:31:29

GrayEddy писал(а):PPS: Похоже на троллинг.

Так ТС в этом уже не раз был замечен в других ветках
Аватара пользователя
Little_Roo
энтузиаст
 
Сообщения: 639
Зарегистрирован: 27.02.2009 19:56:36
Откуда: Санкт-Петербург

Re: Память процессора... Как обратиться? Заполнить? Освободи

Сообщение Kemper » 30.05.2012 18:33:40

vitaly_l писал(а):. Единственное спасение от рерайтеров - это форум, в котором участвуют те кто понимает, о чём говорит и пишет... Там 12 страниц воды...

Нет, единственное спасение от рерайтеров грамотный запрос в поисковиках. Не умеете искать, это не наши проблемы.
vitaly_l писал(а):Однако: Если я... ===> ненавижу assembler.
И хочу пользоваться языком высокого уровня, а конкретно Паскалем и компилятором Лазарус + FPC...

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

vitaly_l писал(а):Обработка: аналоговой(не цифровой) - информации...

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

vitaly_l
Вы опять не хотите читать литературу, а стремитесь с поверхностным знаниям, а такое знание, как работа процессора и правильное управление им с помощью кода требуют огромных и глубинных познаний в программировании.
Kemper
новенький
 
Сообщения: 61
Зарегистрирован: 18.05.2010 00:29:44

Re: Память процессора... Как обратиться? Заполнить? Освободи

Сообщение vitaly_l » 30.05.2012 18:47:39

Kemper писал(а):Вы опять не хотите читать литературу

Я её читаю но после... вначале нужно понять что читать??? Литературы по программированию: много - как песка в пустыне...

Little_Roo писал(а):Так ТС в этом уже не раз был замечен в других ветках

Это не троллинг.

Просто все кто приходит - читают только последнюю запись...
Если не оставить вопрос в силе, то ответов не будет...

:idea: Впрочем, это можно решить так:
Предположим, что МультиУважаемый vada - изложил всё, что требуется для успешной оптимизации...
Тогда он уложился всего в 5 (пять) - строк... и я искренне верю, что больше ничего и нет... и читать книги - нет смысла...
Т.к. то что описал vada - похоже на конечную истину. Это ложь или есть ещё инструкции???

:!: :arrow: Если, ответ: НЕТ - то отвечать не нужно..., а вот если ДА..., то прошу изложить суть, также кратко и ясно как vada.







.
Последний раз редактировалось vitaly_l 31.05.2012 13:02:41, всего редактировалось 3 раз(а).
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Память процессора... Как обратиться? Заполнить? Освободи

Сообщение Kemper » 30.05.2012 19:01:38

vitaly_l писал(а):то что описал vada - похоже на конечную истину. Это правда или есть ещё инструкции???

Мне смешно) Ей Богу) Методов оптимизации куча. vada назвал классические методы, а так нужно смотреть на конкретную задачу и реализацию, а уже после думать, где есть узкие места.
Kemper
новенький
 
Сообщения: 61
Зарегистрирован: 18.05.2010 00:29:44

Re: Память процессора... Как обратиться? Заполнить? Освободи

Сообщение GrayEddy » 30.05.2012 19:09:38

vitaly_l писал(а):то прошу изложить суть, также кратко и ясно как vada.


Пожалуйста. Кратко.
Найдите хорошие книги по алгоритмам программирования. Знания останутся на всю жизнь и не будут зависеть от языка программирования.
Самок выгодное вложение.
Благодаря умелой алгоритмизации вы можете заоптимизировать программу по самое нехочу.
Со временем придет и опыт.
Вот и все.
Последний раз редактировалось GrayEddy 30.05.2012 19:21:53, всего редактировалось 1 раз.
GrayEddy
постоялец
 
Сообщения: 375
Зарегистрирован: 06.05.2005 09:37:56

Re: Память процессора... Как обратиться? Заполнить? Освободи

Сообщение Kemper » 30.05.2012 19:13:37

Бородатый анекдот в тему:
Технический спирт очень не любит, когда его пьёт жалкий гуманитарий.
Kemper
новенький
 
Сообщения: 61
Зарегистрирован: 18.05.2010 00:29:44

Re: Память процессора... Как обратиться? Заполнить? Освободи

Сообщение vitaly_l » 31.05.2012 14:55:58

vada писал(а):Найдите книжку "Теория и практика структурного программирования". В гугле есть.

Волшебная книга... Её название присутствует "во всех" списках рекомендуемой литературы...
На книгу: "Теория и практика структурного программирования" - ссылаются сотни издателей и авторов...
Название книги уникальное... и книги с таким же названием - больше нет, т.к. авторы везде Лингер итд...
Но самой книги (в свободном доступе) - нигде нет... Искал в (google, yandex и bing)/...
А вот ещё.. книга, есть в инет. библиотеках... но туда...
ВНИМАНИЕ ===> вход по член. билету, который могут получить только учащиеся итп...



:arrow: :arrow: :arrow: :cry:



.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Память процессора... Как обратиться? Заполнить? Освободи

Сообщение vada » 31.05.2012 15:08:02

А купить западло?
http://books.google.ru/books?id=IeVNSwA ... ce=gbs_atb
http://opac.mpei.ru/notices/index/IdNot ... ce:default
http://urss.ru/cgi-bin/db.pl?lang=Ru&bl ... ok&id=1960

ЗЫ. Вот жаль я ее потерял за свои больше 10 переездов с места на место.
Последний раз редактировалось vada 31.05.2012 15:19:04, всего редактировалось 1 раз.
Аватара пользователя
vada
энтузиаст
 
Сообщения: 691
Зарегистрирован: 14.02.2006 13:43:17

Re: Память процессора... Как обратиться? Заполнить? Освободи

Сообщение vitaly_l » 31.05.2012 15:17:51

Купить???
Распечатку книги на принтере???
Скупка краденного?! - это запрещено законом.

А по второй ссылке как раз та самая библиотека в которую требуют член. билет...

А вот третья ссылка ведёт в магазин, который действительно предлагает книгу за 400р.
Но я бедный художник - это мой годовой бюджет.


:arrow: :arrow: :arrow: :cry:
.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Память процессора... Как обратиться? Заполнить? Освободи

Сообщение vada » 31.05.2012 15:26:48

Но я бедный художник

Даже ничего не скажу.
Аватара пользователя
vada
энтузиаст
 
Сообщения: 691
Зарегистрирован: 14.02.2006 13:43:17

Пред.След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 230

Рейтинг@Mail.ru