Что Ваш фаворит представляет инструмент (для C++) [закрытый]

попробуйте db.collectionName.update({}, { $rename : { 'name.additional' : 'name.last' } }, { multi: true } )

и прочитайте это :) http://docs.mongodb.org/manual/reference/operator/rename/#_S_rename

81
задан Community 23 May 2017 в 12:09
поделиться

18 ответов

Для разработки Linux (хотя некоторые из этих инструментов могли бы работать над другими платформами). Это эти две знаменитости, о которых я знаю, существует много других меньших, которые не видели активную разработку в некоторое время.

35
ответ дан Al. 24 November 2019 в 09:40
поделиться

ElectricFence работает приятно на malloc отладка

2
ответ дан Michael McCarty 24 November 2019 в 09:40
поделиться

Я использовал VTune в соответствии с Windows и Linux много лет с очень хорошими результатами. Более поздние версии ухудшились, когда они произвели тот продукт на стороне к своему российскому качеству команды разработки и производительности, оба спустились (увеличил катастрофические отказы VTune, часто 15 + минуты для открытия аналитического файла).

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

2
ответ дан Don Neufeld 24 November 2019 в 09:40
поделиться

Единственный чувствительный ответ PTU от Intel. Конечно, ее лучшее, чтобы использовать его на процессоре Intel и получить еще более ценные результаты, по крайней мере, на машине C2D как сама архитектура легче отдать значимые профили.

2
ответ дан Fabien Hure 24 November 2019 в 09:40
поделиться

Я попробовал, Определяют количество AQTime и Определяют количество выигранный из-за его неоценимого 'внимания на sub дерево', и 'удаляют sub древовидные' функции.

2
ответ дан eli 24 November 2019 в 09:40
поделиться

Я использую devpartner для платформы ПК.

3
ответ дан EvilTeach 24 November 2019 в 09:40
поделиться

Для Windows я попробовал AMD Codeanalyst, Intel VTune и профилировщик в Выпуске Команды Visual Studio.

Codeanalyst является багги (катастрофические отказы часто) и на моем коде, его результаты часто неточны. Его UI неинтуитивен. Например, для достижения дисплея стека вызовов в результатах профиля необходимо нажать вкладку "Processes", затем нажать имя файла EXE программы, затем нажать кнопку на панели инструментов с крошечными буквами "CSS" на нем. Но это - бесплатное программное обеспечение, таким образом, можно также попробовать его, и это работает (с меньшим количеством функций) без процессора AMD.

VTune (700$) имеет ужасный пользовательский интерфейс IMO; в большой программе трудно найти конкретное дерево вызова, которое Вы хотите, и можно только посмотреть на один "узел" в программе за один раз (функция с ее непосредственными вызывающими сторонами и вызываемыми) - Вы не можете посмотреть на полное дерево вызова. Существует представление графа вызовов, но я не мог найти способ заставить относительное время выполнения появиться на графике. Другими словами, функции в графике выглядят одинаково независимо от того, сколько времени было проведено в них - это - как будто они полностью упустили суть профилирования.

у профилировщика Visual Studio есть лучший GUI этих трех, но по некоторым причинам это неспособно собрать образцы у большинства моего кода (образцы только собраны для нескольких функций в моей всей программе C++). Кроме того, я не мог найти цену или способ купить его непосредственно; но это идет с подпиской MSDN моей компании. Управляемые поддержки Visual Studio, собственный компонент и смешанный код; я не уверен в других двух профилировщиках в том отношении.

В заключение я еще не знаю о хорошем профилировщике! Я, несомненно, проверю другие предложения здесь.

3
ответ дан Qwertie 24 November 2019 в 09:40
поделиться

Для разработки Windows я использовал Проверку программного обеспечения Блок проверки допустимости Производительности - это быстро, довольно точно, и по умеренной цене. Лучше всего все же это может оснастить рабочий процесс и позволяет Вам включить и выключить сбор данных во времени выполнения, и вручную и на основе стека вызовов - большой для профилирования маленького раздела большей программы.

