Другие языки программирования и технологии

Какой язык даст большее быстродействие готового кода С++,Делфи, Ассемлер, в таком куске кода (внутри)?

примерный код пишу на бейсике, чтобы логика его была понятна лучше, циклов for-next может быть больше...

n=123456789
for a=1 to 10000
for b=1 to 10000
for c=1 to 1000
t=(n/(a*b+с))
next c
next b
next a

еще вопрос- влияет ли на скорость работы кода, число ядер процессора?
Ассемлер

>влияет ли на скорость работы кода, число ядер процессора?
Если ты под это напишешь программу то да
Эффект ___
Эффект ___
24 328
Лучший ответ
Сергей Шерстнев во сколько раз быстрее ассемблер, чем С++?
В таком куске кода быстродействие даст не язык, а квалификация программиста. Потому как весь этот код полностью заменяется единственным оператором:

t = 1.234555544444555554444455555
ИФ
Илья Федотов
82 504
Сергей Шерстнев вот такой код мне нужно чтоб быстро работал, но пока без формул, на моем компе в бейсике считает уйму времени..
t=timer
n=0
for a=200 to 800
for b=0 to 450
for c=10 to 400
for d=1 to c
for e=1 to 50
n=n+1
next e
next d
next c
next b
next a
print n;timer-t
По тестам, которые мне попадались, на ассемблере получали вдвое большую скорость, чем на C++ при компиляции в нативный код. Delphi и Basic сейчас заметно медленнее, так как рассчитаны на работу через .NET, если речь идет о программировании под Windows.
Число ядер процессора на скорость работы данного кода не повлияет. Влияет оно в программах, допускающих и запрограммированных на распараллеливание вычислений.
Максим Редька
Максим Редька
76 648
Сергей Шерстнев можно цикл поделить на каждое ядро, например
1 ядро считает цикл for a=1 to 2500
2 ядро считает for a=2501 to 5000
3 ядро считает for a=5001 to 7500
4 ядро считает for a=7501 to 10000
быстрее будет считать?
Могу только предположить, что худший вариант будет на c#
Игорь Острый
Игорь Острый
49 504
Сергей Шерстнев а мне казалось что С++ и C# примерно равны по скорости, я не профи в Си..)
_конкретно_данный_кусок_кода_ эффективнее реализует c/c++ компилятор.
Оптимизатор свернёт его до константы.

Никакой ассемблер этим заниматься не будет.

Во сколько быстрее? Как минимум в 10^11 раз. Даже чуть больше, потому что константа уже готовая, её даже вычислять не нужно
Baha Avganov
Baha Avganov
37 746
Сергей Шерстнев код канечно не такой малость, там 5 циклов вложенных for-next, и числовые данные и формулы есть... по памяти не напишу просто...
Сергей Шерстнев нашел конкретный кусок кода, что мне нужен, вот он
t=timer
n=0
for a=200 to 800
for b=0 to 450
for c=10 to 400
for d=1 to c
for e=1 to 50
n=n+1
next e
next d
next c
next b
next a
print n;timer-t

как по вашему его можно сделать чтобы он быстро работал в С++ или только писать на ассемблере его, и это еще без формул, с ними еще считать надо будет.. это только циклы..
Только ассемблер!
На нем даже ось мнгновенную написали - Колибри. Пользоваться ей нельзя, но зато все летает - от загрузки до исполнения программ.
Сергей Шерстнев можете оценить скорость работы этого куска кода на ассемблера и на С++?
Ассемблер, со знанием архитектуры компьютера и знанием работы конвейера процессора, даст очень большой профит, ни один компилятор не сможет сделать код лучше человека. Число процессоров также ускорит программу, если не используются блокировки (мютексы, спинлоки и т. д)