Компания Bloomberg открыла исходные тексты memray, инструментария для профилирования памяти в приложениях на языке Python. Программа отслеживает операции выделения памяти в Python и предлагает наглядный интерфейс для анализа и оптимизации потребления памяти различными участками кода, а также подключаемыми модулями, написанными на C/C++. Отчёты могут формироваться как в интерактивной форме, так и генерироваться в формате HTML. В состав входит CLI-интерфейс для управления профилированием и библиотека, которую можно использовать для отслеживания операций с памятью в сторонних проектах. Код опубликован под лицензией Apache 2.0. Работа поддерживается только на платформе Linux...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=57056
Профилировать память в питоне довольно больно. Хороший, годный опенсорс.
да вроде нормально, кажется что основные плюшки тут это учет памяти библиотек и красивый интерфейс
Блумберг, питон... Что из этого более ненужно?
Ты.
в проприетарных ide типа пайшарма такого функционала нет?
> Программировать в питоне довольно больно.Фиксанул, не благодари.
Тоже с 1С перекатился на BottleRuby?
Красота то какая!
ух ты, целый "профилировщик" для языка одноразовых скриптов. Теперь ждем для баша, перла и QBasic. Ну и прочих языков, исполняющихся line-by-line, без JIT, лол
Сначала пишут на неподходящем для этого языке большие приложения, потом пишут профилировщики.
Большие приложения не сразу становятся большими. Это на заметку тем, кто думает написать "прототип" на питоне, а потом его переписать.
Нисколько питона ни для чего не нужно!
> Сначала пишут на неподходящем для этого языке большие приложения, потом пишут профилировщики.
> Большие приложения не сразу становятся большими. Это на заметку тем, кто думает
> написать "прототип" на питоне, а потом его переписать.
> Нисколько питона ни для чего не нужно!Согласен. Но на каком ЯП предлагаете разрабатывать, к примеру. Конкретно, желательно.
Для обработки финансовых данных? Джава, плюсы.
> финансовыхВы ведь в курсе что в мире происходит?
Зыж
Вот казалось бы — где жаба и где убыль населения >1'000'000 в РФ.
Последних ежиков доедаем.))) Сарказм выкл. Что за маразм с жабой и убылью населения ? Опять либерастия головного мозга.
на R вроде ещё что-то такое пишут
На подходящем.
Вычислительно-тяжёлые, требующие скорости - на чистых сях или плюсах, сервера - на эрланге или жабе, а логи раз в сутки можно прошерстить на питоне или перле. Для какого-то экзотического случая - тоже свой специфический язык может понадобиться. Например, когда-то мне пришлось освоить TCL, чтобы через Expect (котрый от NIST'а) опрашивать железяку по telnet.
Да, сюрпрайз, программисту (и даже просто сисадмину) надо знать несколько языков.
А на расте ничего не надо писать?
> на расте ничего не надо писатьДа.
Не знаю, раст не щупал.
Вы не в тренде. На расте надо *переписывать*.* Кроме шуток, с ослабевающим интересом наблюдаю за приключениями ржавчины.
Задумывался как конкурент плюсам (ПМСМ), но похоже что забыли спроектировать. А сразу кинулись кодить.
Как результат, проблемы с линковкой с сишным кодом, а сложность синтаксиса стремится к плюсовому по мере развития.
Вместо конкурента крестам вышел ещё один интересный ЯП. Возможно, что-то написанное на rust таки доведут до ума ("на hackell же довели" в качестве "слабого доказательства"). Но и только.
Раст конкурент плюсам в том смысле, что на нем нетривиальные проблемы, всплывающие у плюсовиков в рантайме, всплывут уже при компиляции. В целом он должен заменить си - потому что нет оверхеда в рантайме на работу с памятью, но при этом вариантов стрельнуть в ногу гораздо меньше.
И как бы никто не заставляет на нем писать. Нужны вам эти возможности - пишете, не нужны - дрочитесь с плюсами дальше. Вон, люди на питоне пишут, даже не стесняются.
> всплывут уже при компиляции ... нет оверхеда в рантайме на работу с памятьюА вот однажды растаманы завалили FF в рантайме путём перепутывания оператора сравнения при проверке вхождения индекса в массив...
Всё описанные вами проблемы в Си -- были решены в Обороне ещё 30 лет назад. И без всяких разрывов шаблонов и нарушением обратной совместимости (привет питону) -- язык плавно развивался УПРОЩАЯСЬ. Последняя редакция от 2017 года. Оберон-07. Всё за вас уже давно СПРОЕКТИРОВАНО и собраны ВСЁ ГРАБЛИ за последние 60 лет.
Не надо выдумывать велосипед.
> Всё ... проблемы ... были решены в Обороне ещё ... лет назад.Риторика как у растофанатиков.
>> Всё ... проблемы ... были решены в Обороне ещё ... лет назад.
> Риторика как у растофанатиков.Извините, но Вирт к Расту никакого отношения не имеет. А ему, на минуточку-- уже 88 лет.
Одна только беда у Оберона - паскалеподобный синтаксис. Гадость для плюсовиков
> Одна только беда у Оберона - паскалеподобный синтаксис. Гадость для плюсовиковПлюсовики -- сами по себе гадость. На дух не переношу синтаксис крестов.
Ни разу не конкурент плюсам. От одного синтаксиса ржавчины блевать хочется. Вот уж, действительно, альтернативно одаренные проектировали.
Сервера щас на go все свежие пишут
Да на здоровье. Если язык даёт возможность обслуживать миллионы соединений без закидывания левой ноги за правое ухо - пусть пишут.
Угу. Сначала пишут на плюсах, а потом удивляются десять лет подряд парадоксу дефекта массы нейтрино. Пока через десять лет этот софт не будет переписан на Обероне))
Эээ... "Парадокс дефекта массы нейтрино" - это что?
Сферический конь в вакууме. У нейтрино нет массы покоя.
> У нейтрино нет массы покоя.Насколько мне известно, это всё ещё не установлено на 100%.
> ещё не установлено на 100%Это как пытаться найти массу покоя фотона... Ни его, ни нейтрино ещё никто не остановил.
Наоборот. Нейтринные осцилляции говорят о том, что у нейтрино обязана быть ненулевая масса.
> Эээ... "Парадокс дефекта массы нейтрино" - это что?Гугли как (увы, уже покойный) Ткачёв Фёдор Михайлович (дфн, ведущий научный сотрудник всеросийского центра ядерных исследований) решил проблему, которую решали американцы (примерно 12-15 человек), итальянцы (примерно 6 человек), Ткачёв (сам + аспирант) на протяжении 10 лет что за фигня творится с массой нейтрино.
Ткачёв -- +5 в карму (Оберон).
Итальянцы -- в печали (кресты).
Американцы -- немного в шоке и не понимают как так получилось (разные кресты).Для совсем маленьких есть видео на ютубе с рассказом о том, что миллион лемингов вполне может быть не прав. Особенно, если леминги пользуются крестами на протяжении более чем 10 лет.
А точно "Михайлович"? А то Гугол и Яндекс находят Фёдора Васильевича и Игоря Ивановичяа из Троицка.
> А точно "Михайлович"? А то Гугол и Яндекс находят Фёдора Васильевича и
> Игоря Ивановичяа из Троицка.Ой, очепятка. Васильевич, конечно.
Аспирант Ткачева - залогинитесь.))) А то анонимно самого себя рекламировать как то не очень.)))
Что то котоламповая история с Обероном прямо анекдот про поручика, одного шагающего в ногу и роту напоминает.)))
> Аспирант Ткачева - залогинитесь.))) А то анонимно самого себя рекламировать как то
> не очень.)))Нет, я к нему никакого отношения не имею. Кроме как немного связан с атомом (весьма опосредованно связано с научной работой Ткачёва). Кроме того, я теоретически мог бы некоторое время занимать должность адъюнкта в силу специфики своего образования, но никак не аспиранта.
Как то к в первые в мире...отношусь с подозрением. Сам в своё время был аспирантом одного крупного научного деятеля и потом 20 лет крутился в науке. Профессор, академик, знаменитость, широко известная в узких научных кругах, во всем мире примерно 10-15 человек занималось этой научной областью. Из которых половина его непосредственные родственники: жена, дочка, зять и т.д., остальные знакомые, друзья. Такой международный междусобойчик среди своих. Гнали наукообразную хрень с 90% вранья, друг друга цитируя и подтверждая. Благо проверить мало кто мог из-за специфики и трудоёмкости вычислений. Главное, что на правду похоже.) Так всю жизнь этот академик и прожил в славе, занимаясь самопиаром и эксплуатацией всех своих сотрудников. Даже работами студентов не брезговал, их присваивал. Главное, вал, количество научных работ. Теперь, спустя годы, понимаешь, что вся научная группа занималась по сути ерундой и имитацией бурной научной деятельности. И что главное, таких крупных научных деятелей повидал немало. И среди наших и среди иностранцев. Большинство. Это то и понятно, что профессоров и академиков море. А вот тот же Ньютон был один. А все профессора, академики хотят вкусно кушать. Так что терзают меня большие сомнения.)
> А все профессора, академики хотят вкусно кушать. Так что
> терзают меня большие сомнения.)Чтобы вас не терзали смутные сомнения -- просто сходите к нему на сайт, почитайте его работу про отрицательный отбор, учёных обезъян и научные бананы. Если что-то будет ещё непонятно и останутся сомнения -- ну тогда я не знаю как вас ещё убедить.
И много софта на Обероне переписали, кроме того для 1-го блока РоАЭС?
> И много софта на Обероне переписали, кроме того для 1-го блока РоАЭС?Система символьных вычислений. Ткачёв с нуля в одно лицо. Ну не надо лениться. Погугли, ссылок на написанный софт с более чем серьёзным применением вполне достаточно.
Ага. Широко известные в узких научных кругах. Слишком узких.)))
> Ага. Широко известные в узких научных кругах. Слишком узких.)))Вам шашечки или ехать? Если ехать не собираетесь -- зачем тогда вы вообще начинали этот разговор?
Ткачев сам себя здесь рекламирует ?)))Правильно, сам себя не расхвалишь, так никто не похвалит.)))
> Ткачев сам себя здесь рекламирует ?)))Правильно, сам себя не расхвалишь, так никто
> не похвалит.)))Ткачёв очень уважаемый человек. Вы ему не ровня даже близко. Он умер год назад. Извиниться не желаете?
Дополню, что если логи раз в сутки можно прошерстить на питоне или перле, то для какой-то более сложной аналитики уже лучше брать что-то вроде R, например. А если у вас задача, для которой хорошо подходит Тарантул, то вам придётся выучить Луа.
>Большие приложения не сразу становятся большими.Верно. Для любой сишной прикладной либы обязательно нужпы питоньи биндинги.
Кому нужны? Начинающим программистам, которые умеют только на питоне и пишут на нем всё?
Например, тем кто не первый год занимается программированием и знает, что детали реализации (в данном случае в виде арифметики указателей и прочих прелестей) можно и зачастую даже нужно скрывать.
Нужно скрывать, в классах, да. Только при чем здесь биндинги к библиотекам на другом языке?
Посмотрим правде в глаза - на питоне пишут не потому что язык хороший, а потому что на других не умеют, не могут, не хотят. Так как язык тормозной даже по меркам скриптовых и более или менее тяжелые вычисления на нем невозможны, использование биндингов к сишным либам - горькая необходимость. Надо называть вещи своими именами.
>на питоне пишут потому что на других не умеют, не могут, не хотят
>язык тормозной
>использование биндингов к сишным либам - горькая необходимостьДопустим, всё так, но как из этого следует, что биндинги не нужны и питон тоже не нужен?
Есть люди, которые «на других не умеют, не могут, не хотят» — они пишут на питоне. Кто умеет, может или хочет — пишет на чём-то другом.
Приятно видеть, что некоторые вещи совсем не меняются, проходят через года в одном и том же виде, и сейчас, как и сто лет назад, отсутствие в классе учителя не может пройти незамеченным.
О, гуру, расскажи, на чем конкретно надо писать большие приложения?
Разные большие приложения - на разном. Размышляй над этим и обретёшь просветление.
Javascript конечно же
Теперь уже модно на Rust.
Как определить, какой язык изучать, чтобы не потратить зря время? ... Посмотрите, не попадает ли язык в категорию "модных".
> Сначала пишут на неподходящем для этого языке большие приложения, потом пишут профилировщики.Эк ты изящно сишников-плюсовиков, жабистов, эрланговцев и даже хаскеллистов приложил ...
Прямо описАл историю airbnb с тоннами заморочек к синтаксису и подходами к разработке и конечной разработке приложения на реакт-натив.
Приём, сама по себе штука весьма неплохая, но со всеми их подходами, проект превращается в лютейшую помойку.
Посоны в итоге настолько зазнались и перемудрили со всем этим, что не нашли варианта лучше как тупо с него свалить и забить на все их же подходы и модули, которые продолжительное время всерьёз рекомендовали другим как "стандарт разработки крупного проекта"™ и которые некоторые до сих пор пытаются применять, всерьёз удивляясь что их проекты стремительно превращаются в кучу гомна
Типичное плохо не делай, а делай хорошо.Но сейчас твоя картина мира изменится. Представь что маленьким приложениям тоже бывает нужен профилировщик! А заливатель железом это ты.
Профилировщик нужен не приложениям, а программистам, поделие которых жрет память как не в себя, после чего виснет и падает, причем не на локалхосте, а в продакшене.
Да, делать надо хорошо. Плохо само получится.
Вот молодцы, красавчики, спасибо большое Bloomberg!
>>выявление причин большого потребления памятиА что там выявлять? Главная причина - использование питона.
Интересно на чем у них терминал рисует, ncurses?
Питон не нужен. Мусорный язык с мерзотным синтаксисом и сообществом смузихлёбов - любителей качать мегабайты библиотек, вместо того чтобы писать собственные реализации занимающие пару строк.
Сразу виден классический критик Python, ничего серьезнее hello world так и не написавший.
А не нем можно что-то написать серьезнее?
Если руки торчат не из жопы, то можно.
> Если руки торчат не из жопы, то можно.Это справедливо даже для qbasic из 80-90х годов. Но в то время программисты были инженерами, а не смузихлёбами, всё писалось с нуля или хотя бы с пониманием "подкапотной магии" сторонних библиотех, а не как сейчас, что большинство "разработчиков" знать не знают чем отличается шина данных от шины адреса.
> Это справедливо даже для qbasic из 80-90х годов. Но в то время
> программисты были инженерами, а не смузихлёбами, всё писалось с нуля или
> хотя бы с пониманием "подкапотной магии" сторонних библиотех,Жырненько.
Расскажи поподробнее о понимании "подкапотной магии" современных сторонних библиотек (куда, в используемом смысловом значении, входят и ядра ОС и их "core" библиотеки и граф. стек и особенности реализации ФС и прочее) при написании _пользовательских_ приложений.
>Но в то время программисты были инженерами, а не смузихлёбами,В то время программисты были махровыми энтузиастами. О высшем образовании чаще всего речь вообще не шла, ключевым критерием был талант. А твое представление о них киношное.
>всё писалось с нуля
Оперативной памяти было мало, поэтому писалось многое на ассемблере. Поэтому и с нуля.
>а не как сейчас, что большинство "разработчиков" знать не знают чем отличается шина данных от шины адреса.
Напрямую с памятью работает ОС. И большинству разработчиков совершенно не требуется это знание, так как они пишут программы под определенную ОС.
Что касается шины данных, то там и вовсе актуально только одно значение - ширина этой шины. Да и то, только для тех, кто именно увлечен ассемблером. И в редких случаях для сборщиков компьютеров.
Этот твой аргумент почти ни о чем.
>>Но в то времяДеточка, не тебе МНЕ рассказывать, как было в ТО ВРЕМЯ. Я ещё застал перфокарты, фортран и ЭВМ занимающие целые этажи, а вот твои познания, судя по тому что ты выcpaл, реально киношные. Так что иди пей смузи и не поперхнись от злости.
Написанное тобою выше явно говорит о том, что ты толком не понимаешь, что такое вообще библиотеки и зачем они нужны. Поэтому в то, что ты что-то застал, мягко говоря, верится с трудом.