примерный код пишу на бейсике, чтобы логика его была понятна лучше, циклов 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
еще вопрос- влияет ли на скорость работы кода, число ядер процессора?
Другие языки программирования и технологии
Какой язык даст большее быстродействие готового кода С++,Делфи, Ассемлер, в таком куске кода (внутри)?
Ассемлер
>влияет ли на скорость работы кода, число ядер процессора?
Если ты под это напишешь программу то да
>влияет ли на скорость работы кода, число ядер процессора?
Если ты под это напишешь программу то да
Сергей Шерстнев
во сколько раз быстрее ассемблер, чем С++?
В таком куске кода быстродействие даст не язык, а квалификация программиста. Потому как весь этот код полностью заменяется единственным оператором:
t = 1.234555544444555554444455555
t = 1.234555544444555554444455555
Сергей Шерстнев
вот такой код мне нужно чтоб быстро работал, но пока без формул, на моем компе в бейсике считает уйму времени..
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
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.
Число ядер процессора на скорость работы данного кода не повлияет. Влияет оно в программах, допускающих и запрограммированных на распараллеливание вычислений.
Число ядер процессора на скорость работы данного кода не повлияет. Влияет оно в программах, допускающих и запрограммированных на распараллеливание вычислений.
Сергей Шерстнев
можно цикл поделить на каждое ядро, например
1 ядро считает цикл for a=1 to 2500
2 ядро считает for a=2501 to 5000
3 ядро считает for a=5001 to 7500
4 ядро считает for a=7501 to 10000
быстрее будет считать?
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#
Сергей Шерстнев
а мне казалось что С++ и C# примерно равны по скорости, я не профи в Си..)
_конкретно_данный_кусок_кода_ эффективнее реализует c/c++ компилятор.
Оптимизатор свернёт его до константы.
Никакой ассемблер этим заниматься не будет.
Во сколько быстрее? Как минимум в 10^11 раз. Даже чуть больше, потому что константа уже готовая, её даже вычислять не нужно
Оптимизатор свернёт его до константы.
Никакой ассемблер этим заниматься не будет.
Во сколько быстрее? Как минимум в 10^11 раз. Даже чуть больше, потому что константа уже готовая, её даже вычислять не нужно
Сергей Шерстнев
код канечно не такой малость, там 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
как по вашему его можно сделать чтобы он быстро работал в С++ или только писать на ассемблере его, и это еще без формул, с ними еще считать надо будет.. это только циклы..
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++? (Я знаю что эти языки тоже написаны на двоичном коде)
- Добрый день. Компьютер все языки программирование понимает как двоичный код ( если я не ошибаюсь).
- определение объема жесткого диска на C++. просьба написать кусок кода. функцию
- Помогите, открыл .vbs файл и у меня теперь не открываються программы, любые! код внутри.
- помогите с задачей С++..в общем не могу понять что не правильно сделал... условие и код внутри
- В различных языках есть ГСЧ, всегда записывается как функция "random", а какой её внутренний код?