В интернет полно сравнений производительности одних и тех же алгоритмов, реализованных на разных языках, исполненных в различных средах. Все эти тесты объединяет одно - они все в лучшем случае синтетические, а то и просто измеряют какую-то странную муть, например, скорость компиляции. Чтобы поставить окончательную точку в этом вопросе для себя - набросал тест. Тестируется скорость регулярных выражений и ассоциативных массивов, конкатенации строк. Во всяком случае для меня - это показатель.

Время работы. Сортировка по средневзвешенной оценке. Именно по этой причине Java - в самом конце, хотя на больших объемах данных начинает работать вполне шустро. JIT.

# 10 100 1000 10000 100000 1000000
 C++, STL, pcre 0,00321 0,00284 0,00364 0,00663 0,03960 0,36632
 Perl 0,00434 0,00434 0,00556 0,01704 0,14064 1,31983
 Ruby 1.8 0,00596 0,00576 0,00799 0,02967 0,24902 2,42525
 PHP 0,01289 0,01316 0,01436 0,02802 0,16288 1,48665
 Ruby 1.9 0,01177 0,01128 0,01366 0,03876 0,26624 2,58928
 JavaScript, spidermonkey 0,00353 0,00356 0,00760 0,04927 0,45786 4,47598
 Python 0,01883 0,01919 0,02541 0,08241 0,66249 6,35694
 C++, STL, boost 0,00450 0,00511 0,01390 0,10570 1,02927 10,16208
 Sun Java 6 0,11511 0,12384 0,11603 0,17586 0,28148 0,78790
 JavaScript, rhino 0,27691 0,33340 0,59108 1,27328 2,91927 16,64209

 

Максимальный объем выденной памяти:

# 10 100 1000 10000 100000 1000000
 C++, STL, pcre 144 144 965 7 164 54 848 517 675
 C++, STL, boost 6 331 6 331 7 152 13 351 61 035 523 862
 Perl 133 481 133 481 133 481 139 768 285 762 1 623 683
 Ruby 1.8 668 456 678 820 695 563 735 377 781 029 2 130 300
 PHP 1 599 471 1 599 471 1 599 471 1 599 471 1 599 471 2 369 681
 Ruby 1.9 2 370 936 2 370 625 2 470 298 2 798 699 2 795 531 4 060 924
 JavaScript, spidermonkey 215 371 218 835 289 423 971 672 7 685 493 75 059 213
 Sun Java 6 2 256 300 2 256 302 3 385 525 5 613 983 6 816 201 7 638 547
 Python 2 009 914 2 010 010 2 035 578 2 340 410 5 283 930 35 508 602
 JavaScript, rhino 4 917 634 4 950 380 23 957 538 42 507 635 51 072 157 42 665 007

И, наконец, самое главное - размер кода:

 C++, STL, pcre 806
 Perl 274
 Ruby 1.8 261
 PHP 234
 Ruby 1.9 261
 JavaScript, spidermonkey 306
 Python 342
 C++, STL, boost 695
 Sun Java 6 850
 JavaScript, rhino 306

Собственно, что и требовалось доказать. Очень хотелось сюрприза, но не получилось.


Вам это будет интересно!

  • ДП-ЛП (3)
  • ДП-ЛП (2)
  • Безымянный 14776
  • Слово synchronized в Java “на пальцах”
  • Полезная информация о мерчандайзинге.


  • Последние новости


    Бхастрика

    Техника бхастрики имеет много общего с капалабхати, но существуют и значительные различия между этими упражнениями. Йоги часто расценивают капалабхати как облегченную разновидность бхастрики, что позволяет использовать последнюю для освоения более сложного этапа очистительной дыхательной гимнастики. Для выполнения бхастрики наибо...
    Читать далее »

    Дхарана и дхьяна, или концентрация и медитация

    Дхарана и дхьяна – шестая и седьмая ступени системы Патанджали. Наряду с пратьяхарой и самадхи они составляют раджа-йогу. Чем отличается концентрация от медитации? При концентрации включается только разум; при медитации – сердце и все существо в целом. При концентрации разум фиксируется на каком-то определенном предмете. Меди...
    Читать далее »

    Йога пальцев

    В руках расположены удивительные энергетические каналы, связанные с целой функциональной системой и носящие название органа, на который они замыкаются. Положение рук – мудра, строго определено каноном и имеет тайный символический смысл. Знатоки мудры насчитывают сотни различных значений в комбинациях и фигурах, изображаемых пальцами. Йо...
    Читать далее »

    Массаж глаз

    Его выполняют, когда чувствуют, что глаза устали во время какой-либо работы (чтение, шитье). Это упражнение может входить в комплекс, но может быть и самостоятельным. 1. Через ноздри делают спокойный и полный вдох. Приближают ладони к глазам так, чтобы получился угол, равный 45°. 2. Через нос делают выдох. В этот момент начинают мас...
    Читать далее »

    Заключение

    Секрет йоги заключается в том, что она взаимодействует с человеком в целом, а не с какой-то одной сферой его физиологической и духовной жизни. Она сопряжена с физическим, умственным, нравственным и духовным развитием индивида. Она укрепляет силы, уже существующие внутри нас. Начиная с улучшения здоровья, благоприобретенного отличного физического состояния, она шаг за шагом охватывает ментальну...
    Читать далее »

    Наули

    Данное упражнение йоги называют устранением прямых мышц живота. Действие наули не имеет ничего общего с уддияной бандхой, хотя отдельные элементы выполнения обоих упражнений совпадают. Исходное положение для наули то же самое, что и для уддияны бандхи. Сначала нужно вдохнуть максимально полно, а затем выполнить уддияну баядху. После этого прямые мышцы живота напрягаются, а живот выпячиваетс...
    Читать далее »

    Процедура полоскания горла

    Необходимо также заботиться о здоровье горла. Миндалины, расположенные в горле, – часть иммунной системы. Они представляют собой барьер, защищающий организм от болезнетворных микробов, проникающих извне. Процедуры вамана-дхаоти и джаля-нети весьма благотворно влияют на состояние горла. Для борьбы с заболеваниями горла есть комплекс упражнений. Гигиеническое полоскание горла солонова...
    Читать далее »