The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"Facebook открыл код фреймворка для выявления утечек памяти в JavaScript"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Facebook открыл код фреймворка для выявления утечек памяти в JavaScript"  +/
Сообщение от opennews (ok), 19-Сен-22, 20:39 
Facebook открыл исходные тексты инструментария memlab, предназначенного для анализа срезов состояния  динамически распределяемой памяти (кучи), определения стратегии оптимизации работы с  памятью и выявления утечек памяти, возникающих при выполнении кода на языке JavaScript. Код открыт под лицензией MIT...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=57802

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от ip1982 (ok), 19-Сен-22, 20:39   –1 +/
> obj = null;

Это утечка памяти в Яваскрипте. Ок. После "1" + 1 и т. п. я ничему не удивляюсь. А также filter(None, ...) в питоне.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #28, #32, #34

2. Сообщение от Аноним (2), 19-Сен-22, 20:45   +/
  var obj = {};
  console.log(obj);
  obj = null;

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #4, #14, #17, #153

4. Сообщение от Дубльджва (?), 19-Сен-22, 20:47   –7 +/
Типа должен появиться джин и исполнить твоё желание? Залезай в код движка и освобождай.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #7, #47

6. Сообщение от Аноним (2), 19-Сен-22, 20:50   +1 +/
использовании новой версии сайта Facebook.com, приводившие к аварийному завершению браузера на стороне клиента

Фейсбук рулит (нет)

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #187

7. Сообщение от Аноним (2), 19-Сен-22, 20:51   +2 +/
Типа gc вообще никогда там память не чистит, что даже в таком простейшем случае лажает?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #74

12. Сообщение от YetAnotherOnanym (ok), 19-Сен-22, 21:04   +1 +/
Сначала напихаем в веб-страницу кучу ненужнокода, а потом начнём выяснять где память утекает.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #25

13. Сообщение от Корец (?), 19-Сен-22, 21:05   +/
>Граждане, это что же получается, js в браузере теперь пора заменять на раст?

На сишку. В сишке, если ты вызвал free(), то это железно. Все эти {полу-}автоматические управления памятью - полумеры. В сишке если ты забыл что-то, то виноват ты сам. В язычках, типа js, как выясняется, программист может только писать код и надеяться, что он будет работать так, как ожидается.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #31, #38, #49, #52, #210

14. Сообщение от Аноним (14), 19-Сен-22, 21:07   +/
>Например в нижеприведённом коде в Chrome утечка памяти возникает из-за объекта "obj", несмотря на то, что ему присваивается значение null, так как Chrome сохраняет внутренние ссылки на выводимые объекты для предоставления возможности их последующего инспектирования в web-консоли.

В новости написано же.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #18

16. Сообщение от Аноним (28), 19-Сен-22, 21:12   +1 +/
И снова Facebook делает за день для opensource больше, чем все комментаторы опеннет вместе взятые за год. Но сейчас, конечно, зелёная элита нам расскажет, что на самом деле это JS и веб плохие, а в легендарной Сишечке настоящие программисты никогда в жизни утечку памяти не допустят.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #27

17. Сообщение от Аноним (28), 19-Сен-22, 21:15   +/
Вот так сишники CVE и прогают, думая что область памяти и указатель на неё — одно и то же. А всего-то нужно было прочитать предыдущее предложение.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #118

18. Сообщение от НяшМяш (ok), 19-Сен-22, 21:16   +/
Это скорее не утечка, а поведение платформы. В принципе, чего ещё от хромиумных ожидать. /s
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #115

25. Сообщение от Аноним (25), 19-Сен-22, 21:22   –6 +/
Ну конечно давай не будет ничего добавлять и дружно будем сидеть в консоли в консольных соцсеточках. Как перестать с тебя орать?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #157, #199

27. Сообщение от Аноним (25), 19-Сен-22, 21:23   –2 +/
А что комментаторы подряжались на работы в ФБ? ФБ за то деньги и платят рекламщики чтобы он делал всё за это деньги.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #30

28. Сообщение от Аноним (28), 19-Сен-22, 21:23   –8 +/
> А также filter(None, ...) в питоне.

И что ты там не осилил понять? Прочитать одно предложение из документации?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

30. Сообщение от Аноним (28), 19-Сен-22, 21:26   +/
> А что комментаторы подряжались на работы в ФБ?

Может и подряжались, но факт, что не прошли бы даже первый тур собеса.

