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




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 641 • Страница 10 из 33<  1 ... 7  8  9  10  11  12  13 ... 33  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

*Cofradia Intel*
Статус: Не в сети
Регистрация: 02.09.2003
Откуда: Россия, г.Тверь
Daemon
Daemon писал(а):
там есть нультерминальные строки (PChar)
Добавленные позже по примеру Си для расширения возможностей Паскаля. В Паскале есть свой тип строк, которого для работы достаточно. В Си такого типа нет. Ты учти, что Паскаль в исполнении Борланд сильно отличается от того Паскаля, который создавал Вирт. Паскаль создавался для обучения студентов программированию. Его узкие места пришлось дополнять позже. А Си сразу создавался таким.
Daemon писал(а):
есть inc()
Функция? А в Си - оператор.
Понимаешь, все эти "и т.д." появились позже именно под воздействием Си. В Кларионе тоже есть тип cstring для работы с внешними фукнциями, написанными на Си.
Где-то у меня книга была, посвящённая сравнению языков Си, Паскаль и Ада.

_________________
Жизнь - штука вредная. От неё умирают.
Почётный участник *Cofradia Intel*



Партнер
 

Member
Статус: Не в сети
Регистрация: 14.03.2004
Откуда: Москва
IgLowy Нет
Я так не думаю... Тем более если призову inline asm function - хотя кромплатформеность поетряется

Вообще могу предложить задачу, на которой сами тестили произвотельность не одной платформы.
Вычеселние числа фибоначи с помощью следующеё функции

fibonachi( integer n)
begin
return fibonachi(n-1) + fibonachi (n-2);
end

И кто быстрее сосчитает...
Кстати, в этом тесте пока первенство держит PowerPC G5 какой точно не помню и gcc 4.0.0

_________________
ФИЗТЕХ- рулез, ФАКИ - сила, Кванты тоже хорошо


 

Member
Статус: Не в сети
Регистрация: 26.10.2004
Откуда: СПб
IgLowy писал(а):
Как отличить?

Интуитивно, все письма с вирусами одинаковые, но если чел неопытный то он конечно не отличит :)

IgLowy писал(а):
Нормальные программисты никогда не будут использовать числа с плавающей точкой для таких расчётов, если есть альтернатива. Чревато большими погрешностями при вычислениях. Для этого есть специальный тип с фиксированной точкой.

Не согласен, 80-битное число long double в C которое всегда даст точное значение 4-5 цифр после запятой. А с числами фиксированной запятой просто удобнее работать, вот их и используют.. Насчёт деления я уже сказал что его раскладывать надо в цикле который многократно(а не 2-3 раза :) ) повторяется, умножение + сдвиг выполняться раз в 8-9 быстрее чем div, так что это выгодно.

nickyoz писал(а):
МОжно что нить вычеслительноеНапример найти интеграл с определеной точностьюИли найти с числами фибоначи что нить

Это можно, асм выиграет всегда, за исключением пожалуй кода Intel C++ оптимизированного под netburst и выполняющимся на P4, человеку не понять такую архитектуру :) Для P6, и AMD K7/K8(для этих процев оптимизацию надо включать для P6 тоже) тот же компилятор тоже неплохой код делает, но вручную можно соптимизировать лучше. А остальные компиляторы можно вообще не рассматривать :)

IgLowy писал(а):
Самый близкий к ассемблеру язык - Си. При нормальной реализации компилятора он должен быть наиболее близок к нему по скорости кода. Хотя для арифметических выражений, наверно, все компилируемые языки близки.
Согласен, именно когда пишешь на C лучше всего контроллируешь структуру кода, остальные языки более высокоуровневые. Паскаль тоже почти не отстаёт по возможностям, но многие его считают хуже чем C/C++ и я в том числе. Скорость же откомпилированного продукта зависит больше от самого качества компилятора, но и от языка тоже немного зависит, ведь нету почему-то качественных оптимизирующих паскаля :)


 

Member
Статус: Не в сети
Регистрация: 14.03.2004
Откуда: Москва
dragon Не стал бы заранее говорить... Хотя я преложил слишком уж не интересную задачу
вот последнее интереснее
покажет, кто лучше строит стеки, обдумывает вызовы, выпадыиз кэша и так далее
Добавлено спустя 3 минуты, 47 секунд
тока давайте определимся под какую платформу писать

_________________
ФИЗТЕХ- рулез, ФАКИ - сила, Кванты тоже хорошо


 

Member
Статус: Не в сети
Регистрация: 26.10.2004
Откуда: СПб
nickyoz
Это не полная функция


unsigned __int64 fibonachi(int n)
{
if (n == 0)
return 0;
else if (n == 1)
return 1;
else
return fibonachi(n-1) + fibonachi (n-2);
}

