Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2012, 02:35   #11
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от DiemonStar Посмотреть сообщение
сильно упрощённый вариант - обработка координатной точки (вроде типа TPoint). в обычном коде сложение двух переменных будет выглядеть так:
Код:
mov ax, Point1.x
add ax, Point2.x
mov Point1.x, ax
mov ax, Point1.y
add ax, Point2.y
mov Point1.y, ax
хотя, при некоторых допущениях, будет намного функциональнее код типа:
Код:
mov eax, Point1
add eax, Point2
mov Point1, eax
при этом можно учесть и оптимизацию по поточным вычислениям для операций со структурами больших объёмов.
Какие такие допущения приведут к вышеуказанному коду? Должна быть как минимум гарантия, что x == 0 и y неотрицательны у обоих точек. Таких гарантий на момент компиляции дать невозможно, следовательно такая оптимизация неосуществима.
Далее, когда заходит речь о скорости выполнения, основная проблема не в языках, а в том, во что их преобразует компилятор. То есть, если хотите производить супер-пупер оптимизации, то нужно не свой язык пилить, а воспользоваться готовой инфраструктурой и внедрять свои оптимизации в неё (например LLVM).
В общем, что хочу сказать, мне кажется, Вы не правильно ставите цели, или же выбрали неверный путь для их решения.
netrino вне форума Ответить с цитированием
Старый 24.02.2012, 09:09   #12
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
Какие такие допущения приведут к вышеуказанному коду? Должна быть как минимум гарантия, что x == 0 и y неотрицательны у обоих точек. Таких гарантий на момент компиляции дать невозможно, следовательно такая оптимизация неосуществима.
Это всего лишь грубый пример не претендующий на реализуемость. Просто показать принцип оптимизации.
Цитата:
Далее, когда заходит речь о скорости выполнения, основная проблема не в языках, а в том, во что их преобразует компилятор.
Я высказывал такие же соображения несколькими постами ранее.
Цитата:
То есть, если хотите производить супер-пупер оптимизации, то нужно не свой язык пилить, а воспользоваться готовой инфраструктурой и внедрять свои оптимизации в неё (например LLVM).
Ну а это лишь сугубо вопрос удобства и рациональности. Оба подхода вполне жизнеспособны, если в результате получается сбалансированный для необходимых целей код.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 24.02.2012, 16:29   #13
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Это всего лишь грубый пример не претендующий на реализуемость. Просто показать принцип оптимизации.
Счас компилятор от Intel выпустит аналогичный код . От функциональных языков научились так оптимизировать выражения вплоть до констант в случаях когда это возможно. Не думаю, что вы со своими структурами сможете обскакать современные трансляторы.
Возвращаясь к Вашему примеру - точка используется редко и Ваша оптимизация, имей она место не дала бы прироста производительности.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 24.02.2012 в 16:32.
Utkin вне форума Ответить с цитированием
Старый 24.02.2012, 16:54   #14
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
Возвращаясь к Вашему примеру - точка используется редко и Ваша оптимизация, имей она место не дала бы прироста производительности.
попробуйте мыслить абстрактно - это лишь грубый пример, о чём я сказал сразу же. это примерно как спор RISC и CISC архитектур - обе прекрасно применяются, просто в первом случае область применения узкоспециализирована. Теперь представьте на месте этой точки структуры данных по 1-2 кб объёмом)
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 25.02.2012, 18:14   #15
crazy horse
ios developer
Старожил
 
Аватар для crazy horse
 
Регистрация: 16.11.2007
Сообщений: 2,885
По умолчанию

Цитата:
эти конструкции могут быть оптимизированно встроены в язык, а не прифигачены к нему пятой ногой.
Если эти конструкции медленно обрабатываются в языке, на котором пишется новый язык, то каким, прости господи макаром, они быстро заработают в новом? Если просто другая реализация библиотек? Но это не новый язык, это новые библиотеки с теми же ограничениями.
Делайте что хотите, но чтобы через полчаса в лесу было светло, сухо и медведь!
crazy horse вне форума Ответить с цитированием
Старый 25.02.2012, 19:44   #16
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Теперь представьте на месте этой точки структуры данных по 1-2 кб объёмом)
Назовите нам эти структуры . Я пока не вижу таких уникальных структур.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 25.02.2012, 22:10   #17
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
Назовите нам эти структуры . Я пока не вижу таких уникальных структур.
например, если хотите конкретики, ключевая информация, блоки данных при кодировании.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 26.02.2012, 09:25   #18
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
например, если хотите конкретики, ключевая информация, блоки данных при кодировании.
Узкая специализация. Программами для кодирования занимается ничтожный процент программистов.
Не знаю что Вы сможете придумать быстрей конвеерных команд процессора... Это я Вам сразу про конкурентов пишу. А именно про интеловский Фортран. Вот если его обскочите, тогда возможно программисты начнут обращать внимание на Ваш продукт.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 26.02.2012, 10:08   #19
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
Узкая специализация. Программами для кодирования занимается ничтожный процент программистов.
И что из этого? В некоторых сетях изменение алгоритма шифрования по времени само по себе будет немалой защитой и язык программирования, который позволяет изменить этот алгоритм в течении 2-3 минут будет довольно-таки востребован) Не сомневаюсь, что многие силовые структуры оценили бы такой подход.
А никто и не говорил о том, что это будет среда для широкого круга программистов)
Цитата:
Вот если его обскочите, тогда возможно программисты начнут обращать внимание на Ваш продукт.
Какой мой продукт?) у меня так вообще и близко в планах нет заниматься такими вещами)
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 26.02.2012, 17:42   #20
Дэнис
Пользователь
 
Регистрация: 17.10.2011
Сообщений: 89
По умолчанию

А вот тут есть проблемка с выбором:
Сам язык будет Объекто орианированным. Путь такой(по началу, ибо самый лёгкий из всех, что есть):

Моя язык <компилируется> в C/C++ <компилируется с помощью GCC в байт код> Байт код.


Вопрос вот какой: Что лучше для этого C или C++?
Дэнис вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать свой язык программирования? future7 Свободное общение 19 05.05.2015 01:08
Язык программирования С++ Jasper92 Свободное общение 2 09.11.2009 13:51
Язык программирования C Jasper92 Свободное общение 17 06.09.2009 11:13
Свой язык программирования koljsch Общие вопросы C/C++ 4 07.04.2009 22:15