> ФБ за то деньги и платят рекламщики чтобы он делал всё за это деньги.

Ага. А комментаторы с опеннет только бесплатные комменты пишут.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27

31. Сообщение от Аноним (31), 19-Сен-22, 21:27   +/
на html

выполнять неконтролируемый (<<докапываться до орфографии здеся<<) чужой код на своём компе - изначально плохая идея

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #71

32. Сообщение от Аноним (32), 19-Сен-22, 21:28   +6 +/
В С# и Java тоже почему-то "1" + 1 равно "11"
И в C++ для std::string
Почему?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #36, #90, #132

34. Сообщение от Аноним (36), 19-Сен-22, 21:30   +/
Раскройте мысль про фильтр в питоне? задокументированное поведение - которое оставит тру-объекты. не очень читаемо - да, но так и все фп в питоне по построению такое чтобы больше использовали классы и объекты с компрехеншнами. т.е. тут явная философия прослеживается
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #41

35. Сообщение от Аноним (35), 19-Сен-22, 21:31   –2 +/
Нет JS — нет утечек.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #174, #211

36. Сообщение от Аноним (36), 19-Сен-22, 21:33   +/
Потому что любят обмазываться неявным и несвежим и искать потом трудноуловимые баги)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32 Ответы: #40, #159

37. Сообщение от Аноним (32), 19-Сен-22, 21:34   +/
var obj = {};
console.log(obj);
obj = null;
так как Chrome сохраняет внутренние ссылки на выводимые объекты для предоставления возможности их последующего инспектирования в web-консоли.


Какое-то совсем неожиданное проведение.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #42, #45, #178

38. Сообщение от Аноним (38), 19-Сен-22, 21:34   +3 +/
Зря минусите. Лучшего управления памятью чем вручную еще никто не придумал. Это железобетонный факт, смиритесь.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #167

40. Сообщение от Аноним (32), 19-Сен-22, 21:39   +2 +/
Это что за неуловимый бог от автоматического вызова toString() при конкатенации со строкой?
Приведите реальный пример такого бага, например на java.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36 Ответы: #66, #170

41. Сообщение от Атятя (?), 19-Сен-22, 21:44   +2 +/
>Раскройте мысль про фильтр в питоне?

Дело функции высшего порядка - принимать функции. Например, identity.

>не очень читаемо - да, но так и все фп в питоне по построению

Это не проблема фп и тут это не проблема фп в питоне. Это проблема питоняш, которым сложна выучить три с половиной функции и проблема того, кто выпилил из питона expressions, заменив их statements (а потом судорожно впиливающего expressions назад в виде :=). То, что в питоне угробила ООП - это вина Россума, в это ФП не умеющего.

>больше использовали классы

Добро пожаловать на руби и смоллток, да и common lisp тут полущ будет.

>философия

Васик нашего времени как-то слабо тянет на философию.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34

42. Сообщение от Аноним (72), 19-Сен-22, 21:44   +/
почему неожиданное? можно позже щелкнуть в девтулзах по объекту правой кнопкой мыши и нажать "Store object as global variable" - и все, ссылка на объект снова восстановлена. IQ чуть выше, чем у хлебушка, подсказывает, что это было бы невозможно, если бы хром не сохранял ссылки на выводимые объекты.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37 Ответы: #53

44. Сообщение от Аноним (32), 19-Сен-22, 21:47   +/
А в чем ограничен мозг у предыдущего комментатора?
Ни одной ссылки на обьект внутри js кода в примере из новости нет и сборщик мусора его должен удалить.
Но не удаляет так как так как браузеру зачем-то нужно хранить вечную ссылку чтобы показать что-то в отладочной консоли.

И вообще где в стандарте написано что console.log создаёт неудаляемый объект?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #48 Ответы: #51, #60

45. Сообщение от Аноним (45), 19-Сен-22, 21:48   –2 +/
Вполне себе ожидаемое поведение.

let a = {};
let b = {};
a.b = b;
b.a = a;
console.log(a)

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37 Ответы: #50

47. Сообщение от Аноним (32), 19-Сен-22, 21:49   +1 +/
Этот волшебный джин называется Garbage collection
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #48

48. Сообщение от Аноним (32), 19-Сен-22, 21:51   +1 +/
Garbage collector
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #47 Ответы: #44

49. Сообщение от Аноним (-), 19-Сен-22, 21:52   +3 +/
> В сишке если ты забыл что-то, то виноват ты сам. В язычках, типа js, как выясняется, программист может только писать код и надеяться, что он будет работать так, как ожидается.

