|
2.33, Аноним (33), 11:25, 14/02/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Тот tcmalloc из gperftools запомнился тем, что вешал пк, когда памяти визуально ещё порядка 30% было. Странная штука была, в общем, напрасно его пихали.
| |
|
1.2, neAnonim (?), 23:13, 13/02/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
1) tcmalloc медленнее чем gemalloc который применяется в fbsd
2) эти аллокаторы предназначены для бездумного использования. когда треды ломятся в одну точку по очереди
единственное что тебе действительно нужно это mmap() и читать dodbook (Richard Fabian)
альтернатива: ищи простые реализации аллокаторов на gh и даже они дают прирост 500%
| |
|
2.5, Аноним (-), 00:08, 14/02/2020 [^] [^^] [^^^] [ответить]
| +5 +/– |
> 1) tcmalloc медленнее чем gemalloc который применяется в fbsd
Что, вот прямо во всех случаях? И вы, конечно, покажете бенчмарки, подтверждающие эту идею?
> 2) эти аллокаторы предназначены для бездумного использования. когда треды ломятся в одну точку по очереди
Есть какая-то статистика насколько это соответствует поведению разного софта?
| |
|
3.10, neAnonim (?), 02:23, 14/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
А что по твоему происходит если треды начинают вызывать общий на всех malloc() ?
Тебе действительно нужна эта mid-bloat-level прослойка, если ты такой умный?
моя основная мысль: прокачивай квалификацию или иди в питон
| |
|
4.16, Аноним (-), 06:31, 14/02/2020 [^] [^^] [^^^] [ответить] | +/– | define общий на всех malloc , для начала Ну там как описание flow кто и что д... большой текст свёрнут, показать | |
|
5.23, neAnonim (?), 08:44, 14/02/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
google Wave, g reader, g talk, g labs, picasa, Google Glass...
да дох.много проектов были сделаны и закрыты от большого ума. Да?
про квалификацию: я начал с совета прочитать книгу. а ты хочешь сказать что вот твое приложение такое индивидуальное, что только анализ поможет? да, анализ покажет что ты особеный.
| |
|
6.25, Антонидас (?), 09:19, 14/02/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
>google Wave, g reader, g talk, g labs, picasa, Google Glass...
>да дох.много проектов были сделаны и закрыты от большого ума. Да?
Проекты закрывают потому что они перестают приносить достаточно бабла, а не потому что объявился какой-то дядя и сказал: "У вас тут говнокод, вы, похоже, нужных книжек не читали, закрывайтесь"
| |
|
|
8.48, колба (?), 14:38, 14/02/2020 [^] [^^] [^^^] [ответить] | +1 +/– | причины закрытия всегда сводятся к одному команда гугл потеряла интерес к проек... текст свёрнут, показать | |
|
9.53, Аноним (-), 18:11, 14/02/2020 [^] [^^] [^^^] [ответить] | +/– | Интерес они теряют если проект не приносит бабки и вбухивание усилий себя не оку... текст свёрнут, показать | |
|
|
|
6.52, Аноним (-), 18:09, 14/02/2020 [^] [^^] [^^^] [ответить] | +/– | Google тогда уж Именно При скудоумии случается автоВАЗ - фуфло до упора ... большой текст свёрнут, показать | |
|
7.85, neAnonim (?), 11:03, 15/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
у гулага дойная корова реклама и они готовы убить youtube, android и что угодно, но высосать ее полностью и продать всех пользователей.
призыв использовать mmap() означает, что нужно использовать его напрямую, включать голову и организовать memory pool если нужно.
если ты не уперся в пропускную способность памяти и не пришел к dod сам. Твои use кейсы вполне типичные.
| |
|
|
5.24, asdasd (?), 09:15, 14/02/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
> чтобы кодить такую штуку чисто для лулзов
Тот-же Go был ими взять на вооружение именно для того, чтоб нанимать ничего не умеющих макак писать код.
| |
|
6.29, Аноним (29), 10:59, 14/02/2020 [^] [^^] [^^^] [ответить]
| –4 +/– |
Как ни странно, макаки Go не осиливают, они лезут, в основном, в скриптоту, а из компилируемых предпочитают жабу.
А Go высоко оценили бывшие сишники, которым надоело заморачиваться с ручным управлением памятью и прочими неудобствами. Как-никак уже 2020 год и на рынке языков программирования есть из чего выбрать.
| |
|
7.42, Аноним (-), 13:36, 14/02/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Как ни странно, макаки Go не осиливают, они лезут, в основном, в
> скриптоту, а из компилируемых предпочитают жабу.
Осиливают навороченную жабу с наследованием-полиморфизмом, dependency-injection, дженериками и аннотациями, но не осиливают Go?
Логика анонимов такая "логичная".
> А Go высоко оценили бывшие сишники, которым надоело заморачиваться с ручным управлением памятью и прочими неудобствами.
Скорее, просто "бывшие сишники", осилившие только пару простеньких и примитивный парадигм, поддерживаемых Си - отчаянно не хотят приравнивать себя, любимых, к "макакам". Бережно лелеемое ЧСВ не позволяет, понимаш.
| |
|
8.50, Аноним (50), 15:17, 14/02/2020 [^] [^^] [^^^] [ответить] | +/– | А зачем это всё осиливать юному Java-разработчику Слабать код можно как попало,... текст свёрнут, показать | |
8.89, Аноним (29), 13:09, 15/02/2020 [^] [^^] [^^^] [ответить] | –1 +/– | Осиливают навороченную жабу с наследованием-полиморфизмом, dependency-injection,... текст свёрнут, показать | |
|
9.91, Аноним (-), 15:49, 15/02/2020 [^] [^^] [^^^] [ответить] | +/– | А клоунада анонимов, когда от них требуется написать не вброс и не очередной ярл... текст свёрнут, показать | |
|
|
7.44, nelson (??), 13:50, 14/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
>> Go высоко оценили бывшие сишники
оценили. но не бывшие и негативно (в контексте его использования в системном программирования). но для веб-макакинга язычёк вполне подходит
>> заморачиваться с ручным управлением памятью и прочими неудобствами
этими вещами заморачиваются не по причине фанатизма, как вам может показаться со стороны, а по причине отсутствия альтернатив Си
Си обладает свойством zero runtime, гошка - нет. уже одного этого факта достаточно, чтобы сделать вывод о непригодности гошки для решения ряда задач, для которых подходит Си
гошка не может заменить Си, как бы этого ни хотелось смузистам
| |
|
|
9.54, Аноним (-), 18:20, 14/02/2020 [^] [^^] [^^^] [ответить] | +/– | Они не являются НЕОТЪЕМЛИМЫМИ Как доктор, умеющий создавать себе arena у в абсо... текст свёрнут, показать | |
|
8.83, Аноним (83), 02:52, 15/02/2020 [^] [^^] [^^^] [ответить] | –1 +/– | Go это не системный язык Но все равно go это полное г Как всегда распиарин для... текст свёрнут, показать | |
|
9.94, Аноним (94), 14:34, 16/02/2020 [^] [^^] [^^^] [ответить] | +/– | Что за идиоты тебя минусуют Действительно, Си -- системный язык, а Go -- прикла... текст свёрнут, показать | |
|
8.88, Аноним (29), 12:17, 15/02/2020 [^] [^^] [^^^] [ответить] | –1 +/– | Похоже, ты уже давно не программируешь, и не в курсе дел не только относительно ... текст свёрнут, показать | |
|
9.93, Аноним (83), 09:06, 16/02/2020 [^] [^^] [^^^] [ответить] | +/– | Ну просвети уже нас всех Что там с go и что там с современным С А то мы тут ол... текст свёрнут, показать | |
|
|
|
|
|
|
|
|
3.14, neAnonim (?), 03:54, 14/02/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
Ты про эту картинку :
http://ithare.com/wp-content/uploads/malloc-cpu.png
У tcmalloc экспоненциальный рост начиная с 13ти потоков и уже на 20 jemalloc жрет меньше.
"Производительность для не очень многопоточных приложений с большим количеством памяти на борту" вроде так в новости :)
как проснусь поищу тесты которые помню я. (еще более ужасные для tc)
(хотя в новости указанно что у гулага целых 2 tcmalloc)
| |
3.18, Аноним (-), 06:40, 14/02/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
Ага. То-есть, если копнуть, оказывается что если и делает - то мягко говоря не всегда и не везде, и на серебряную пулю ни разу не похоже. А пальцатый чудак рассуждающий про питон настолько крут что даже название алгоритма у него забагованое. Хы! Кстати а это какой из tcmalloc'ов на графике?
| |
|
4.72, Аноним (72), 22:03, 14/02/2020 [^] [^^] [^^^] [ответить] | +1 +/– | Это смотря чем копать - И то ли дело анонимные анонимы, совсем недавно с умным ... большой текст свёрнут, показать | |
4.74, Аноним (74), 22:58, 14/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Кстати а это какой из tcmalloc'ов на графике?
Угадай, учитывая что сабж только на днях вылупился.
| |
|
|
|
1.4, Аноним (4), 00:07, 14/02/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Оптимальный аллокатор обычно входит в стандартную библиотеку. Сторонние аллокаторы - это обычно трейдоф в сторону производительности в предположении, что памяти в компе бесконечно много.
| |
|
2.9, Crazy Alex (ok), 02:23, 14/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
Точнее, это самые разные варианты трейдоффа - банальное предположение и количестве попыток выделения памяти из разных потоков может уже много чего поменять. Или, как у меня когда-то было, когда понятен специфический паттерн запросов. В общем, те, кому оно нужно, уже об этом знают.
| |
|
|
2.8, Аноним (8), 01:42, 14/02/2020 [^] [^^] [^^^] [ответить]
| +11 +/– |
...и Гугл опустив голову грустно побрёл прочь допиливать поддержку АРМа для клалафуды.
| |
|
|
4.39, гугель (?), 12:52, 14/02/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
пипл и так хавает. А тех, кто могли такое написать, мы уже уволили - какие-то они нетолерантные были, и к тому же денег много хотели, а испытывать состояние глубочайшего счастья от самого факта быть достойным рабом нашей корпорации - почему-то нет.
| |
|
|
2.19, Аноним (-), 06:42, 14/02/2020 [^] [^^] [^^^] [ответить]
| +4 +/– |
О, круто!
- Если гугл не релизит сорцы, пох верещит что негодяи, патчи зажимают, на опенсорсе паразитируют!!!111
- Если гугл релизит сорцы, его сосед по палате вопит что его любимая шняга там не поддерживается, негодяи!!!1111
Я даже знаю как вам всем таким красивым угодить. Допилить AI и прислать вам уже наконец терминаторов, поговорить по душам. Вот тогда вам обоим станет уже наконец хорошо.
| |
|
3.22, пох. (?), 07:11, 14/02/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
Ну а не такое уг релизнуть гугль не мог?
Вот и остается гадать - то ли копрорация добра намеренно релизит все так, чтоб только выкрасить и выбросить (как это произошло с in-kernel lustre, причем, (совпадение?! Конечно, совпадение!) сразу после того как сдох "нинужнанинужна, есть в ядре!" fuse-lustre), то ли это карма у них такая...
| |
|
4.59, Аноним (-), 20:32, 14/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Ну а не такое уг релизнуть гугль не мог?
Ты хотел сорцы? Вот, пожалуйста, в виде как есть. А то задачи гугла совпадут с твоими никто и не обещал.
> Вот и остается гадать - то ли копрорация добра намеренно релизит все
> так, чтоб только выкрасить и выбросить
Сорц отгрузили, а окажется ли он полезен тебе, в твоих задачах - наверное не проблема гугла?
Если тебе надо код от чуваков которые хотят всех осчастливить, даже не спрашивая надо ли им это, это ты к пыхтонрастам каким, у них есть для тебя множество кульных шняг. Вон, весь гитхаб к твоим услугам, обкачайся :)
> есть в ядре!" fuse-lustre), то ли это карма у них такая...
Видимо таки карма. Было б нужно кому всерьез - не сдохло, наверное.
| |
|
|
|
1.13, nelson (??), 03:25, 14/02/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
"гении" хухля не осилили аллокатор на чистом С. "прогресс", однако...
| |
|
2.15, leap42 (ok), 04:21, 14/02/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
а почему нужно писать именно на Си? (я сам немного сишник если что, но написание malloc даже уровня K&R malloc нахожу сомнительным удовольствием)
на Си уже полно аллокаторов (jemalloc, тот который из glibc (не помню названия), другие), почему не написать на плюсах?
| |
|
3.43, nelson (??), 13:38, 14/02/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
>> почему не написать на плюсах?
1) потому что современные реализации С++ являются, по сути, языком сверхвысокого уровня и не подходят для решения задач из области системного прграммирования
2) создание аллокатора памяти - типичная задача, для решения которой необходим чистый С
| |
|
4.47, Аноним (46), 14:31, 14/02/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
Может быть, лет через 5-10 вы случайно наткнётесь на этот свой комментарий и с ностальгической улыбкой подумаете, какой же вы были смешной и глупый.
Но сейчас — вы просто позорно слились, с чем вас и поздравляю.
| |
|
5.51, nelson (??), 16:26, 14/02/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
дайте угадаю - вы STL-фаг, который без разбору использует возможности стандартной библиотеки где попало
вы, конечно, можете использовать возможности "современного" С++ при разработке аллокатора памяти в том числе, только не надо заявлять о каких-то "сливах" тем людям, которые более разборчивы в выборе применяемых инструментов
| |
5.60, Аноним (-), 20:35, 14/02/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Но сейчас — вы просто позорно слились, с чем вас и поздравляю.
На плюсах нет ни 1 сколь-нибудь востребованной операционки. Самое крутое системное программирование на плюсах которое в бошку приходит - ардуина, лол! Только там оно в режиме этакого яваскрипта для нубов, уж сорь! Их предел C++ это serial.begin() XD.
| |
|
6.73, Аноним (-), 22:27, 14/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Самое крутое системное программирование
> на плюсах которое в бошку приходит - ардуина, лол!
Haiku? Genode? Не, не слышал, но ценное мнение …
| |
|
7.75, Аноним (-), 23:49, 14/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Haiku? Genode? Не, не слышал, но ценное мнение …
Еще реактос надо вспомнить. Без него список жесткой маргинальщины был бы неполным.
Кстати, за всю свою жизнь я видел 1 живого пользователя гайки, 0 живых пользователей реактоса и ни разу в жизни не пересекался с генодой вообще. При всем моем интересе к странным железкам и юзкейсам.
| |
|
6.87, Аноним (87), 12:00, 15/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
>На плюсах нет ни 1 сколь-нибудь востребованной операционки.
В манямирках-то конечно. I/O Kit из OSX пойдет как пример системного программирования на плюсах?
| |
|
7.100, Аноним (-), 02:34, 18/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
> В манямирках-то конечно. I/O Kit из OSX пойдет как пример системного программирования
> на плюсах?
IOKit это как я понимаю некая нашлепка над ядром. А практически вся система, включая кернель, дрова и прочее таки си. А так если какие апликухи и прочее брать, окажется что у эпла там еще и swift какой-нибудь, но вот сказать что "система написана на swift" будет все же странно.
| |
|
6.90, Аноним (74), 15:21, 15/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
Винда пойдёт в качестве примера? Уж как минимум, всё, что использует COM - это либо плюсы, либо .NET. А учитывая, что MSVC - это компилятор С++, который случайно поддерживает подмножество C, вполне вероятно, что там всё, включая ядро, на C++ (который, возможно, используется как C с классами, но тем не менее).
| |
|
7.97, Аноним (97), 02:09, 18/02/2020 [^] [^^] [^^^] [ответить] | +/– | А в каком месте COM является системным программированием Системное в NT это воо... большой текст свёрнут, показать | |
|
|
|
|
|
2.20, Аноним (-), 06:46, 14/02/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Гугл вообще странноватые типы - плюсы юзают часто вообще хз зачем. Потому что V2 лучше V1, а something+ лучше чем something, а уж если something++ так это вообще офигеть, дайте два.
Но это еще что, я вот видел как для билдовки проекта на два файла предлагали билдсистему на яве втулить на полном серьезе. Я, правда, решил что gcc *.c -o out мне на проекте такого уровня как-то сильно проще и быстрее, бида-бида :)
| |
|
3.26, bf (??), 09:41, 14/02/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
Здесь файлов поболее двух, но
> Building TCMalloc
> Bazel is the official build system for TCMalloc. | |
|
4.61, Аноним (-), 20:38, 14/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Здесь файлов поболее двух, но
...но да, гугол и тут верен себе, используя по сути свой внутренний крап :). Ну это ты еще хромиум билдить не пытался просто, во где полный крындец. Надо скачать половину интернета. Точнее, оно само попытается скачать вам половину интернета. Хрен знает откуда и зачем, но у этих гамадрилов в их зоо^W кампусе видите ли такой воркфлоу.
| |
|
3.45, Crazy Alex (ok), 14:19, 14/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
Гугл, как и дюбая вменяемая корпорация, смотрит ещё на сопутствующие услоаия. Если плюсовая команда есть, для плюсового кода гораздо лучше средства статического анализа, есть куча другого плюсового софта, который с новым проектом будет связан - проще на плюсах пилить. Плюс плюсы лают более поддерживаемый код. С системами сборки тем более - чем пользуются - с тем и выкладывают.
| |
|
4.65, Аноним (-), 21:00, 14/02/2020 [^] [^^] [^^^] [ответить] | +/– | На самом деле все проще - в упомянутом случае прогер просто хватнул привычный ту... большой текст свёрнут, показать | |
|
|
|
|
|
5.66, Аноним (-), 21:01, 14/02/2020 [^] [^^] [^^^] [ответить]
| –2 +/– |
> а что не так с растом?
Вендорлокнут на мозиллу.корп, которая делом доказала что те еще типы, даже хреновее чем гугл. И зависеть от именно этих - да ктулху упаси.
| |
|
6.86, Wilem (?), 11:06, 15/02/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
Они собираются Rust Foundation создать для отвязки от мозиллы.
| |
|
7.101, Аноним (-), 02:36, 18/02/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Они собираются Rust Foundation создать для отвязки от мозиллы.
Ну вот когда и если, и еще и репы от них отвяжут - тогда и приходите. А покамест я мозильских вендорлоков с аддонами уже вкусил выше крыши и за добавкой не приду нифига, еще не хватало чтоб меня так в программировании с компонентами и либами могли натянуть.
| |
|
|
|
|
|
|
1.41, Mrueff (?), 13:27, 14/02/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
При выделении память автоматически инициализируется ненавязчивой рекламной строкой.
| |
|
|
|
|
5.64, Павел Отредиез (?), 20:54, 14/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
Теперь господа классные программисты пусть переделают это в реализацию mmap, допустим для ядра Linux. А malloc это всего лишь частный случай mmap. Его усложнять пощадите наши мозги.
| |
|
6.67, Аноним (-), 21:04, 14/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Теперь господа классные программисты пусть переделают это в реализацию mmap, допустим для
> ядра Linux. А malloc это всего лишь частный случай mmap. Его
> усложнять пощадите наши мозги.
Malloc не всегда mmap. Это раз. Два - могут быть какие-то специальные соображения, при которых mmap не катит. Ну вот конкретно в сабже оно пошло из профайлера. А в случае mmap это интересно как должно быть? В смысле, профайлинг? А, сразу системозависимыми тулзами, лезущими в кишки ядра? :)
| |
|
7.71, Павел Отредиез (?), 21:44, 14/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
Или по твоему: libc один раз запрашивает mmap, а потом из него выделяет malloc'и? А... Может и так. С ldpreload.
| |
|
6.92, Ordu (ok), 20:05, 15/02/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
> А malloc это всего лишь частный случай mmap
Ровно наоборот. mmap -- это частный случай malloc. Иногда malloc безболезненно можно заменить на mmap, иногда даже с профитом -- если ты выделяешь помногу и редко, то офигенно должно зайти.
Но если ты выделяешь/освобождаешь довольно часто, то каждый раз платить тактами процессора за сисколл -- слишком жирно будет. Тут история та же самая что и с read/write и fread/fwrite. Буферизованный ввод/вывод резко быстрее, если тебе надо читать/писать маленькими кусками.
| |
|
7.99, Аноним (-), 02:25, 18/02/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Ровно наоборот. mmap -- это частный случай malloc.
Да ну ладно?! А сможешь malloc()-ом по файлу шариться? В mmap так можно и это половина его предназначения :)
> что и с read/write и fread/fwrite. Буферизованный ввод/вывод резко быстрее, если
> тебе надо читать/писать маленькими кусками.
А прикинь, mmap()-ом еще можно файло в память отмаппить как "группу адресов" и дальше делать файловый IO как будто это у нас такой очень большой массив* и при этом ... ну, по сути, почти интерфейс к дисковому кэшу ядра, совершенно прозрачный и выглядящий как просто регион памяти.
* На 32-битных архитектурах массив "почему-то" не такой уж и большой, что накладывает ограничения на размеры файлов :)
| |
|
8.104, Ordu (ok), 11:10, 18/02/2020 [^] [^^] [^^^] [ответить] | +/– | Мы говорим про выделение памяти, или про файловый ввод-вывод Мне казалось про п... текст свёрнут, показать | |
|
|
|
|
|
|
|
|