Это может показаться странным вопросом для некоторых из вас.
Я хобби-программист на Java. Я разработал несколько игр, программу для искусственного интеллекта, которая создает музыку, другую программу для рисования и тому подобное. Это значит, что у меня есть опыт программирования, а не профессиональной разработки бизнес-приложений.
Я вижу много разговоров на этом сайте о производительности. Люди часто спорят, какой алгоритм C # будет наиболее эффективным для выполнения задачи, или почему Python работает медленнее, а Java быстрее и т. Д.
Я пытаюсь понять: почему это важно?
Есть определенные области вычислений, в которых я вижу, почему производительность имеет значение: игры, где десятки тысяч вычислений происходят каждую секунду в цикле постоянного обновления, или системы низкого уровня, на которые полагаются другие программы, такие как ОС и ВМ и т. Д.
Но для нормального, типичного бизнес-приложения высокого уровня, почему производительность имеет значение?
Я могу понять, почему это имело значение, десятилетия назад. Компьютеры были намного медленнее и имели гораздо меньше памяти, поэтому вам приходилось тщательно обдумывать эти вещи.
Но сегодня у нас есть так много памяти для запасных и компьютеры настолько быстро: это делает на самом деле важно , если конкретный алгоритм Java является O (N ^ 2)? Будет ли это иметь значение для конечных пользователей этого типичного бизнес-приложения?
Когда вы нажимаете кнопку GUI в типичном бизнес-приложении и за кадром оно вызывает алгоритм O (n ^ 2), в наши дни современных вычислений - вы действительно чувствуете неэффективность?
Мой вопрос разделен на две части:
- На практике сегодня имеет значение производительность в типичной нормальной деловой программе?
- Если да, пожалуйста, дайте мне реальные примеры мест в таком приложении, где важны производительность и оптимизация.