3
ответ дан Shog9 24 November 2019 в 09:40
поделиться

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

Лично, я использую oprofile для всего, что я делаю, но это не могло бы быть лучшим выбором в каждом случае. Vtune и Shark оба превосходны также.

3
ответ дан Louis Brandy 24 November 2019 в 09:40
поделиться

Для Windows проверьте Xperf. Это использует выбранный профиль, имеет некоторый полезный UI, & не требует инструментария. Довольно полезный для того, чтобы разыскать проблемы производительности. Можно ответить на вопросы как:

  • , Кто использует большую часть ЦП? Выполните развертку к имени функции с помощью стеков вызовов.
  • , Кто выделяет большую часть памяти?
  • , Кто делает большинство запросов реестра?
  • Записи на диск? и т.д.

Вы будете вполне удивлены при нахождении узких мест как они, вероятно, не, где Вы ожидали!

4
ответ дан user15071 24 November 2019 в 09:40
поделиться

oprofile, без сомнения; его простое, надежное, делают задание и могут дать все виды хороших разбивок данных.

4
ответ дан Dark Shikari 24 November 2019 в 09:40
поделиться

Я использовал Glowcode экстенсивно в прошлом и имел только положительный опыт с ним. Его интеграция Visual Studio действительно хороша, и это - самый эффективный/интуитивный профилировщик, которого я когда-либо использовал (даже по сравнению с профилировщиками для управляемого кода).

, Очевидно, это бесполезно, если Ваш не работающий на Windows, но вопрос оставляет его неясным мне точно, каковы Ваши требования.

5
ответ дан jsight 24 November 2019 в 09:40
поделиться

Мой единственный опыт, представляющий код C++, с AQTime AutomatedQA (теперь SmartBear Software). Это имеет несколько типов профилировщиков, встроил (производительность, память, дескрипторы Windows, трассировка исключения, статический анализ, и т.д.), и оснащает код для получения результатов.

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

7
ответ дан Matt Dillard 24 November 2019 в 09:40
поделиться

По моему скромному мнению, выборка с помощью отладчика является лучшим методом. Все, в чем Вы нуждаетесь, является IDE или отладчиком, который позволяет Вам остановить программу. Это закрепляет Ваши проблемы производительности, прежде чем Вы даже установили профилировщика.

8
ответ дан Hugh Perkins 24 November 2019 в 09:40
поделиться

Для Linux: Google Perftools

  • Быстрее, чем valgrind (все же, не настолько мелкомодульный)
  • не нужна отладка кода
  • , Хороший вывод графических данных (-> kcachegrind)
  • Делает профилирование памяти, профилирование CPU, проверку утечки
26
ответ дан dbliss 24 November 2019 в 09:40
поделиться

Так как Вы не упоминаете платформу, Вы продолжаете работать, скажу я cachegrind в соответствии с Linux. Определенно. Это - часть комплекта инструментальных средств Valgrind.

http://valgrind.org/info/tools.html

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

Примечание, что существует frontend KCachegrind доступен.

3
ответ дан rlerallut 24 November 2019 в 09:40
поделиться

Профилировщик в Visual Studio 2008 очень хорош: быстрый, удобный, понятный и хорошо интегрированный в IDE.

5
ответ дан 24 November 2019 в 09:40
поделиться

Мой любимый инструмент - Easy Profiler: http://code.google.com/p/easyprofiler/

Это профилировщик времени компиляции: исходный код нужно инструментировать вручную. использование набора процедур для описания целевых регионов.Однако после того, как приложение запущено и измерения автоматически записываются в файл XML, остается лишь открыть приложение Observer и сделать несколько щелчков мышью по инструментам анализа / сравнения, прежде чем вы сможете увидеть результат на качественной диаграмме.

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

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