Каковы некоторые из общих проблем производительности, независимо от языка программирования? - PullRequest
3 голосов
/ 01 марта 2011

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

  1. команда top, чтобы увидеть использование процессора
  2. команда free, чтобы увидеть памятьиспользование
  3. добавление информации о времени к коду
  4. печать операторов выполнения в коде
  5. понимание и совершенствование алгоритма

Что вы делаете,если ваш код работает очень медленно.

Ответы [ 3 ]

6 голосов
/ 01 марта 2011

1) с помощью профилировщика найдите самую медленную часть вашего кода
2) как только вы их найдете, подумайте, как их улучшить.Вам могут потребоваться небольшие изменения или все переписать

1 голос
/ 01 марта 2011

Ну, да, профиль, но не используйте какой-либо старый профилировщик.

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

Чтобы найти их, вы должны использовать профилировщик, который

  • берет выборки из стекового времени (во время ввода-вывода, а также времени процессора),
  • когда вы хотите их (когда это происходит медленно, не всегда),
  • и отчеты по строке кода (не только по функции / методу)
  • процент выборок, содержащих эту строку (не подсчет, не собственное время, не среднее время - процент ).

Хороший - Увеличение .

Еще один очень простой метод - случайная пауза .

1 голос
/ 01 марта 2011

Используйте Profiler . Расположение узких мест в ресурсах может быть не интуитивно понятным.

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