Текущее время: Ср, июл 02 2025, 09:03

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Ссылки и символы полей в ABAP
СообщениеДобавлено: Чт, дек 14 2006, 07:05 
Ассистент
Ассистент

Зарегистрирован:
Вт, сен 26 2006, 06:57
Сообщения: 47
Всем доброго времени суток.

Как-то раз шеф обронил, что "при использовании динамических переменных скорость выполнения программы может возрасти на порядок".

Вопрос: как применяются ref to data и field-symbols в программах?
Как, например, в C/C++ или нет?
Т.е. в С++:
char *start = ...;
int count = ...;
for ( int i = 0, p = start; i < count; i++, p++ ) {
... тут можно себе позволить запись по адресу
}
в ABAP:
loop at itab reference to itab_ref.
.... действия, включающие в себя модификацию данных, на которые
.... ссылается itab_ref
endloop.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ссылки и символы полей в ABAP
СообщениеДобавлено: Чт, дек 14 2006, 08:22 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, янв 24 2005, 16:22
Сообщения: 749
Пол: Мужской
linker написал(а):
Всем доброго времени суток.

Как-то раз шеф обронил, что "при использовании динамических переменных скорость выполнения программы может возрасти на порядок".

Вопрос: как применяются ref to data и field-symbols в программах?
Как, например, в C/C++ или нет?
Т.е. в С++:
char *start = ...;
int count = ...;
for ( int i = 0, p = start; i < count; i++, p++ ) {
... тут можно себе позволить запись по адресу
}
в ABAP:
loop at itab reference to itab_ref.
.... действия, включающие в себя модификацию данных, на которые
.... ссылается itab_ref
endloop.


Примеры использования можно найти в сообщениях на форуме:
http://sapboard.ru/forum/search.php

Если же говорить о производительности при использовании динамических переменных, то она повышается за счет уменьшения числа копирований при передаче параметров и т.п., но в abap коде редко встретишь большое количество кода для обработки, так как логика работы чуть иная, поэтому оптимизировать надо в первую очередь работу с БД и использование табличных переменных в программе

_________________
Счастье есть!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ссылки и символы полей в ABAP
СообщениеДобавлено: Чт, дек 14 2006, 08:28 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5258
Откуда: Ростов невеликий
Пол: Мужской
linker написал(а):
в ABAP:
loop at itab reference to itab_ref.
.... действия, включающие в себя модификацию данных, на которые
.... ссылается itab_ref
endloop.

Посмотрите статистику выполнения программы, и вопросы про указатели отпадут сами собой.
p.s. " здесь вам не равнина, здесь климат иной.."


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, дек 14 2006, 09:37 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
Ваш шеф был прав, динамические переменные, создаваемые с помощью оператора new в с++ влекут за собой вызов менеджера динамической памяти, который собственно эту память выделяет, перераспределяет, удаляет, запускает очистку памяти и т.д. Поэтому скорость его работы может быть достаточно низкой, в отличии от использования глобальных (для который память уже выделена при запуске экземпляра программы) или локальных (создаваемых на стеке) переменных. Но в любом случае, скорость обращения к оперативной памяти на несколько порядков выше, чем доступ к информации на жестком диске, обработке на сервере базы данных и передаче ее по локальной сети, то есть тем операциям, которые возникают при работе с базой данных.
Поэтому увеличение производительности программы сводится к написанию оптимальных запросов к базе данных.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, дек 14 2006, 10:04 
Ассистент
Ассистент

Зарегистрирован:
Вт, сен 26 2006, 06:57
Сообщения: 47
Спасибо за ответы.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB