Языки быстрее, чем [закрытый] C++

Если возможно, добавьте это в основной файл конфигурации Apache. Это более легкое решение, требуется меньше обработки.

<VirtualHost 64.65.66.67>
        ServerName example.com
        Redirect permanent / http://www.example.com/
</VirtualHost>
<VirtualHost 64.65.66.67>
   ServerAdmin me@example.com
   ServerName www.example.com
   DocumentRoot /var/www/example
   .
   .
   . etc

Таким образом, отдельный VirtualHost для «example.com» захватывает эти запросы, а затем постоянно перенаправляет их на ваш основной VirtualHost. Таким образом, никакого анализа REGEX с каждым запросом нет, и ваши клиентские браузеры будут кэшировать перенаправление, чтобы они никогда (или редко) не запрашивали «неправильный» URL-адрес, сохраняя при загрузке сервера.

Обратите внимание: конечная косая черта в Redirect permanent / http://www.example.com/. Без него перенаправление из example.com/asdf будет перенаправлено на http://www.example.comasdf вместо http://www.example.com/asdf.

21
задан foraidt 19 October 2009 в 12:16
поделиться

17 ответов

Фортран быстрее и почти всегда лучше, чем C++ для чисто цифрового кода. Существует много причин, почему Фортран быстрее. Это - самый старый скомпилированный язык (большое знание в оптимизирующих компиляторах). Это - все еще язык для числовых вычислений, столько поставщиков компилятора зарабатывает на жизнь продажи оптимизированных компиляторов. Существуют также другие, больше технических причин. Фортран (хорошо, по крайней мере, Fortran77) не имеет указателей, и таким образом, не имеет проблем искажения, которые заполоняют языки C/C++ в том домене. Многие высокопроизводительные библиотеки все еще кодируются в Фортране с длинным (> 30 лет) история. Ни у одного C или C++ имеют любые хорошие конструкции массива (C слишком низкий уровень, C++, нет стольких же библиотек массива сколько компиляторы на планете, которые являются все несовместимыми друг с другом, таким образом предотвращая пул хорошо протестированного, быстрого кода).

55
ответ дан q-l-p 29 November 2019 в 06:09
поделиться

Ahh... Старый добрый вопрос - какой компилятор делает более быстрый код?

  1. Это только имеет значение в коде, который на самом деле проводит много времени у основания стека вызовов, т.е. горячие точки, которые не содержат вызовы функции, такие как матричная инверсия, и т.д.

  2. (Подразумеваемый 1), Она только имеет значение в коде, который на самом деле видит компилятор. Если Ваш счетчик команд проводит все свое время в сторонних библиотеках, Вы не создаете, он не имеет значения.

  3. В коде, где это действительно имеет значение, все это сводится, какой компилятор делает лучше ASM, и это - в основном функция того, как энергично или глупо исходный код записан.

Со всеми этими переменными, трудно различать хорошие компиляторы.

Однако, как был сказан, если у Вас есть много кода Фортрана для компиляции, не переписывайте его.

-1
ответ дан Mike Dunlavey 29 November 2019 в 06:09
поделиться

C# намного быстрее, чем C++ - в C#, который я могу записать синтаксическому анализатору XML и процессору данных в десятую часть время, это берет меня, чтобы записать этому C++.

, О, Вы имели в виду скорость выполнения?

Даже тогда, если Вы не торопитесь из первой строки кода, записанной до конца первого выполнения кода, C# все еще, вероятно, быстрее, чем C++.

Это - очень интересная статья о преобразовании программы C++ к C# и усилию, требуемому сделать C++ быстрее, чем C#.

Так, при принятии скорости разработки почти что-либо бьет C++.

хорошо, для обращения только к требованию к производительности tht OP во время выполнения: Это не язык, это - реализация языка , который определяет производительность во время выполнения. Я мог записать компилятор C++, который производит самый медленный вообразимый код, но это - все еще C++. Также теоретически возможно записать компилятор для Java, который предназначается для инструкций IA32, а не Java коды байта VM, давая повышение скорости во время выполнения.

производительность Вашего кода будет зависеть от соответствия между преимуществами языка и требованиями кода. Например, программа, которая делает большое выделение памяти / освобождение, будет работать плохо в наивной программе C++ (т.е. использовать средство выделения памяти по умолчанию), так как стратегия выделения памяти C++ слишком обобщена, тогда как основанное на GC средство выделения C# может работать лучше (поскольку вышеупомянутая ссылка показывает). Обработка строк является медленной в C++, но быстрой на языках как php, жемчуг, и т.д.

0
ответ дан Tim Cooper 29 November 2019 в 06:09
поделиться

Это то, почему Вы используете управляемый браузер? Поскольку это быстрее. Или управляемая ОС, потому что это быстрее. Nah, держитесь, это - база данных SQL.. Ожидайте, это должна быть игра, в которую Вы играете. Остановитесь, должна быть часть Java цифрового кода adn, До-диез откровенно бесполезны с. BTW, необходимо проверить то, что VM записан он в шлак корневой язык, и скажите, что это медленно.

, Что misconecption, но эй показывают мне быстрое управляемое приложение, таким образом, мы можем все посмеяться. VS? OpenOffice?

0
ответ дан rama-jka toti 29 November 2019 в 06:09
поделиться

Выполнение намного лучше, чем C++ главным образом будет о том, чтобы заставлять компилятор понять то, что имеет в виду программист. Примером этого мог бы быть экземпляр, где компилятор любого языка выводит, что регион кода независим от своих исходных данных и просто вычисляет значение результата во время компиляции.

Другой пример этого - то, как C# производит некоторый очень высокопроизводительный код просто, потому что компилятор знает то, что особые заклинания 'означают' и могут умно использовать реализацию, которая производит самую высокую производительность, где транслитерация той же программы в C++ приводит к бесполезным циклам выделения/удалять (скрытый шаблонами), потому что компилятор обрабатывает общий случай вместо особого случая, который дает эта часть кода.

пример финала А мог бы быть в адаптации Brook/Cuda C, разработанного для экзотических аппаратных средств, которые больше не так экзотичны. Язык поддерживает точные примитивы (функции ядра) что карта к не von-neuman аппаратные средства, скомпилированные для.

0
ответ дан SingleNegationElimination 29 November 2019 в 06:09
поделиться

Производительность скомпилированного языка является бесполезным понятием: то, что важно, является качеством компилятора, т.е. какую оптимизацию это в состоянии применить. Например, часто - но не всегда - компилятор C++ Intel производит лучший код выполнения, чем g ++. Таким образом, как Вы измеряете уровень C++?

то, Где языковая семантика входит, - насколько легкий это для программиста, чтобы заставить компилятор создавать оптимальный вывод. Например, часто легче параллелизировать код Фортрана, чем код C, который является, почему Фортран все еще в большой степени используется для высокоэффективного вычисления (например, моделирования климата).

<час>

, Поскольку вопрос и некоторые ответы упомянул ассемблер: то же верно здесь, это - просто другой скомпилированный язык и таким образом не по сути 'быстрее'. Различие между ассемблером и другими языками - то, что программист - у кого идеально есть абсолютное знание о программе - ответственен за всю оптимизацию вместо того, чтобы делегировать некоторых из них к 'немому' компилятору.

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

0
ответ дан Christoph 29 November 2019 в 06:09
поделиться

если код не написан для производительности тогда , C# быстрее, чем C++ .

А необходимая правовая оговорка: Все сравнительные тесты являются злыми.

Вот сравнительные тесты что в пользу C++ .

вышеупомянутые две ссылки показывают, что мы можем найти случаи, где C++ быстрее, чем C# и наоборот.

0
ответ дан jfs 29 November 2019 в 06:09
поделиться

Все это зависит от компилятора, возьмите, например, компилятор Схемы Stalin, это бьет почти все языки в Debian микро комплект сравнительного теста, но они упоминают что-нибудь о времени компиляции?

нет, я подозреваю (я не использовал Stalin прежде) компилирующий для сравнительных тестов (iow, вся оптимизация на максимальных уровнях усилия) весьма занимает много времени для чего-либо кроме самых маленьких частей кода.

0
ответ дан leppie 29 November 2019 в 06:09
поделиться

Я записал это всего несколько минут назад:

строковое управление памятью C++

1
ответ дан Community 29 November 2019 в 06:09
поделиться

Необходимо использовать, некоторые нечетные управляли синтаксическим анализатором XML, поскольку Вы загружаете эту страницу тогда.:)

Мы непрерывно представляем код, и усиление последовательно (и это не наивный C++, это - просто современный C++ с шиканьем). Это consistensly прокладывает любую реализацию CLR, по крайней мере, 2x и часто 5x или больше. Немного лучше, чем дни Java, когда это было вокруг 20x времена быстрее, но можно все еще найти хорошие экземпляры и просто устранить всю Систему. Объектное чрезмерное увеличение размера и ясно избитый до полусмерти это.

Одна вещь, которую не получают управляемые devs, состоит в том, что аппаратная архитектура против любого масштабирования VM и объектных корневых подходов. Необходимо видеть его, чтобы верить ему, держаться, разжечь браузер и перейти к 'тонкому' VM как Silverlight. Вы будете потрясены, насколько медленный и ЦП, голодный, это.

Два, удар приложения базы данных для любой производительности, да управляемый по сравнению с собственным дб.

2
ответ дан rama-jka toti 29 November 2019 в 06:09
поделиться

вещь с C++ состоит в том, что это очень близко к аппаратному уровню. На самом деле можно программировать на аппаратном уровне (через блоки блока). В целом компиляторы C++ делают довольно хорошее задание при оптимизациях (для огромного повышения скорости, позвольте "Поколению Временного кода Ссылки" позволить встраивание функций между различными cpp файлами), но если Вы знаете аппаратные средства и имеете ноу-хау, можно записать несколько функций в блоке, которые работают еще быстрее (хотя иногда, Вы просто не можете победить компилятор).

можно также реализовать, Вы - собственные диспетчеры памяти (который является чем-то, что много других высокоуровневых языков не позволяет), таким образом можно настроить их для определенной задачи (возможно, большинство выделений составит 32 байта или меньше, тогда у Вас может просто быть гигантский список 32-байтовых буферов, которые можно выделить/освободить в O (1) время). Я полагаю, что CAN C++ разбил любой другой язык, пока Вы полностью понимаете компилятор и аппаратные средства, которые Вы используете. Большинство его сводится к тому, какие алгоритмы Вы используете больше, чем что-либо еще.

2
ответ дан Grant Peters 29 November 2019 в 06:09
поделиться

D может иногда быть быстрее, чем C++ в практическом применении, в основном потому что присутствие сборки "мусора" помогает избежать издержек RAII и подсчета ссылок при использовании интеллектуальных указателей. Для программ, которые выделяют большие суммы маленьких объектов с нетривиальными жизненными циклами, сборка "мусора" может быть быстрее, чем управление памятью в стиле С++. Кроме того, встроенные массивы D позволяют компилятору выполнять лучшую оптимизацию в некоторых случаях, чем вектор STL C++, который не понимает компилятор. Кроме того, D2 поддерживает неизменные данные и чистые функциональные аннотации, на основе которых оптимизируют последние версии DMD2. Walter Bright, создатель D, записал интерпретатор JavaScript и в D и в C++, и по его словам, версия D быстрее.

1
ответ дан dsimcha 29 November 2019 в 06:09
поделиться

Это будет во многом зависеть от компилятора, программистов, имеет ли он gc и может варьироваться слишком много. Если это будет скомпилировано непосредственно в машинный код, то тогда ожидают иметь лучшую производительность, чем интерпретируемый большую часть времени, но существует конечный объем оптимизации, возможной, прежде чем у Вас будет asm скорость так или иначе.

, Если бы кто-то сказал, что Фортран был немного быстрее, Вы кодировали бы новый проект в этом так или иначе?