Если ты не понимаешь, как работает сборщик мусора, то это _ты_ не понимаешь. Это твоя безграмотность светится, а не особенности сборщика мусора.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #62, #69

50. Сообщение от Аноним (-), 19-Сен-22, 21:54   +/
В хромом они устаревают и очищаются.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #45

51. Сообщение от Аноним (-), 19-Сен-22, 21:58   +1 +/
Та вроде пишут что-то непонашему:

Please be warned that if you log objects in the latest versions of Chrome and Firefox what you get logged on the console is a reference to the object, which is not necessarily the 'value' of the object at the moment in time you call console.log(), but it is the value of the object at the moment you open the console.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44 Ответы: #64

52. Сообщение от Анонн (?), 19-Сен-22, 22:00   +4 +/
Да, в сишечке это железно. Вызвал free, а потом другой объект к обратился по этому указателю.
И use-after-free получил. Железно!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #63, #97, #172

53. Сообщение от Аноним (32), 19-Сен-22, 22:00   –1 +/
Пытаюсь проверить что местные эксперты знали ДО этой новости что console.log создаёт неудаляемый обьект, но что-то не получается.
Наверное iq хлебушка не даёт.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #42

54. Сообщение от darkshvein (ok), 19-Сен-22, 22:02   –1 +/
>утечек памяти в JavaScript

а я думал это design by default

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #177

60. Сообщение от Аноним (72), 19-Сен-22, 22:08   +1 +/
А где написано, что не создает ссылки? В спеках вызов логгера - "implementation-defined side effect". В правильно настроенном сборщике все console.log вырезаются из продакшн-сборки, а линтер на них ругается или кидает ворнинг.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44

62. Сообщение от Аноним (-), 19-Сен-22, 22:10   –1 +/
>это другое, понимать надо
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49

63. Сообщение от Корец (?), 19-Сен-22, 22:11   +5 +/
>Вызвал free, а потом другой объект к обратился по этому указателю. И use-after-free получил.
>В сишке если ты забыл что-то, то виноват ты сам.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52 Ответы: #134, #152

64. Сообщение от Аноним (32), 19-Сен-22, 22:11   –2 +/
Это в стандарте ecmascript так и написано Firefox и chrome должны навсегда сохранять объекты для которых был вызван console.log? А как же другие браузеры им то можно их удалить?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #51 Ответы: #72, #197, #209

66. Сообщение от Аноним (32), 19-Сен-22, 22:13   +1 +/
*неуловимый баг
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40 Ответы: #121

69. Сообщение от Корец (?), 19-Сен-22, 22:15   –1 +/
Тогда просяти меня! Я полагаю, что сборщик мусора должен уничтожать всё, на что не осталось ни единой ссылки. Как раз как в коде в новости.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49 Ответы: #104, #151

71. Сообщение от Корец (?), 19-Сен-22, 22:18   –1 +/
Ты вещаешь так, как будто ты контролирешь весь тот js, который выполняется в твоём браузере ;)

-Да, но ведь js выполняется в браузере и обёрнут в 100500 песочниц!
-Но что нам мешает запустить таким же образом код на любом другом языке?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31 Ответы: #75

72. Сообщение от Аноним (72), 19-Сен-22, 22:19   +2 +/
ECMAScript описывает базовые положения языка и ни про какой input-output (включая console.log) не в курсе. А стандарт, описывающий console, оставляет все на откуп имплеметорам.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #64

74. Сообщение от Дубльджва (?), 19-Сен-22, 22:25   –7 +/
Кек, какой ещё gc?
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #92, #135

75. Сообщение от Аноним (31), 19-Сен-22, 22:28   +/
чукча не читатель?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #71

77. Сообщение от Аноним (31), 19-Сен-22, 22:32   +/
а как вообще в GC-языке возможны утечки памяти? (не забытые на сусеках объекты, а именно утечки)?

там же типа забил болт на сущность - GC должен подметать, не?

извиняюсь за тупой вопрос, я не веб-макака и не скрипт-кидди

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #106, #109

90. Сообщение от Аноним (90), 19-Сен-22, 23:11   +1 +/
В C/C++ "1" + 1 равно "" (пустой строке).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32 Ответы: #94, #148

92. Сообщение от Аноним (92), 19-Сен-22, 23:14   +1 +/
Ну ок, а джаве тоже нету GC, она ведь тоже на С++ написана. Я тебя понял.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #74 Ответы: #117

94. Сообщение от Аноним (90), 19-Сен-22, 23:15   –1 +/
А std::string("1") + 1 не скомпилируется.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #90

97. Сообщение от Аноним (92), 19-Сен-22, 23:18   +2 +/
И нахер ты обращаешься к указателю, к-й уже указывает на невалидную память?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52 Ответы: #202

104. Сообщение от Аноним (-), 19-Сен-22, 23:27   +/
Там в новости объяснено, что ссылка осталась. Читай внимательнее.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #69

106. Сообщение от Аноним (-), 19-Сен-22, 23:29   +3 +/
> а как вообще в GC-языке возможны утечки памяти? (не забытые на сусеках объекты, а именно утечки)?

Никак. Поэтому в GC-языках утечками памяти называются забытые на сусеках объекты.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #77

109. Сообщение от Аноним (-), 19-Сен-22, 23:35   +1 +/
Вы кгутой Анон!
Держите на примере джавы.
Китайца переводила
https://russianblogs.com/article/89352659932/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #77

112. Сообщение от Alladin (?), 19-Сен-22, 23:39   +1 +/
так Facebook или Meta, а то что-то непонятное.. но запрещенное.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #116

115. Сообщение от Аноним (14), 19-Сен-22, 23:51   +/
Утечка, которую создаёт поведение платформы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

116. Сообщение от Аноним (116), 20-Сен-22, 00:02   +/
запретный фэйс сладок
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #112 Ответы: #163

117. Сообщение от Дубльджва (?), 20-Сен-22, 00:04   –2 +/
Тебе сказали лезь в движок и исправляй код.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #92 Ответы: #176

118. Сообщение от Аноним (92), 20-Сен-22, 00:06   +/
Сишники в отличие от вэбмакак знают, что такое парсер, лексемы, абстрактное синтаксическое дерево и много чего еще, что позволяет им создавать новые ЯП на яишке. А вот ты даже не сможешь раскрыть свой коммент и сказать, чем область памяти отличается от указателя на нее я язык с автоматическим управлением памятью, коим JS и является.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17

121. Сообщение от Аноним (121), 20-Сен-22, 00:10   +4 +/
и так нормально было
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66

132. Сообщение от trdm (ok), 20-Сен-22, 00:23   +1 +/
в 1С тоже "1"+1 = "11";
а 1 + "1" = 2
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32

134. Сообщение от Аноним228 (?), 20-Сен-22, 00:24   +/
Ты о чем? мы про утечку памяти гутарим.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63

135. Сообщение от trdm (ok), 20-Сен-22, 00:24   +1 +/
в С++ в Qt есть GC
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #74 Ответы: #149

142. Сообщение от Вы забыли заполнить поле Name (?), 20-Сен-22, 00:37   +/
Интересный факт: фейсбук пользуется тайпскриптом, а не своим же flow.
Ответить | Правка | Наверх | Cообщить модератору

148. Сообщение от Аноним (121), 20-Сен-22, 01:49   –1 +/
не равно, вот содержимое по указателю равно (и то - если сравнивать до \0)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #90

149. Сообщение от Аноним (121), 20-Сен-22, 01:50   –1 +/
нет
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #135 Ответы: #171

151. Сообщение от Аноним (151), 20-Сен-22, 04:00   +/
Ппц ты деревянный, точно программированием деньги зарабатываешь? Из статьи разве непонятно, что твой код не даёт никаких гарантий сам по себе, даже будучи формально корректным, нужно учитывать ещё контринтуитивный саботаж со стороны платформы V8, что в определенных условиях ссылки на все именованные аллокации в куче неявно складываются в глобальный кэш, из-за чего GC не может ничего собрать,  так как кэш жив до закрытия браузера?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #69 Ответы: #164

152. Сообщение от Аноним (151), 20-Сен-22, 04:11   –2 +/
Вот поэтому сишка уместна для микроконтроллерных прошивок и шеллкодов на 2-3 тысячи строк кода максимум, а для чего-то размером с браузер лучше взять раст. Чем меньше человеческого фактора в кодовой базе, тем лучше. Утверждать обратное - говорить примерно то же самое, что если водишь давно и много, то тебе ремень и подушки безопасности не нужны.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63 Ответы: #196

