Войти
ПрограммированиеФорумОбщее

MemTest 64/128 (4 стр)

Страницы: 1 2 3 4 5 Следующая »
#45
20:21, 24 июня 2020

Truthfinder
> Const не должен создавать никакой копии
Вот именно, что если используется префикс const, то компилятор Delphi создает копию в стеке, а потом обрабатывает переменную из стека. Уже проверял неоднократно и дизасм как доказательство приводил.

>Оно не вносит в асм код ничего
Еще как вносит. Код по разному генерится.

#46
(Правка: 20:32) 20:32, 24 июня 2020

Я тут спорить не буду. В Дельфях не спец. Но если это так, то моё мнение о них только хуже стало.

#47
20:40, 24 июня 2020

eDmk
> Уже проверял неоднократно и дизасм как доказательство приводил.

Это вот этот чтоли дизасм?
https://gamedev.ru/code/forum/?id=246292&page=2&m=5030776#m28

Допиши для своего теста {$OPTIMIZATION ON} и укажи версию делфи.

#48
20:47, 24 июня 2020

CD
В дельфи вообще лучше не включать оптимизацию.

> Это вот этот чтоли дизасм?
Да. Так в любой функции или процедуре.
В этом случае из-за отладки RBP подставлен. Так он через RSP адресует.

#49
20:48, 24 июня 2020

Truthfinder
> Но если это так
Да к сожалению, это так. Еще структуры также через стек возвращает. Получается двойная запись результата. «Двойной копец!»

#50
(Правка: 20:57) 20:55, 24 июня 2020

eDmk
> В дельфи вообще лучше не включать оптимизацию.

Без оптимизации любые регистровые аргументы будут скопированы на стек, что с const, что без 

>Еще структуры также через стек возвращает.

В общем случае тоже неправда, что с оптимизацией, что без. Очевидный тест это показывает

+ Показать

Хз что там у тебя за частный случай может быть

(проверяю на Delphi 10.3 в x86, ожидаю что так везде)

#51
21:58, 24 июня 2020

CD
У меня XE6 Prof x64.

#52
(Правка: 12:51) 12:50, 25 июня 2020

По работе приложение шустрее стало однозначно. Стартует быстрее, грузит быстрее.

#53
15:17, 25 июня 2020

Truthfinder
Да, сделал передачу параметров в критичных по скорости процедурах по ссылкам и все завертелось значительно шустрее. Ссылки - сила :)

#54
(Правка: 16:47) 16:30, 25 июня 2020

eDmk
> Да, сделал передачу параметров в критичных по скорости процедурах по ссылкам и
> все завертелось значительно шустрее. Ссылки - сила :)

Освоишь memory mapping будет еще быстрее, освоишь no-copy будет вообще самолёт. Но даже сейчас уже прям отлично. Чтобы быстро грузился самолет, которого нет в моделях в архиве.

#55
16:45, 25 июня 2020

eDmk
> Да, сделал передачу параметров в критичных по скорости процедурах по ссылкам и
> все завертелось значительно шустрее. Ссылки - сила :)
А какой размер параметров?

#56
17:46, 25 июня 2020

1 frag / 2 deaths
> А какой размер параметров?
8 байт - Pointer

#57
21:31, 25 июня 2020

eDmk
> 8 байт - Pointer
Ты стал передавать поинтеры по ссылкам и всё ускорилось?
Или ты делаешь вид, что не понял мой вопрос?

#58
22:12, 25 июня 2020

1 frag / 2 deaths
> Ты стал передавать поинтеры по ссылкам и всё ускорилось?
Вместо структур стал передавать ссылку на стрктуру без копирования.
ПРосто указатель.

> Или ты делаешь вид, что не понял мой вопрос?
Не понял.

#59
(Правка: 23:25) 23:06, 26 июня 2020
MemSpeed(64/128) by eDmk, 2019

Процессор: Intel(R) Core(TM) i3-7100U CPU @ 2.40GHz
Материнская плата: NUC7i3BNB (Intel Corporation)

Свободной памяти: 2,36 Гб
Циклов чтения/записи: 30 x 1,00 Гб

Подготовка памяти ...
                   
1. Запись Bytes: 8,53 Гб/с
2. Запись DWords: 9,50 Гб/с
3. Копирование DWords: 4,22 Гб/с
4. Копирование системой: 3,85 Гб/с
5. Запись QWords: 10,61 Гб/с
6. Чтение QWords: 8,73 Гб/с
7. Запись DQWords через кэш (WT): 6,21 Гб/с
8. Запись DQWords без кэша (NTH): 12,47 Гб/с
9. Чтение DQWords без кэша (NTH): 10,32 Гб/с
X. Запись DWords без кэша (NTH): 7,22 Гб/с
R. Скорость регистров общего назначения: 17,53 Гб/с
M. Скорость XMM-регистров: 71,09 Гб/с

Общий объем чтения/записи:  300,00 Гб

Задержки чтения/записи (64 бита):
R (1/8 байт): 0,27/2,17 нс
W (1/8 байт): 0,33/2,63 нс

eDmk
> > Или ты делаешь вид, что не понял мой вопрос?
> Не понял.
Какой был размер(в байтах) у структур "которые раньше передавались по значению через параметры и которые теперь передаются по ссылке"?

Страницы: 1 2 3 4 5 Следующая »
ПрограммированиеФорумОбщее