Это тормозной алгоритм лучше нерекурсивный. Ничего на этой задаче не проверить в общем.. :)


 

Member
Статус: Не в сети
Регистрация: 14.03.2004
Откуда: Москва
dragon как не проверишь... мы компиляторы проверяем, а не знание алготимики

_________________
ФИЗТЕХ- рулез, ФАКИ - сила, Кванты тоже хорошо


 

Member
Статус: Не в сети
Регистрация: 26.10.2004
Откуда: СПб
А как проверить конкретно то, ведь надо замерять время выполнения с очень большой точностью, разницы почти не будет, хотя функция на асме может выиграть несколько тактов, если заюзать условные перемещения и ещё чего-нибудь.


 

Member
Статус: Не в сети
Регистрация: 14.03.2004
Откуда: Москва
dragon нуичсло порядко 1 000 000 более чем достаточно
не факт правда что long long хватит для этого

_________________
ФИЗТЕХ- рулез, ФАКИ - сила, Кванты тоже хорошо


 

Member
Статус: Не в сети
Регистрация: 26.10.2004
Откуда: СПб
nickyoz
По-точнее надо всё это определить, хотя повторю на этой задаче разницу в производительности готового кода не увидеть, всего то около 10 строк ассемблерного кода.


 

*Cofradia Intel*
Статус: Не в сети
Регистрация: 02.09.2003
Откуда: Россия, г.Тверь
dragon
dragon писал(а):
Интуитивно, все письма с вирусами одинаковые,
И ты предлагаешь рядовому пользователю при ловле вирусов руководствоваться интуицией вместо антивируса? А влетит потом мне за плохую организацию защиты.
dragon писал(а):
Не согласен, 80-битное число long double в C которое всегда даст точное значение 4-5 цифр после запятой.
Мне надо 2 цифры после запятой для результата, но чтобы при вычислениях значимость не терялась. А для этого 4-5 знаков после запятой мало.
Для 8 байтового real мантисса - 15 значащих цифр. Для 10 байтового будет больше, но оно не везде бывает. Например, в Кларионе его нет. Но есть decimal - упакованное десятичное у которого точность - 31 значащая цифра. При вычислениях, использующих только числа типа decimal или целочисленные переменные, точность 31 цифра в каждую сторону от десятичной точки.
dragon писал(а):
А с числами фиксированной запятой просто удобнее работать, вот их и используют..
А чем проще? В языках, кроме асма, никакой особой разницы нет: объяви переменную и ставь её в выражения.
dragon писал(а):
Насчёт деления я уже сказал что его раскладывать надо в цикле который многократно(а не 2-3 раза) повторяется, умножение + сдвиг выполняться раз в 8-9 быстрее чем div, так что это выгодно.
Я тебе тоже сказал, что никто в своём уме не будет использовать подобный метод. Только на асме подобные извращения и можно встретить. Иногда на Си - у программистов, ранее писавших на асме.
Ну не читаема будет программа.
dragon писал(а):
А как проверить конкретно то, ведь надо замерять время выполнения с очень большой точностью, разницы почти не будет
Брать время начала о конца расчёта, а объём расчётов увеличить.

_________________
Жизнь - штука вредная. От неё умирают.
Почётный участник *Cofradia Intel*


 

Member
Статус: Не в сети
Регистрация: 14.03.2004
Откуда: Москва
dragon На самом деле очень даже и видно
Да. Операции с плавающей точки не проверишь - но давайте пока ободемся этим

_________________
ФИЗТЕХ- рулез, ФАКИ - сила, Кванты тоже хорошо


 

*Cofradia Intel*
Статус: Не в сети
Регистрация: 02.09.2003
Откуда: Россия, г.Тверь
dragon писал(а):
unsigned __int64 fibonachi(int n)
А что делать тем, у кого нет 64 битного целого?
И к этой процедуре нехватает вызывающего куска. Что там должно быть?

_________________
Жизнь - штука вредная. От неё умирают.
Почётный участник *Cofradia Intel*


 

Member
Статус: Не в сети
Регистрация: 26.10.2004
Откуда: СПб
IgLowy писал(а):
И ты предлагаешь рядовому пользователю при ловле вирусов руководствоваться интуицией вместо антивируса? А влетит потом мне за плохую организацию защиты.

Не подумал я об этом, по себе сужу :) Рядовой пользователь может и запустить вирус из вложения.

IgLowy писал(а):
Я тебе тоже сказал, что никто в своём уме не будет использовать подобный метод.

Оптимизируют же люди программы, даже профилировщики выпускают(vtune), на этой стадии как ищут горячие точки а потом оптимизируют в частности избавляются от деления и много чего ещё делают.