153. Сообщение от анонимывпывпemail (?), 20-Сен-22, 04:36   +1 +/
> в нижеприведённом коде в Chrome утечка памяти возникает из-за объекта "obj", несмотря на то, что ему присваивается значение null, так как Chrome сохраняет внутренние ссылки на выводимые объекты для предоставления возможности их последующего инспектирования в web-консоли

ты бы чуть ниже прочитал, хоспаде, чел

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

155. Сообщение от Аноним (155), 20-Сен-22, 06:18   +/
> для разбора причин большого потребления памяти при работе с web-сайтами и web-приложениями.

Как бы им намекнуть, что главная причина - "23-летние синьоры" и прочие радужные профаны между столом и стулом

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #158

156. Сообщение от Хухрымухры (ok), 20-Сен-22, 06:51   +/
Алиллилуя!

Ещё в браузерах надо жестко ограничить максимально потребляемые ресурсы вкладками, чтоб товарищи фронтэндеры начали включать голову.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #161

157. Сообщение от Без аргументов (?), 20-Сен-22, 07:24   +1 +/
Чтобы загрузить чат, достаточно даже на JS отправить запрос и получить один ответ размером в 5Кб. Но вебманки называют чисто язык JS нативным, прямо как отдельное что то, не обязательное к изучению при шлепании на реактах.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #160

158. Сообщение от Аноним (92), 20-Сен-22, 08:33   +/
>  "23-летние синьоры" и прочие радужные профаны между столом и стулом

уверен, что точно не разрабы хрома, где после присваивания объекту null, он все равно остается существовать?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #155 Ответы: #182, #206

159. Сообщение от bOOster (ok), 20-Сен-22, 08:33   –1 +/
rust?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36

160. Сообщение от Аноним (160), 20-Сен-22, 09:39   –1 +/
Будет некрасиво и не интерактивно пользователям это не нравится. А ты проходи в консоль не задерживайся.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #157

161. Сообщение от Аноним (160), 20-Сен-22, 09:43   +/
Если это кому то реально нужно, почему же тогда большие сайты не уменьшили свои js скрипты до 5кб? Ты найти этого ответа к сожалению не сможешь, поэтому Я приготовил ответ специально для тебя: «Да потому что это не кому не нужно. Пользователю нужны фичи, а не низкое потребление, они за это платят долларом»
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #156 Ответы: #162

162. Сообщение от Аноним (162), 20-Сен-22, 10:40   +1 +/
> они за это платят долларом

причём сами того не подозревая (через слив персональных данных и постоянный апгрейд железа)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #161 Ответы: #168, #169

163. Сообщение от ыы (?), 20-Сен-22, 10:40   +/
У вас девиация вкусовых рецепторов.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #116

164. Сообщение от _hide_ (ok), 20-Сен-22, 10:46   +/
Как я понял, новость кто-то поправил или я нить Ваших рассуждений теряю.
Ведь черным по белому написано, что никакого кеша нет, просто панель отладки является частью страницы и, если Вы в неё что-то запулили, то ссылка на объект "будет жить вечно", пока консоль не будет очищена. Это неожиданно, но не смертельно (вообще не думал, что такое в продакшене встречается часто)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #151

167. Сообщение от Аноним (167), 20-Сен-22, 10:56   +1 +/
Вручную можно как очистить. Так и злонамеренно не отчистить например.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38

168. Сообщение от Аноним (167), 20-Сен-22, 11:00   –1 +/
И что если они стали от этого полностью счастливыми? Зачем эта надуманная погоня за снижением потребления? Чтобы в твоём колхозе купленный вскладчину ДВК-2 мог отобразить список друзей в ВК?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #162 Ответы: #175

169. Сообщение от Аноним (167), 20-Сен-22, 11:07   +4 +/
Вон счастливые обладатели 8-битных самопяйных ПК на 7 мегагерцовых процессорах видосы смотрят с CD-ROM'а http://atmturbo.nedopc.com/load_cdrom.htm#cd_soft у них же столько счастья от того что они не купили большой дорого ПэКа, а смогли сэкономить и смотрят 16 цветные видео 224x160 15 кадров в секунду.  
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #162 Ответы: #173

170. Сообщение от _kp (ok), 20-Сен-22, 11:23   +/
Причину таких "неуловимых" багов лучше искать в зеркале.
Да, грамотных программистов на всё не хватит, но тут можно или повышать грамотность и требования, или обложить "макаку" костылями и поощрять массовое невежество.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40 Ответы: #190

171. Сообщение от _kp (ok), 20-Сен-22, 11:26   +1 +/
Если включить компоненты с GC, то будет. И не только с QT.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #149

172. Сообщение от _kp (ok), 20-Сен-22, 11:43   +1 +/
Язык делает то что приказали. И делает хорошо. Для того он и создан.
Но, при отсутствии элементарных знаний, Си позволяет новичку пробежаться по граблям.

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

И при переходе с GC языков на Си, иные подобные языки без GC, тоже обычно пишут "весьма странный" код.


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52

173. Сообщение от n00by (ok), 20-Сен-22, 12:14   –5 +/
> у них же столько счастья
> от того что они не купили большой дорого ПэКа, а смогли
> сэкономить и смотрят 16 цветные видео 224x160 15 кадров в секунду.

Конструктор ATM-turbo 2+ (версия платы v7.18)
Комплектация - печатная плата, полный набор деталей для сборки.
9500 руб

Собранная плата ПК ATM-turbo 2+ (версия платы v7.18)
13500 руб

Материнская плата Elitegroup GLKD-I2-N4120 [BGA 1090, Intel Celeron N4120 4x1.1 ГГц, 1xDDR4-2400 МГц, 1xM.2, Mini-ITX]
5 699 ₽

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #169 Ответы: #179, #181

174. Сообщение от Бывалый смузихлёб (?), 20-Сен-22, 13:14   +1 +/
утечки придумали ещё до жс
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35

175. Сообщение от Бывалый смузихлёб (?), 20-Сен-22, 13:19   +/
> И что если они стали от этого полностью счастливыми?

Но стали ли они счастливы и именно от этого ?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #168 Ответы: #180

176. Сообщение от Аноним (176), 20-Сен-22, 13:25   +/
А не пошёл бы ты в жoпy? Если даже гугл не осилил пофиксить утечки в своём собственном движке - это фактически расписка в том, что сделать это невозможно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #117

177. Сообщение от Аноним (176), 20-Сен-22, 13:28   +/
defective by design
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #54 Ответы: #205

178. Сообщение от Аноним (178), 20-Сен-22, 13:32   +/
> Какое-то совсем неожиданное проведение.

Как раз ожидаемое! Объект использует консоль браузера, освобождать объект нельзя (с ним работает консоль, сами же попросили вызвав console.log). Когда в консоли очередь переполнится (которую наверное нужно поменьше поставить) тогда объект и будет удалён.


Даже в православной Java вызов сборки мусора не гарантирует освобождение памяти. GC может всякие эвристики использовать и не спешить отдавать память (для всяких SoftReference), мало ли... В итоге он освободит, но иногда не по первому вызову.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37

179. Сообщение от Аноним (180), 20-Сен-22, 14:04   +/
Ну вот и ешь тогда свой Javascript тоннами чего орать-то?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #173 Ответы: #183

180. Сообщение от Аноним (180), 20-Сен-22, 14:05   +/
Абсолютли. Если ты веришь в счастье это считать на МК-54, то я тебя ставлю в известность, то это не так.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #175

181. Сообщение от Старый комп (?), 20-Сен-22, 14:07   +3 +/
Оуоу, давай, палегче. Что еще за собранная плата? Плату нужно самому травить, микрухи сковыривать со старой электроники, паяльник можно сделать самому. Ты из какой галактики прилетел? Из той где компы на деревьях растут?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #173 Ответы: #184

182. Сообщение от Старый комп (?), 20-Сен-22, 14:09   +/
Хром не должно быть. Должен быть только телнет!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #158

183. Сообщение от n00by (ok), 20-Сен-22, 14:22   +/
Орёшь ты про Javascript, поскольку по существу моего сообщения сказать нечего.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #179 Ответы: #186

184. Сообщение от n00by (ok), 20-Сен-22, 14:24   +/
Каконічный Легион решил сделать вид, что понимает в пайке. На деле показал, что не умеет не только искать, но даже читать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #181 Ответы: #185

185. Сообщение от Старый комп (?), 20-Сен-22, 14:49   +1 +/
Ты ясно, конечный, паяльник в руках не держал. Только ты и есть главный потребитель всего этого Javascript мусора. Чего возбудился то так?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #184 Ответы: #189

186. Сообщение от Старый комп2 (?), 20-Сен-22, 14:50   +1 +/
Так перед тобой никто и не собирался отчитываться ты же конченый от природы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #183 Ответы: #188

187. Сообщение от JackONeillemail (?), 20-Сен-22, 14:54   +/
Зачем? Зачееем некоторые стали писать (нет) ?? Для кого это вообще?)))).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6

188. Сообщение от n00by (ok), 20-Сен-22, 14:57   +/
Да знаю я, что ты никто. Регулярно тебе про это пишу. Если бы ты не бухал горильку с со спорыньёй, дошло бы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #186 Ответы: #191

189. Сообщение от n00by (ok), 20-Сен-22, 14:59   +/
Сколько же ты в этом году будешь за мной скакать? ;)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #185 Ответы: #192

190. Сообщение от длиннохвостая мартыха (?), 20-Сен-22, 15:00   +/
Или изобрести другой оператор для соединения строк, например:
"1" || 1
Дал бы строку "11", а вот:
"1" + 1
Дал бы число 2.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #170 Ответы: #208

191. Сообщение от Старый комп 3 (?), 20-Сен-22, 15:17   +1 +/
Да ты еще знаток веществ. Всё с тобой ясно. Одновременно топишь против джаваскрипта и сам же его потребляешь тоннами. Это просто ор.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #188

192. Сообщение от Старый комп 4 (?), 20-Сен-22, 15:18   +/
Ахаха может когда перестанешь писать херню? Это же так просто вот взять и больше никогда не писать херню. Сложно чтоли?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #189 Ответы: #198

196. Сообщение от Совершенно другой аноним (?), 20-Сен-22, 16:06   +1 +/
> для чего-то размером с браузер лучше взять раст.

В Мозилле взяли rust для браузера и не смогли..

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #152

197. Сообщение от Аноним (197), 20-Сен-22, 16:24   +/
В консоли объект не просто выводится в виде текста. Он должен продолжать где-то храниться для возможностей работать с ним.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #64

198. Сообщение от n00by (ok), 20-Сен-22, 17:29   +/
Так то ты себя правильно называешь последнее время. Комп. То есть бот. Ты часть ботнета. ;)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #192

199. Сообщение от Аноним (199), 20-Сен-22, 17:38   +2 +/
>в консольных соцсеточках

Хотеть.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25

202. Сообщение от YetAnotherOnanym (ok), 20-Сен-22, 18:49   +/
Он по-другому не умеет. И виновата в этом дырявая сишка.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #97

204. Сообщение от Максим (??), 20-Сен-22, 19:57   +/
Если их код такой же кривой, как и интерфейс мордокниги, то пусть лучше не открывают...
Ответить | Правка | Наверх | Cообщить модератору

205. Сообщение от darkshvein (ok), 20-Сен-22, 22:50   +/
> defective by design

точно, спс. забываю я англицизмы.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #177

206. Сообщение от Аноним (197), 21-Сен-22, 01:52   +/
Дядя, ты дурак? null присваивается переменной, а не объекту. Сам объект при этом остаётся в памяти, но не может быть собран сборщиком мусора, потому что ссылка на него появляется у консоли.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #158

208. Сообщение от _kp (ok), 21-Сен-22, 11:19   +/
> Или изобрести другой оператор для соединения строк

В php используется отдельный оператор для конкатенации строк. При его типизации это полезная идея.

А языки с со строгой типизацией и приведением типов, приводят типы по первому операнду или к явно заданному типу результата. Трудно не запомнить.
И то, если предупреждения не отключать, g++ выдаст предупреждение на местах где может быть потенциальная ошибка.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #190

209. Сообщение от Аноним (209), 21-Сен-22, 13:19   +/
console не является частью ecmascript.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #64

210. Сообщение от Аноним (209), 21-Сен-22, 13:53   +/
> В сишке, если ты вызвал free(), то это железно

А потом будешь любоваться внезапными падениями вкладок. В лучшем случае.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13

211. Сообщение от Аноним (209), 21-Сен-22, 13:56   +/
>Нет софта — нет утечек.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35

212. Сообщение от Онаним. (?), 23-Сен-22, 00:25   +/
- Например в нижеприведённом коде в Chrome утечка памяти возникает из-за объекта "obj", несмотря на то, что ему присваивается значение null, так как Chrome сохраняет внутренние ссылки на выводимые объекты для предоставления возможности их последующего инспектирования в web-консоли

Тут уже не фреймворки нужны, а пара волчьих смузи. И всё встанет на место.

Ответить | Правка | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру