Существует множество сравнительных исследований, доступных в Интернете, когда речь идет о производительности приложений, созданных на том или ином языке. Кто-то руководит корпорациями, кто-то академический, кто-то просто личные отчеты об экспериментах.
Мы также получаем приличную долю сравнительных исследований побочных эффектов языка программирования и его инструментов, таких как:
- время сборки,
- вероятность обнаружения ошибки постпроизводства,
- выразительная сила,
- так далее...
Однако в последнее время меня все больше и больше раздражает потребление памяти моих программ больше, чем что-либо еще. Это может быть связано с тем фактом, что, хотя закон Мура на нашей стороне для необработанного исполнения, мы осознали, что другие узкие места имеют большее значение. Это, и я не склонен обновлять свое оборудование время от времени, и у меня есть некоторые «старые» (читай Pentium 4 с частотой 3,6 ГГц 2005-2006 гг. С 4 ГБ ОЗУ), которые в настоящее время трудно использовать для больших приложений без требуя от меня больших трудностей, чтобы выжать из них каждый кусочек сока (выбор ОС, пользовательского интерфейса, настройка служб и демонов, выбор приложений для использования в той или иной задаче ...). Честно говоря, иногда я запускаю top
или procexp
плачу при виде памяти, используемой большинством невинных программ.
Я могу решить эту проблему, продолжая настаивать в указанном выше направлении, и, по сути, пытаясь ограничить себя и программы, которые я использую (мне кажется, я очень люблю эти программы, но я также не могу не думать что, может быть, мы делаем это неправильно.
Современные инструменты для современных нужд
Конечно, языки высокого уровня, возможно, лучше и оправдывают свою ценность. Некоторые варианты дизайна были сделаны по уважительным (или, предположительно, благонамеренным) причинам в то время, во многих цепочках инструментов. Совместно используемые библиотеки, модели памяти, препроцессоры, системы типов и т. Д. Но некоторые из них могут быть более жизнеспособными, чем другие, с нашим современным оборудованием, и мне было бы любопытно прочитать несколько серьезных исследований по этому вопросу.
Итак, мой вопрос: есть ли подвеска для Benchmarks Game и других, которые фокусируются на сравнении базового потребления памяти во время выполнения языков?
И даже более того, существуют ли некоторые исследования, которые сопоставляют это с другими параметрами (аналогично тому, что эта статья сделала, например, для других критериев, также основанных на игре Benchmarks Game )?
How much memory consumption makes you weep?
30 МБ для неактивной вкладки Chrome без расширений, 100 МБ для CCC ATI, даже 11 МБ для неактивного подключаемого модуля googletalk или 23 МБ для неактивного драйвера принтера. Эти вещи и многое другое. Пример с Chrome немного сложнее, поскольку это более сложный пример, но другие уже меня немного удивляют.