Для теста надо что-нибудь посерьёзнее придумать. Может быть криптография(RC4, MD5, DES..), все эти процедуры можно написать на асме, C++ и паскале, придумать задачку какую-нибудь и контроллировать время. Может потом из всего этого очередной процессорный тест выйдет :)


 

*Cofradia Intel*
Статус: Не в сети
Регистрация: 02.09.2003
Откуда: Россия, г.Тверь
dragon
dragon писал(а):
Рядовой пользователь может и запустить вирус из вложения.
Вот и я о том.
dragon писал(а):
Оптимизируют же люди программы, даже профилировщики выпускают(vtune), на этой стадии как ищут горячие точки а потом оптимизируют в частности избавляются от деления и много чего ещё делают.
Я бы такие куски оптимизировал только если очень критична скорость арифметических расчётов. Главная задача оптимизации - выяснить оптимизация какого куска даст наибольший выигрыш при наименьших затратах на саму оптимизацию. Я чаще работаю с базами данных и там все подобные оптимизации практически незаметны на фоне обращений к этим базам. Поэтому смысла заниматься подобной оптимизацией в моём случае нет. Вот в упомянутых кодеках и конвертерах - там есть смысл. Там это даже необходимо.

dragon писал(а):
Может потом из всего этого очередной процессорный тест выйдет
Ты знаешь, что у нас на форуме периодически проводятся Битвы Титанов? Было бы интересно реализовать какие-нибудь реально используемые расчёты и использовать их в качестве теста. А то приходится синтетику гонять.

_________________
Жизнь - штука вредная. От неё умирают.
Почётный участник *Cofradia Intel*


 

Member
Статус: Не в сети
Регистрация: 26.10.2004
Откуда: СПб
IgLowy писал(а):
Ты знаешь, что у нас на форуме периодически проводятся Битвы Титанов? Было бы интересно реализовать какие-нибудь реально используемые расчёты и использовать их в качестве теста. А то приходится синтетику гонять.

Знаю, даже поучаствовал бы с удовольствием но со своим хламом туда лучше не лезть :) А реализовать было б интересно, главное чтоб в результате тест выдавал физическую величину какую-нибудь, а не просто цифру, как например winrar выдаёт килобайты за секунду. Всякая криптография очень хорошо для теста подходит, можно ещё чего-нибудь напридумывать..


 

Member
Статус: Не в сети
Регистрация: 14.03.2004
Откуда: Москва
Я вохможно смогу достать реальные коды... Но боюсь что даже для самых простейших входных данных наши машинку будут считать насколько суток, если не десяток суток

_________________
ФИЗТЕХ- рулез, ФАКИ - сила, Кванты тоже хорошо


 

Member
Статус: Не в сети
Регистрация: 26.10.2004
Откуда: СПб
nickyoz
Это ты про что, можно сделать любые временные рамки, только перебор паролей очень долго идёт. Кстати именно перебор можно использовать как криптографический тест. Думаю тратить время на проверку компиляторов нет смысла, лучше сразу тест писать начать. Присоединяйся к разработке :)


 

Member
Статус: Не в сети
Регистрация: 14.03.2004
Откуда: Москва
dragon Что тестить будем? Какие особенности?
Чего хотим полчить? Тест научнзы расчетов, логики, криптографии, целочисленой арифметики или ещё чего
Вообще пробелма в том, что можно написать тест под проц и заоптимаить его так, что он будет рвать
если писать, то для каждого проца(типа, отличие обема кэша уже может сказаться) надо писать отдельно
И то это будет субективно, так как это только наш уровень програмирвоания и не факт что мы написали самый оптимальный код

_________________
ФИЗТЕХ- рулез, ФАКИ - сила, Кванты тоже хорошо


 

*Cofradia Intel*
Статус: Не в сети
Регистрация: 02.09.2003
Откуда: Россия, г.Тверь
nickyoz
nickyoz писал(а):
Что тестить будем? Какие особенности?
Есть предложение написать тесты для Битвы Титанов, которая проводится на нашем форуме.

_________________
Жизнь - штука вредная. От неё умирают.
Почётный участник *Cofradia Intel*


 

Member
Статус: Не в сети
Регистрация: 26.10.2004
Откуда: СПб
nickyoz писал(а):
Что тестить будем? Какие особенности?

Думаю надо промоделировать какие-нибудь реальные задачи в тестах. Алгоритмы думаю будут близки к оптимальным, особо объемных задач не предвидеться наверное. Если проект удасться, то можно будет его не только в битве титанов использовать, но и дальше развить до полноценного комплексного теста системы.


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 641 • Страница 10 из 33<  1 ... 7  8  9  10  11  12  13 ... 33  >
-

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


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

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


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

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan