|
|
|
Можно ли реализовать ветвление
|
|||
|---|---|---|---|
|
#18+
Столкнулся с тем, что мне не хватает отдельного типа ветвления, наподобие: Код: pascal 1. 2. 3. 4. как аналога ассемблеровских инструкций Код: pascal 1. 2. 3. 4. Конечно, я могу записать, Код: pascal 1. 2. 3. 4. 5. 6. 7. однако компилятор (но крайней мере, в моем случае) переводит это в избыточный код с двойным сравнением VAR1 с VAR2 (как и записано). Если в качестве переменных используются результаты функций или сложных вычислений, приходится создавать отдельные переменные и выделять под них память. При этом операция повторного сравнения все равно остается. Можно ли как-то избежать этого? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2017, 10:08:25 |
|
||
|
Можно ли реализовать ветвление
|
|||
|---|---|---|---|
|
#18+
Сергей NМожно ли как-то избежать этого? Если тип числовой, то можно вычесть одну переменную из другой и работать уже с результатом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2017, 10:14:36 |
|
||
|
Можно ли реализовать ветвление
|
|||
|---|---|---|---|
|
#18+
Сергей Nприходится создавать отдельные переменныенормальные программисты код пишут для людей, а не для компьютера ;-) Сергей Nвыделять под них памятьвсе это и так неявно создается зачастую, при сложных вычислениях регистров не хватает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2017, 10:22:02 |
|
||
|
Можно ли реализовать ветвление
|
|||
|---|---|---|---|
|
#18+
Сергей N, Math.CompareValue(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2017, 10:24:30 |
|
||
|
Можно ли реализовать ветвление
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, спасибо. С помощью собственной inline функции - аналога из Math и конструкций ifthen или case задачу решить конечно можно, но компилируемый код далек от того, чего хотелось бы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2017, 11:11:06 |
|
||
|
Можно ли реализовать ветвление
|
|||
|---|---|---|---|
|
#18+
fd00ch, авторнормальные программисты код пишут для людей, а не для компьютера ;-) Нормальные программисты, бывает, и прямо для процессора пишут, если сильно нужно :) Случаи всякие бывают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2017, 12:05:14 |
|
||
|
Можно ли реализовать ветвление
|
|||
|---|---|---|---|
|
#18+
makhaon, SOFT FOR YOU, перелогинься)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2017, 12:07:18 |
|
||
|
Можно ли реализовать ветвление
|
|||
|---|---|---|---|
|
#18+
Сергей N, Есть у меня стойкое чувство, что от в твоей оптимизации нет никакого смысла. Пыль - неизмеримые наносекунды. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2017, 12:12:06 |
|
||
|
Можно ли реализовать ветвление
|
|||
|---|---|---|---|
|
#18+
fd00ch, мне самому не очень нравится то, что делает софт фор ю. я предпочитаю делать некоторые куски кода на mmx'е, где от этого есть реальна польза (фильтры-свёртки, например). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2017, 12:15:13 |
|
||
|
Можно ли реализовать ветвление
|
|||
|---|---|---|---|
|
#18+
wadmanЕсли тип числовой, то можно вычесть одну переменную из другой и работать уже с результатом.И отгрести переполнение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2017, 13:26:29 |
|
||
|
Можно ли реализовать ветвление
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_wadmanЕсли тип числовой, то можно вычесть одну переменную из другой и работать уже с результатом.И отгрести переполнение Зависит от... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2017, 13:45:09 |
|
||
|
Можно ли реализовать ветвление
|
|||
|---|---|---|---|
|
#18+
wadmanЗависит от...Лично я не люблю, когда код начинает зависеть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2017, 13:46:37 |
|
||
|
Можно ли реализовать ветвление
|
|||
|---|---|---|---|
|
#18+
Сергей Nоднако компилятор (но крайней мере, в моем случае) переводит это в избыточный код с двойным сравнением VAR1 с VAR2 (как и записано). Если в качестве переменных используются результаты функций или сложных вычислений, приходится создавать отдельные переменные и выделять под них память.Студент? Писать программу на Delphi под Windows и волноваться из-за того, что компилятор делает на одну-две машинных инструкции сравнения больше - это какая-то опасная психическая мания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2017, 13:49:27 |
|
||
|
Можно ли реализовать ветвление
|
|||
|---|---|---|---|
|
#18+
Зашедший, а я раньше удивлялся, почему у нас везде культура производства такая низкая? А вообще убедили. Делаю простые ассемблерные вставки и снимаю вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2017, 13:59:49 |
|
||
|
Можно ли реализовать ветвление
|
|||
|---|---|---|---|
|
#18+
Сергей NЗашедший, а я раньше удивлялся, почему у нас везде культура производства такая низкая? А вообще убедили. Делаю простые ассемблерные вставки и снимаю вопрос.Вот поэтому она и низкая, что дилетанты начинают блох подковывать вместо строительства конвейера и делать ассемблерные вставки там, где они не нужны. Что-то переписывать на ассемблере есть смысл только после прогона профилировщиком и нахождения боттлнека, юноша. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2017, 14:05:39 |
|
||
|
Можно ли реализовать ветвление
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_wadmanЗависит от...Лично я не люблю, когда код начинает зависетьОт программиста? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2017, 14:05:54 |
|
||
|
Можно ли реализовать ветвление
|
|||
|---|---|---|---|
|
#18+
wadmanОт программиста?От входных данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2017, 14:21:20 |
|
||
|
Можно ли реализовать ветвление
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_wadmanОт программиста?От входных данных Я не верю в цифровых духов. Считаю, что всё зависит от программиста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2017, 15:01:42 |
|
||
|
Можно ли реализовать ветвление
|
|||
|---|---|---|---|
|
#18+
Зашедший, то что вы умеете пользоваться профайлерами, это здорово. То, что вы с помощью них умеете искать узкие места, тоже прекрасно. Пожелаю вам и код писать красивый, ведь, красота - это неосознанное признание целесообразности, не правда ли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2017, 15:46:07 |
|
||
|
Можно ли реализовать ветвление
|
|||
|---|---|---|---|
|
#18+
Сергей NМожно ли как-то избежать этого? Сергей, ну вот не знаю как ты пишешь. Делфя гененирует тот код, который тебе надо. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2017, 15:57:13 |
|
||
|
Можно ли реализовать ветвление
|
|||
|---|---|---|---|
|
#18+
если 1 сравнение и ветка, то только самому руками ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2017, 15:59:00 |
|
||
|
Можно ли реализовать ветвление
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2017, 16:14:55 |
|
||
|
Можно ли реализовать ветвление
|
|||
|---|---|---|---|
|
#18+
Сергей NЗашедший, то что вы умеете пользоваться профайлерами, это здорово. То, что вы с помощью них умеете искать узкие места, тоже прекрасно. Пожелаю вам и код писать красивый, ведь, красота - это неосознанное признание целесообразности, не правда ли.Красивый код - это в первую очередь легко поддерживаемый и расширяемый код, покрытый интеграционными и юнит-тестами. За использование без какой-либо нужды вместо читаемого "if" нагромождения ассемблера в софтверных компаниях с выстроенным процессом разработки тимлид сначала влепит выговор, а при упорствовании - уволит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2017, 16:35:29 |
|
||
|
Можно ли реализовать ветвление
|
|||
|---|---|---|---|
|
#18+
Зашедший, ну что ты в самом деле со своими приземленными материями пристал к страждущему высокого искусства низкоуровневой оптимизации! Он художник, он так видит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2017, 20:44:48 |
|
||
|
Можно ли реализовать ветвление
|
|||
|---|---|---|---|
|
#18+
Сергей NСтолкнулся с тем, что мне не хватает отдельного типа ветвления, наподобие: Код: pascal 1. 2. 3. 4. ... однако компилятор... Можно ли как-то избежать этого? Код: pascal 1. 2. 3. 4. 5. Во что там переводит канпилятор - не знаю и знать не хочу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2017, 20:53:52 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39556004&tid=2041551]: |
0ms |
get settings: |
5ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
175ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 476ms |

| 0 / 0 |
