|
2 / 2 / 0
Регистрация: 06.12.2011
Сообщений: 33
|
|
Инициализировать массив быстро?10.12.2011, 20:04. Показов 6999. Ответов 39
Метки нет (Все метки)
Возможно ли инициализировать все элементы массива каким-то числом быстрее, чем через цикл? Как это можно сделать? Если нельзя, то как лучше это сделать в цикле-помещать локальные переменные счетчика и числа в процессорные регистры?
0
|
|
| 10.12.2011, 20:04 | |
|
Ответы с готовыми решениями:
39
не получается инициализировать массив Как инициализировать массив ссылок? |
|
65 / 71 / 9
Регистрация: 25.06.2009
Сообщений: 244
|
||
| 10.12.2011, 21:06 | ||
|
можно заранее создать число большее по размеру которое было бы сочетанием нескольких переменных, но когда неизвестно это число мне кажется это только дольше будет
1
|
||
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
| 10.12.2011, 21:06 | |
|
taras atavin, mmx работает с массивами данных
register же наврятли для этого применялся
0
|
|
|
2 / 2 / 0
Регистрация: 06.12.2011
Сообщений: 33
|
||
| 10.12.2011, 21:12 [ТС] | ||
0
|
||
|
65 / 71 / 9
Регистрация: 25.06.2009
Сообщений: 244
|
|||||||
| 10.12.2011, 21:17 | |||||||
1
|
|||||||
|
4226 / 1799 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 10.12.2011, 21:21 | |
|
0
|
|
|
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
|
| 10.12.2011, 21:28 | |
|
Что-то мне кажется, что компилятор сделает код не хуже, чем эта ассемблерая вставка.
Если убрать лишний jmp, лишний cmp (можно ecx менять от 99 до 0), развернуть цикл, возможно, добавить prefetch'и (не знаю, будет ли лучше, но попробовать не вредно), копировать целыми xmm регистрами сразу по 4 элемента, тогда надо будет уже сравнивать.
1
|
|
|
65 / 71 / 9
Регистрация: 25.06.2009
Сообщений: 244
|
||
| 10.12.2011, 21:35 | ||
|
0
|
||
|
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
|||||||||||||||||||||
| 10.12.2011, 22:12 | |||||||||||||||||||||
Добавлено через 10 минут А с ключом -funroll-loops вообще замечательно
2
|
|||||||||||||||||||||
|
2 / 2 / 0
Регистрация: 06.12.2011
Сообщений: 33
|
|||||||||||
| 19.12.2011, 22:28 [ТС] | |||||||||||
|
Если массив объявлен так:
то можно ли его инициализировать нулями так:
0
|
|||||||||||
|
2 / 2 / 0
Регистрация: 06.12.2011
Сообщений: 33
|
||
| 19.12.2011, 22:50 [ТС] | ||
|
Спасибо, это мне сэкономит несколько циклов
![]()
0
|
||
|
2 / 2 / 0
Регистрация: 06.12.2011
Сообщений: 33
|
||
| 19.12.2011, 23:01 [ТС] | ||
|
0
|
||
|
2 / 2 / 0
Регистрация: 06.12.2011
Сообщений: 33
|
||||||
| 20.12.2011, 02:55 [ТС] | ||||||
|
Научился выводить в консоль.
Проверяем исходный вариант:
0
|
||||||
|
2 / 2 / 0
Регистрация: 06.12.2011
Сообщений: 33
|
||||||
| 20.12.2011, 03:12 [ТС] | ||||||
|
Проверяем вариант Jupiter:
Получаем, что ячейки пусты: браво Jupiter! Если бы еще кто-то подсказал, как этими скобками пользоваться, и почему 0 они дают, было бы совсем здорово.
0
|
||||||
|
4226 / 1799 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||||||||||
| 20.12.2011, 07:01 | ||||||||||
Добавлено через 9 минут Добавлено через 3 минуты
1
|
||||||||||
|
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
||||
| 20.12.2011, 11:56 | ||||
1
|
||||
|
4226 / 1799 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||||
| 20.12.2011, 12:13 | ||||
0
|
||||
|
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
|
|||||||
| 20.12.2011, 14:21 | |||||||
1
|
|||||||
|
2 / 2 / 0
Регистрация: 06.12.2011
Сообщений: 33
|
|
| 17.02.2012, 09:57 [ТС] | |
|
А ведь еще быстрее наверно можно, если директивы OpenMP использовать в вариантах с циклами.
0
|
|
| 17.02.2012, 09:57 | |
|
Как инициализировать такой массив Как инициализировать массив в классе Как инициализировать массив в структуре? Можно ли как-то инициализировать массив?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
BitTorrent (версия 7.11 English) и Меню Настройки
russiannick 15.11.2026
Пункты, отвечающие за отключение обновлений в BitTorrent версии 7. 11 (английской)
Options
Preferences
General
Language
|
Транслитерация текста с кириллицы на латиницу (вариант №4)
Maks 15.11.2026
Что-то я перемудрил с предыдущими версиями, в этот раз сделал всё проще, обратившись к функции "СтрокаЛатиницей" из типового общего модуля "СтроковыеФункцииКлиент".
В данной функции нет апострофов,. . .
|
BitTorrent (версия 4.3.9) и Меню Настройки
russiannick 15.11.2026
В меню Настройки можно отключить автоматическое обновление программы.
Карта этого меню приложена ниже.
Нужный пункт выделен красным.
Сервис
Настройки
Поведение
|
Транслитерация текста с кириллицы на латиницу (вариант №3)
Maks 15.11.2026
Обновленная версия предыдущей обработки.
Изменения коснулись букв: Ъ, Ы, Ь, Э, отображения которых зависят от положения реквизита "Транслитерация имён".
Изменено отображение буквы Й.
Добавлена. . .
|
|
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки.
Добавлено:
- Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
|
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы.
Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|