
Забавная старая картинка, но в тему

Донат На хостинг |
ISK за переводы до 75kk за 1000зн. |
Хроники EVE Сборник |
Новичкам Полезная информация |
Бред.
Пока ты будешь писать программу на С, которая будет считать 2^1000, я на Python это посчитаю на раз-два, просто написав 2**1000. Логика вроде if/while работает с одинаковой скоростью тоже.
i = 0while (i < 1000000): print i i = i + 1
#include <stdio.h>int main (){int i;for(i = 0; i < 1000000; i++) printf ("%d\n", i);return 0;}
Сообщение отредактировал doommer: 05 September 2010 - 13:20
Ну если уж ты занялся этим бредом, то теперь будь добр, сделай второй шаг, добавь в оба теста по паре нулей к циклам, а затем из полученных результатов вычти их первые результаты.Бред то чем вы занимаетесь. Сравнивать производительность у языков у совершенно разного уровня. Но я всё же продолжу заниматься тем же бредом
![]()
Есть два кода:
...
Сообщение отредактировал DarkPhoenix: 05 September 2010 - 14:11
There is a place where the black stars hang
and the strangest eons call that amorphous mass
unknown, immense, ambivalent to all
Я на простеньком примере попытаюсь объяснить. Систему с кластерингом можно представить как большой автобан, но утыканный светофорами в местах, где контроль должен передаваться от одной машины к другой. В такой ситуации в-общем-то неважно, будешь ли ты жечь движок на форсаже или ехать свои пенсионерские 120 - на каждом светофоре все равно будешь стоять и ждать как все. Поэтому зачем выпендриваться?
Что касается преимуществ С - в местах со сложной логикой работы с машинными ресурсами он может дать прирост производительности, если программист точно знает особенности работы системы и способы на них повлиять.
Но если где-то ошибется, или еще интереснее - захочется поменять систему, то все это упадет с большим треском и придется затратить дополнительные месяцы чтоб все снова заработало.
А для пайтона вроде бы есть JIT-компилятор
Ну если уж ты занялся этим бредом, то теперь будь добр, сделай второй шаг, добавь в оба теста по паре нулей к циклам, а затем из полученных результатов вычти их первые результаты.
Сообщение отредактировал doommer: 05 September 2010 - 14:24
Ну на самом деле у тебя далеко не оптимальный синтаксис в питоне. Выше я привел пример с нормальным, там срубается 1.5-2 минутыИ что дальше?
There is a place where the black stars hang
and the strangest eons call that amorphous mass
unknown, immense, ambivalent to all
Ну на самом деле у тебя далеко не оптимальный синтаксис в питоне.
Выше я привел пример с нормальным, там срубается 1.5-2 минуты
Да, си получается намного быстрее на итерациях. Даже с++ значительно медленнее.
Сообщение отредактировал doommer: 05 September 2010 - 14:30
Если выводить в /dev/null из самой программы, С делает за 18 сек, С++ за 36, питон за 2:15. Но, к счастью, приложения - это не только итерации, которые так легко щелкает сиМожно попробовать чтения и запись в файл, вызов\завершения объектов(ну это тогда уж С++), уверен что С\С++ будут быстрей, хотя и не так на много.
There is a place where the black stars hang
and the strangest eons call that amorphous mass
unknown, immense, ambivalent to all
Если выводить в /dev/null из самой программы, С делает за 18 сек, С++ за 36, питон за 2:15. Но, к счастью, приложения - это не только итерации, которые так легко щелкает си
А еще есть штучки типа http://psyco.sourceforge.net/
Сообщение отредактировал doommer: 05 September 2010 - 14:45
Я, конечно, ассемблера не знаю, но при кратком взгляде на сгенерированный гцц код у меня возникло впечатление, что оно этот цикл разворачивает в одну длиииинную простыню без всяких итераций.Да, си получается намного быстрее на итерациях. Даже с++ значительно медленнее.
Ну понимаешь важно то как это откомпилиться а не как код выглядит, и важна производительность, иногда длинная простыня даёт большую производительность чем короткий и понятный код с кучей циклов...Я, конечно, ассемблера не знаю, но при кратком взгляде на сгенерированный гцц код у меня возникло впечатление, что оно этот цикл разворачивает в одну длиииинную простыню без всяких итераций.
Я, конечно, ассемблера не знаю, но при кратком взгляде на сгенерированный гцц код у меня возникло впечатление, что оно этот цикл разворачивает в одну длиииинную простыню без всяких итераций.
Может просто сюда посмотрите?
В этой теме доказано, что C очень быстро делает ничего.
Бред то чем вы занимаетесь. Сравнивать производительность у языков у совершенно разного уровня. Но я всё же продолжу заниматься тем же бредом
![]()
Есть два кода:
Python:i = 0while (i < 1000000): print i i = i + 1
С:#include <stdio.h>int main (){int i;for(i = 0; i < 1000000; i++) printf ("%d\n", i);return 0;}
Итак кто же быстрей сделает эту однотипную операцию, я специально вывожу вывод в /dev/null что бы тест не зависел от фазы луны. Принтскрин с результатами в аттаче. Так что С считает на начале слово раз, а питон, на раз-два-три![]()
![]()
Еще можно ради интереса сделать программку которая считывает данные из файла(скажем так метров 50-100 было), что-то с ними делает и записывает в другой файл. Но это всё ровно бред, я еще раз повторюсь, сравнивать эти языки дурное занятие )
0 members, 1 guests, 0 anonymous users