Скорость работы

Предыдущая тема Следующая тема Перейти вниз

Скорость работы

Сообщение  Olegaas в Ср Окт 28, 2009 10:42 pm

Уважаемые господа,

Задолбал уже freepascal, спасу нет......
Хочу попробовать перейти на freebasic (как-то ближе он мне к сердцу)
Но прежде мне хотелось бы узнать, не будет ли freebasic медленней.
Пишу проги - чистая математика + работа с файлами + вывод на экран.

Никто случаем не проводил сравнения в скорости работы???

Olegaas

Сообщения : 2
Дата регистрации : 2009-10-28

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Скорость работы

Сообщение  tux в Чт Окт 29, 2009 3:12 am

скорость работы прог на FB практически как и на Си (ну если тока немного уступает, всетаки у FB больше интересныйх возможностей), это связано с тем, что для взаимодействия с ситемой он оспользует одни и те же библиотеки, что и Си, а вся остальная логика транслируется в ассемблер, и им компилится, ну а с ассемблером тягаться в скорости... сами понимаете Smile
avatar
tux

Сообщения : 365
Дата регистрации : 2008-04-06
Возраст : 29
Откуда : Сибирь

Посмотреть профиль http://tux.nsk.ru/

Вернуться к началу Перейти вниз

Re: Скорость работы

Сообщение  DiG. GeRR в Чт Окт 29, 2009 5:50 pm

http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=fbasic&lang2=gcc&box=1

http://vbnet.ru/articles/showarticle.aspx?id=220

ну а с ассемблером тягаться в скорости...
...тяжело только если на ассемблере пишет опытный программист. Увы, код, сгенерированный автоматически никогда не будет идеальным и часто заметно отстает по скорости от грамотно написанной программой на ЯВУ.

DiG. GeRR

Сообщения : 101
Дата регистрации : 2009-01-30
Возраст : 25
Откуда : Рудный, Казахстан

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Скорость работы

Сообщение  Olegaas в Чт Окт 29, 2009 11:04 pm

Спасибо за ответы.

По скорости - нормульно...
Будем пробовать писать

Olegaas

Сообщения : 2
Дата регистрации : 2009-10-28

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Скорость работы

Сообщение  Eric-S в Сб Окт 31, 2009 9:34 pm

Если нужна большая скорость, то надо писать на ассемблере.
А из бэйсиков, думаю, freebasic, один из быстрейших.

Но стоит заметить, что под windows freebasic опираеться на mingw. Который по сравнению с другими компиляторами языка C в скорости чуток проигрывает.

Вывод инфы на экран... Тут уже всё зависит от операционки. И уже не важно, какой язык.будет. Главное чтобы юзал функции напрямую или почти на прямую, как freebasic.

Если же говорить о математике. Чистой! То native Компилируемые языки практически все на одном уровне.


Хотя... Всё это измышления. Надо брать и мерить. Каким-нибудь гружоным алгоритмом, написанным на сравниваемых языках, с учотом всех их возможностей.

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 34
Откуда : Россия, Санкт-Петербург

Посмотреть профиль http://eric50.narod.ru

Вернуться к началу Перейти вниз

Re: Скорость работы

Сообщение  electrik в Вс Ноя 01, 2009 1:43 pm

во FreeBasic, математика неплохо оптимизирована. нет вызова левых функций, которые тратят время на их вызов и т.д. все основано на сопроцессор командах. приведем пример:

Код:

Const PI As Double = 3.1415926535897932
Dim a As Double
dim i as double
Dim r As Double
a=36
r = a * PI / 180    'Convert the degrees to Radians
 i=Sin ( r )

asm файл:

Код:

   .intel_syntax noprefix

   #test.bas' compilation started at 13:31:29 (FreeBASIC v0.20.0b)

.section .text
.balign 16

.globl _main
_main:
push ebp
mov ebp, esp
and esp, 0xFFFFFFF0
sub esp, 28
mov dword ptr [ebp-4], 0
call ___main
push 0
push dword ptr [ebp+12]
push dword ptr [ebp+8]
call _fb_Init@12
.Lt_0001:
mov dword ptr [ebp-12], 0
mov dword ptr [ebp-8], 0
mov dword ptr [ebp-20], 0
mov dword ptr [ebp-16], 0
mov dword ptr [ebp-28], 0
mov dword ptr [ebp-24], 0
push dword ptr [_Lt_0003]
push dword ptr [_Lt_0003+4]
pop dword ptr [ebp-8]
pop dword ptr [ebp-12]
; отсюда начинается расчет
fld qword ptr [_Lt_0004]
fmul qword ptr [ebp-12]
fdiv qword ptr [_Lt_0005]
fstp qword ptr [ebp-28]
fld qword ptr [ebp-28]
fsin
fstp qword ptr [ebp-20]
; сдесь заканчивается расчет
.Lt_0002:
push 0
call _fb_End@4
mov eax, dword ptr [ebp-4]
mov esp, ebp
pop ebp
ret
   #test.bas' compilation took 0.0002870537303110154 secs

.section .data
.balign 8
_Lt_0003:   .double   36
.balign 8
_Lt_0004:   .double   3.141592653589793
.balign 8
_Lt_0005:   .double   180

кому интересны всякие fmul, flt, обратитесь к справочнику по сопроцессор.

electrik

Сообщения : 391
Дата регистрации : 2008-09-02
Возраст : 37
Откуда : галактика Млечный путь, система Солнечная, планета Земля, страна россия, город Санкт Петербург

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Скорость работы

Сообщение  Спонсируемый контент


Спонсируемый контент


Вернуться к началу Перейти вниз

Предыдущая тема Следующая тема Вернуться к началу

- Похожие темы

 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения