Вот схемка: code_10666.txt - не обманывает-ли меня слишком умный компилятор (года два назад я на этом прокололся, хорошо Galkov вовремя направил на путь истинный), не выполняя циклы полностью, вызывает сомнение сложение за 2-4 тика, да и умножение за 30 тиков, а ведь ещё выполнение самих циклов!
Этот топик читают: Гость
Ответов: 8928
Рейтинг: 823
|
|||
карма: 19 |
| ||
файлы: 1 | code_10666.txt [2.4KB] [240] |
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
Леонид, у меня:
Delphi -- умножение - 7, сложение - 3 FPC -- умножение - 9, сложение - 9 |
|||
карма: 22 |
|
Ответов: 8928
Рейтинг: 823
|
|||
nesco, а подтвердить: "Да, программа выполняет все 100 000 000 умножений и сложений." - можете?
|
|||
карма: 19 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
Леонид писал(а): а подтвердить:Не понял ------------ Дoбавленo: Вот здесь, вроде, показывает, что отрабатывает все i=10000 и j=10000
|
|||
карма: 22 |
|
Ответов: 8928
Рейтинг: 823
|
|||
nesco, а если вот: code_10670.txt - интерации выполняются, а вычисления нет ?
|
|||
карма: 19 |
| ||
файлы: 1 | code_10670.txt [1.3KB] [200] |
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
Леонид писал(а): а вычисления нет ?Вычисления чего, тиков что ли У меня 1 показывает и 100 000 000 итераций |
|||
карма: 22 |
|
Ответов: 8928
Рейтинг: 823
|
|||
nesco, вычисления в теле цикла; я, конечно, не знаю архитектуры P-IY, но меня смущает, как можно за столь малое количество машинных тактов произвести умножение двух чисел, да ещё и проверить окончание цикла, ведь надо и адреса выставить, и прочитать, и из регистра в регистр перебросить.... Такое же умножение (сложение) в VBA на Excel занимает по 200 тиков на цикл на этой же машине.
|
|||
карма: 19 |
|
Ответов: 1161
Рейтинг: 160
|
|||
nesco писал(а): Delphi -- умножение - 7, сложение - 3
FPC -- умножение - 9, сложение - 9 объяните пожалуйста, что значат эти цифры? |
|||
карма: 0 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
Вообще-то, должен показвать количество тиков счетчика производительности, но я глянул код, там показывает в usec
|
|||
карма: 22 |
|
Ответов: 8928
Рейтинг: 823
|
|||
nesco, ну что же, такая производительность меня бы устроила , но мне надо передать эти 10 000 000-100 000 000 цифр/сек (3-х или 4-х байтных) внутрь компьютера с внешнего устройства, можно-ли это сделать?
LainX, эти цифры - длительность цикла умножения (сложения) в тиках, что бы получить в секундах, надо разделить на частоту процессора. |
|||
карма: 19 |
|
Ответов: 5227
Рейтинг: 587
|
|||
Леонид, мне тоже это интересно. Но скорей всего без специальных дров ловить не чего
|
|||
карма: 4 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
Леонид писал(а): эти цифры - длительность цикла умножения (сложения) в тиках, что бы получить в секундах, надо разделить на частоту процессораВ коде это уже сделано
Так что, Леонид, оно у тебя в usec меряет |
|||
карма: 22 |
|
Ответов: 8928
Рейтинг: 823
|
|||
LainX, usec - микросекунды
nesco, а что насчёт "передать эти 10 000 000-100 000 000 цифр/сек (3-х или 4-х байтных) внутрь компьютера с внешнего устройства", ну скажем по другому: я физически могу сделать платку вырабатывающую по одному 32-битному слову (цифре) в каждые 10-100 наносекунд, вставляемую в один из разъёмов на материнской плате, но не могу сделать *.dll, которая передала бы этот поток в схему HiAsm, но полагаю, что nesco это сделать может, или я ошибаюсь |
|||
карма: 19 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
Леонид писал(а): вставляемую в один из разъёмов на материнской плате, но не могу сделать *.dllМне кажется, тут драйвер устройства нужен, а не *.dll. А писать драйвер устройства без устройства, может tsdima сможет, но что-то меня бьют сильные сомнения... |
|||
карма: 22 |
|
Ответов: 2125
Рейтинг: 159
|
|||
400Мб/сек? Без буферизации под виндой не получится. Платка должна иметь свой буфер, при таких скоростях хотя бы полмегабайта, либо использовать ПДП.
В любом случае: либо свой драйвер нужен, либо использовать существующий интерфейс (IEEE, SATA, ATA/IDE на худой конец, и т.п.) ------------ Дoбавленo: nesco писал(а): может tsdima сможетУ меня и DDK-то нету, а ты говоришь |
|||
карма: 1 |
| ||
Голосовали: | Konst |