2
ответ дан Tim Matthews 29 November 2019 в 06:09
поделиться

FORTAN обычно быстрее, чем C++ для обработки матриц из-за различных путей массивы реализации языков - ФОРТРАН не позволяет искажать элементов массива, тогда как C++ делает. Это делает задание компиляторов ФОРТРАНА легче. Кроме того, ФОРТРАН имеет многие очень зрелые математические библиотеки, которые работались на в течение почти 50 лет - C++ не был вокруг этого долго!

7
ответ дан 29 November 2019 в 06:09
поделиться

То, против чего конкурирует Блиц ++, не является так языком Фортрана, но века человека работы, входящей в математические библиотеки Фортрана. В некоторой степени язык помогает: более старый язык имел намного больше времени для получения оптимизирующих компиляторов (и, давайте столкнемся с ним, C++ является одним из самых сложных языков). С другой стороны, библиотеки C++ высокого уровня как Блиц ++ и uBLAS позволяет Вам заявлять свои намерения более ясно, чем код Фортрана относительно низкого уровня и допускает целые новые классы оптимизации времени компиляции.

Однако пользование любой библиотекой эффективно все время требует, чтобы разработчики хорошо познакомились с языком, библиотека и математика. Можно обычно получать более быстрый код путем улучшения любого из трех...

8
ответ дан Pontus Gagge 29 November 2019 в 06:09
поделиться

Быстрее ли Фортран, чем C++ является вопросом обсуждения. Некоторые говорят да, некоторые говорят "нет"; я не войду в это. Это зависит от компилятора, архитектура, Вы работаете на нем, реализация алгоритма... и т.д.

, Где Фортран действительно имеет , большим преимуществом перед C является время, это берет Вас для реализации тех алгоритмов. И это делает, это чрезвычайно хорошо подошло для любого вида числовых вычислений. Я заявлю всего несколько очевидных преимуществ перед C:

  • индексация массива на основе 1 (чрезвычайно полезный при реализации больших моделей, и Вы не должны думать об этом, но всего Формула, Переводит
  • , имеет оператор (**) питания ( Бог, идея которого, которая была функцией питания, сделает? Вместо оператора?! )
  • это имеет, я сказал бы, что лучшая поддержка многомерных массивов всех языков на текущем рынке (и не кажется, что это собирается изменяться так скоро) - A(1,2) точно так же, как в математике
  • не говоря уже о предотвращении циклов - A=B*C умножает массивы (почти как matlab синтаксис с скомпилированная скорость )
  • , это имеет функции параллелизма, созданные на язык (проверьте новый стандарт на этом)
  • очень легко connectible с языками как C, Python, таким образом, можно сделать усиленные вычисления в Фортране, в то время как.. безотносительно... на языке по Вашему выбору, если Вы чувствуете так, чувствовал склонность
  • абсолютно обратно совместимый (так как целый F77 является подмножеством F90), таким образом, у Вас есть целый век кодирования в Вашем распоряжении
  • очень очень портативный (это не могло бы работать на некоторые расширения компилятора, но в целом это работает как очарование)
  • проблемно-ориентированное сообщество решения (так как пользователи Фортрана обычно не cs, но математика, phy, инженеры... люди без программирования, а скорее проблема, решая опыт, знание которого приблизительно Ваш проблема может быть очень полезной)

, не Может думать ни о чем больше первое, что пришло на ум прямо сейчас, таким образом, это должно будет сделать.

18
ответ дан Community 29 November 2019 в 06:09
поделиться

Это обычно - алгоритм не язык, который определяет приблизительную оценку производительности, в которой Вы закончите.

На той приблизительной оценке, оптимизирующие компиляторы могут обычно производить лучший код, чем большинство кодеров блока.

Преждевременная оптимизация является корнем всего зла

, Это может быть "общепринятой истиной", что все могут болтать как попугай, но я утверждаю, что это, вероятно, потому что это корректно. Я жду конкретного доказательства об обратном.

1
ответ дан Anthony 29 November 2019 в 06:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: