Когда у нас в стране (перед лучезарным взлётом отечественного железа) будет период пятилетки-другой с двумя миллионами тыжпрограммистов на 200 000 продакшн машин и устаревающим парком техники юзернеймов, критерии эффективности всё же явно будут пересмотрены )
А прямой ответ на коммент - да, спички детям не игрушка. Но ты же ого раз-ра-бот-чик! Если тебе дали пистолет, ну не стреляй им в ногу и в прочее куда не надо (=
Зачем писать на C, когда можно делать современные хеловорлды на гигабайт оперативки, вскипячение восьмиядерника и запускающегося на оси не ниже 100500й версии?
Если без горького сарказма, то всему своё конечно. Но лично мне нравится подход к С++ как к C (с дурацкими байтами) с ООП классами. И соответственно мышлением где равноважными являются оба компонента - и предметная область и её формализация через ООП, и забота о эффективности по железу, мышление на уровне проца, байт оперативки, байт i/o с винтов и сети, эффективными алгоритмами, бенчмарками.
Без унавоживания слоями чрезмерных абстракций и прочих модных шуточек вроде "для сложения двух интов давайте подтянем 1042 библиотеки на пару гигов сурцов". Либы безусловно местами незаменимая штука, но может попытаемся не терять разум?
Облачные технологии, говорили они в 2010, качать не нужно... Ютуб вечен, все нужные видео там навсегда, яндекс диск, гугл драйв... Интернет без границ и тех или иных цензур с замечательными юзернеймами спешащими на помощь и весёлое времяпрепровождение...
Что в итоге?
1) докатились что не смогли договориться об огромном всемирном в разнообразии дружном строительстве будущего Человечества,
2) параноики/пессимисты оказались правы;
3) кто и зачем [кому это выгодно?, что за существа или некие идейные болезни?] на нашей планете направляет огромные массы людей ненавидеть, разделяться, разрушать, убивать, тратить ресурсы на войны,.... а не направляет любить, объединяться, созидать, рождать, пускать ресурсы на духовное, творческое, технологическое развитие, заботу о родном мире и экспансию в космос?
А ещё можно перенестись с космической среды на твердь виновника инженерных изысканий, на Марс.
И давайте посмотрим, а что если разместить заряженное кольцо вдоль его экватора?
Экваториальный радиус 3396 км, соотв. диаметр 6792 км и длина экватора 21339 км. Уже имеющаяся скорость вращения, экваториальная скорость вращения планеты 241 м/с.
На планете работать заметно удобнее из-за куда более мягких ограничений на массу конструкции, ведь тратить океаны топлива для вывода на орбиту уже не требуется, делаем из местных материалов. Тогда можно отодвинуть чуть в сторону сам уровень объёмного электрического заряда и сосредоточиться на самом заряде. Для получения эффективного "тока" в 200 мегаампер для скорости кругового движения заряда в 241 м/с нужен заряд примерно в 830000 Кл, который нужно распределить по нашей экваториальной конструкции. Поделив на длину экватора получим нам нужно 0,122 Кл/м.
Сила кулоновского отталкивания между соседними метровыми участками 8,9875517873681764⋅10^9*0,122*0,122 / 1^2 = 133983508 H - если моделировать систему из точечных зарядов, расположенных через каждый метр.
Если рассмотреть более корректно случай отталкивающихся пластин (слоёв заряженного тела, где важным фактором выступает площадь сечения), то сила отталкивания F = (σ^2 / 2 ε0) * S = k * 2π * q^2 / S. F = 8,99*10^9 * 6,28 * 0,122^2 / S = 0,84 / S ньютонов. Может где-то ошибся, но это выглядит абсолютно незначительным усилием на разрыв на единицу площади, даже если говорить о заметно меньших площадях сечения чем 1 м2 для данной планетарной конструкции. Правильней всего тут будет конечно применить честный тройной интеграл по объёму по частичкам объёмной плотности заряда тела.
Возможно, тут подойдёт и более привычное - поверхностный заряд на обычной медной/алюминиевой проволоке экваториально охватывающей планету в сколько нужно параллельных линий, имеющих один или более разрывов по длине экватора (ток у нас не должен "идти" по кругу по подобному проводу, заряд должен "стоять"), и каждый элемент которых заряжен электростатически до нужного уровня заряда в общей сложности в 0,122 Кл на погонный метр конструкции.
Как выше писал, если такой объёмный заряд является технически проблемным, можно запросто уменьшить требования на несколько порядков. Возвращаясь к тому что речь о действительно большом проекте по созданию целого магнитосферного щита для планеты, посмотрим как можно проварьировать параметры.
Попробуем начать прикидки. Допустим даже в нынешних возможностях представимо сооружение конструкции в космосе диаметром в 10 км вместо 10 метров. Те же килограммовые заряженные куски на противоположных частях тора будут отталкиваться друг от друга на шесть нолей меньшей силой, хотя всё ещё огромной. Конструктивно достижимым выглядит и увеличение угловой скорости с 1 до 100 оборотов в секунду, что позволит сбросить ещё пару нулей с той силы отталкивания. Итого при таких корректировках получаем 359502071 Н. Всё ещё крайне много. Плюс вспомним, что отталкиваются и соседние "килограммовые секции", а там сила отталкивания на несколько порядков выше.
Да, есть проблема. Не ушли. Проблема электростатического кулоновского разрывания.
Попробуем её решить другим образом - электростатической компенсацией. Для этого нам понадобится ещё одно тело, но заряженное противоположным зарядом.
Например, можно попробовать вложить этот заряженный положительно диэлектрический тор в другой полый тор заряженный отрицательно. Чтобы второе тело тоже давало пользу, пусть тоже вращается, но в противоположную сторону с такой же угловой скоростью.
Либо же можно просто поместить в геометрический центр тороидальной конструкции заряженный отрицательно шар/сферу с радиальными креплениями, получив визуально что-то вроде огромного велосипедного колеса или Сатурн в миниатюре.
Возможны и какие-то ещё варианты компенсации электростатического поля.
Причём, огромный плюс подобного решения - в электростатической нейтральности конструкции для внешней космической среды. Собственно в том что на конструкцию не будут стремиться осаждаться частицы солнечного ветра (и межзвёздной среды) противоположного заряда, как минимум в масштабах электростатически не-нейтральной конструкции.
Дело не в конкретном примере рекурсивного выделения памяти. А про деградацию. Количества эффективных полезных вычислений на такт процессора. Количества эффективных полезных занимаемых бит в ОЗУ. Или на винте.
- Давайте вот тут вместо явно ожидаемого простого цикла забубеним вызов модной функции которая в цикле внутри наколбечит нам нашу сахарную лямбда функцию, смотрите как красиво! Что, какой стек, какие CALL и RET, регистры, вы на каком языке разговариваете вообще?
- Давайте всё будет объект! И даже 1 и false тоже, всё. Это так круто. Да подумаешь для хранения одной буквы там на абстракциях съедается в сумме 308 байт, смешно, это же даже ещё не Кибибайт, о чём речь. Какой такой "чар", столица зергов чтоль? Унсигнед байт? Ой, уберите наркомана. Кстати нам потребуются ещё вот эти 148 npm пакетов. Только вон тот берите строго версии 1.4.17, а то ниже 1.14.2 у нас сзади бампер отваливается, а с 1.4.18 движок сквозь дно вылетает..
И вот это всё многослойным мыльным пузырём на пузыре оплетает сферы разработки везде - в коде, в IDE, на серверах, на сетевых потоках пакетов реквестов разной степени полезности. И вроде бы становится же лучше, удобней, даже бывает быстрее писать код и в целом что-то воплощать. Хотя от постоянной нынешней гонки средний процент костылей и неэффективных реализаций алгоритмов явно ползёт вверх. А копнёшь внутрь...
А ещё не самый тривиальный вопрос, — где же именно подвешивать искусственный магнитный щит такой, любой конструкции.
Вполне может быть, что «магнитная тень» (хвост) не просто по линейке от Солнца вдаль идёт, а например слегка закручивается по или против часовой стрелки. Тогда надо, чтоб щит для колониста Марса визуально несколько обгонял или наоборот отставал от Солнца, а не был ровно на линии.
Ну и конечно маневровые коррекционные двигатели нужны тоже для конструкции любого типа.
Зачем мыслить только категориями движения электронов в физическом теле проводника, если можно взять и двигать само физическое тело — например, статически заряженный вращающийся диэлектрический тор.
Вопрос только сколько в среднем электронов надо отобрать на одну молекулу по всей толще диэлектрического тора, прочность материала тора на разрыв, диаметр тора и скорость вращения. Ось вращения полагаю надо расположить в плоскости орбиты (эклиптики).
Значит нам надо 200 мегаампер?..
Попробуем в цифрах.
В 1 моле вещества если у каждой молекулы отнять по 1 электрону, получится объёмный заряд примерно 96300 / mu Кл, где mu молярная масса вещества. Например для такого диэлектрика как стекло, mu = 14+8+8 = 30 г/моль, соотв. величина заряда составляет 32100 Кл в 1 грамме. Или если такой грамм перемещать в пространстве со скоростью всего 1 м/с, то эффект эквивалентен электрическому току в 32,1 кА.
Допустим настолько сильно заряженным скомпоновать диэлектрическое тело у нас не получится, и заряд будет куда меньше — пусть тогда он и остаётся расчётным неизвестным, а отталкиваться будем от веса и габаритов, которые может себе позволить вывести нынешняя космонавтика.
Пусть вес кольца будет всего лишь 1 тонна в виде набора секций кольца, которые монтируются друг с другом в конечной точке эксплуатации объекта, в целое кольцо радиусом всего в 10 метров и впоследствии разгоняется до вращения всего в 1 радиан/с (1 оборот в ~6,3 сек) [т.е. примерно каждый грамм кольца будет проходить за секунду расстояние равное радиусу кольца].
Тогда имеем 1 000 000 грамм на скорости 10 м/с заряженных до плотности объёмного заряда q Кл/г создают эквивалент тока 10 000 000 * q ампер. Нам надо 200 000 000 А. Значит q нам надо = 20 Кл/г, или отобрать по 1 электрону примерно у каждой 1 из 1600 молекул этого стеклянного тора.
Если даже такой объёмный заряд проблема, остальные параметры взяты очень мягкими, там запросто можно подвинуться порядка на три, а то и больше.
Как-то вроде поинтересней выглядит идея, чем несколько раз в десятилетку заправляемый ядерный реактор. :-)
Может вам и ещё один разработчик нужен 10+ стажа, который любит лёгкий и быстрый софт? Могу не только на пыхе с мускулом и жысом, но и на щах с асмом. ;)
Наша индустрия сам должна организовать систему качества софта, включая параметр производительности и потребляемых ресурсов.
Когда не «игра ААА класса типа мувики красивости и всё такое», но о жрательных и некоторых других важных для юзера и ИТ характеристиках ничего из этой аббревиатуры не следует, — а типа как с техникой бытовой, только не холодильник, а например фреймворк React 7 B (BBAA) класса — значит терпеть можно, хоть не дно типа D-- (DD--CD-) (или как оно там), но хотя бы.
Производительность — Потребление памяти — Удобство программиста — Удобство пользователя
Упрощенная оценка одной буквой — по минимальному из параметров.
Дальнейшее — детали. Например в оценку за производительность вкладывать параметры работоспособности без лагов на процах low-20% юзеров, типичная загрузка 1 ядра, coreX8 систем, типичная загрузка GPU каких-то соотв. сегментов юзеров, типичное энергопотребление Ватт с метриками для мобил, ноутов и десктопов… В оценках по памяти из главных метрик типичное потребление оперативки, дружелюбность к кэшам процессора L1-L3, метрики по видеопамяти и метрики по I/O. И т.д.
Этого давно не хватает индустрии.
PS:
Про проблемы в нашем
(пока ещё вполне передовом, благодаря заделу за время «хотя бы не мешают»)
российском IT секторе, начавшиеся из-за желания понарегулировать, поназапрещать и отменить любую действительно приватную переписку, оставлю комментарий всего в одно коротенькое слово.
Ух актуальное, адреса-то четвёрочные недавно окончательно кончились:
Честно говоря не понимаю за что вас минусуют, по сути своей всё так — достаточно известного человека сообщество профессиональное может и взбудоражится защищать, а тоже своего коллегу и тоже неправедно укатываемого, но мало известного?
У нас реальный независимый профсоюз есть кстати?
Да вот пример про правильного маленького человека и произвол: Сергей Пинягин, Темрюк. (гугл расскажет, например вот) Через 2 недели может сесть, похоже, ни за что. Хотя за вклад по борьбе с коррупцией должен бы государством быть поощрён(?). Пусть не орденом, но хоть медалью или грамотой и рукопожатием Главнокомандующего. Ему кто поможет? Кто на Хабрах восстанет как один? Сколько таких примеров?
2000-й — да пусть что хотят в своём интернете делают.
Рост отрасли которой «хотя бы не мешают».
2020-й — о, интернет!!.. деньги, журналистика, ТВ никто не смотрит… Запретить Отобрать Поделить. С грр-ромом и молнией! Молча-ааааать!…
Отрасль в ужасе разбегается по иным юрисдикциям, с узелками пожиток. Часть остаётся переходя к поддерке Сопротивления.
Господа силовики-патриоты с офицерской честью — это выглядит именно так.
Россия 21 века не должна иметь с вот такой Россией ничего общего.
Не для того она на Земле.
(ну или нафига она мне нужна, а я ей, извините, и к сожалению, просто не понимаю.)
Статья как работают пули и нету про Unreal Tournament 1999?
Да как же это?.. :(
— Хитскан от снайперки и луча шок ружья. Энфорсеры. Короткий хитскан плазмой в режиме луча.
— Бешеный молоток и пила — тоже суперкороткие рейкастеры — «пули» ближнего боя! (Здесь кстати можно было бы немного осветить тему «пуль» которые мечи, молотки и прочее добро классического РПГшника)
Баллистика летящего предмета, целый ворох на любой вкус:
— по прямой — плазма в режиме сгустков, шары с шок ружья, минигановские патроны, ракеты, резаки.
— по гравитации — ракетница в режиме гранат, флака (особенно картинно ядром), слизь из великой кляк-пушки которое биоружьё. Что касается гравитации, обычно траекторией получается парабола, но карты с переменной зональной гравитацией (Хотя бы DM-Morpheus и CTF-Face) этот стереотип ломают ))
— по Архимеду — зелёная слизь биоружья при стрельбе под водой… быстро тормозится и всплывает!
— чёртовы отскоки резаков от стен в коридорах, многократные, лютая вещь. Ну и отскоки гранат конечно.
— остановки, но всё ещё активность «пуль» — прилипшие на время зелёные биокляки, работающие фактически как мины, ну и классические доскакавшие гранаты, но которым ещё не пришло время детонировать.
А также особые вариации про «летящий предмет», которые не укладываются в «баллистику»:
— генерация пулей при хите новых пуль! Как правило других. Это большая биокляка биоружья в альтернативном режиме, которая при хите с поверхностью рождает россыпь обычных кляк. Это флак-ядро, при ударе о стену рождающее россыпь разлетающихся флак-осколков.
— управляемая пуля! Точнее не пуля, а ракета. Ядерная, с камерой на ракете, рули в любом направлении сколько хочешь.
— попадание пулей в пулю. Ядрён ракету можно пристрелить, и она бахнет где пристрелили в уменьшенном по последствиям формате.
— микс и генерации и попадания пуля-пуля. Эпическое шок ружьё у которого есть три вида пуль — луч обычной стрельбы, шок-шар альтернативной стрельбы и мощная рвущая шок-сфера, которая создаётся если попасть выстрелом в форме быстрого луча по шок шарику. И не обязательно своему.
Волновой фронт. Отдельный класс «пуль» обойдённый вниманием!
Ядрён ракета при штатном подрыве (хит в стенки, чувака или команда подрыва в полёте в режиме управления) создаёт «пулю-волну» — объект расширяющегося до некоторого (большого) радиуса волнового фронта ядерного удара, который по принципу эмм… медленного рейкаста рвёт всех, кто не попрятался за стенки.
Ну и на закуску.
Конечно заслуга QuakeIII Arena про особый прошивающий рейкаст рельсы отмечена по праву.
Про прошивающий рейкаст тогда уж старый добрый прострел стен с уменьшением урона в Counter Strike 1.5 более чем правильно вспомнить тоже.
Ну и ещё до сих пор помню то восхищение игрой Turok, самой первой, атмосфернейшей 3D-стрелялки про динозавров, где кроме прочего был лук и стрелы, которые летали по баллистике и втыкались, и их можно было собрать обратно из стен, земли, а также головы и прочих частей грохнутых рептилий. Жалко всё таки иногда терялись стрелы-то, а так эффектнейший почти бесконечнопатронный пушка. Особенно когда наловчишься на пределе видимости тумана войны навешивать хедшоты.
PS: Да, а про попадания пуль в пули кстати хорошо расскажут танчики из пахнущего ионами электроники картриджа для денди.
Каков слишком общий вопрос, таков и самый ключевой ответ! Очень интересный ответ, правда.
Главное, выдержав небольшую паузу добавить более узкие ответы про фичи пятёрок и семёрок.
Безусловно в такой ветке не могло не быть этого комментария)
Мне нравится шторм. Я не хейтер его, если кто так подумал.
Меня очень огорчают современные тенденции развития софта, где чаще фактически гонятся только за фичами, а оптимизацию задвигают на последнее место. Наоборот делать впрочем тоже плохо. Нужен балансный подход, когда оба компонента одинаково важны. Вот и интересуюсь — ребята, а какие у вас планы по оптимизации потребления ресурсов этим конвейером? Может есть офигеннейший роадмап и капитальные таски по этой теме и даже часть уже в работе, а никто ничего не знает. И открываешь PhpStorm 2019.4, а он просто летает и в диспетчере в списке процессов отсортированных по убыванию потребления памяти он далеко не на первых позициях и не сотнями метров её уплетает. И да, и несколько фич при этом появилось. Это же прекрасно!
Совет хороший, которым к слову я года три как пользуюсь. Но вместе с тем.
Практически пустой новый лёгкий проект, файлов с кодом буквально десяток, ноль тяжёлых и вообще каких-либо фреймворков, ноль зависимостей вида npm/composer/etc. Темпов, кэшей, логов пока нет. Стоковый шторм самой свежей версии, о которой речь в статье, без сарказма и с пониманием, славных его разработчиков. Но — 800 Мб оперативки. На что? Зачем? Я линукс компилирую параллельно с научными расчётами seti@home? Бигдату просеиваю через нейросети и случайный лес? Что помешало шторму уложиться в 20 Мб а не в 800? И что мы можем сделать чтоб к этому придти? Java машина слишком раскидистая и неоптимальная? Лишние зависимости? Неоптимальный код? Недостаточно Lazy loading? Неоптимальные структуры данных?
Hello world — это про 4 Кб, а не про 0,5 Гб. Нынешние тенденции в мире IT собирать конфету из тысячи обёрток и скотча, мягко говоря, пугают и печалят. А ведь могут лучше.
Планируется ли уменьшение потребления оперативной памяти PhpStorm'ом от 10 до 20 раз? Или хотя бы, пусть, в 2-3 раза?
Так чего унывать, впереди не скушные АБВГД+, а рыцарские времена, замки и прекрасные принцессы! :)
Когда у нас в стране (перед лучезарным взлётом отечественного железа) будет период пятилетки-другой с двумя миллионами тыжпрограммистов на 200 000 продакшн машин и устаревающим парком техники юзернеймов, критерии эффективности всё же явно будут пересмотрены )
А прямой ответ на коммент - да, спички детям не игрушка. Но ты же ого раз-ра-бот-чик! Если тебе дали пистолет, ну не стреляй им в ногу и в прочее куда не надо (=
Зачем писать на C, когда можно делать современные хеловорлды на гигабайт оперативки, вскипячение восьмиядерника и запускающегося на оси не ниже 100500й версии?
Если без горького сарказма, то всему своё конечно. Но лично мне нравится подход к С++ как к C (с дурацкими байтами) с ООП классами. И соответственно мышлением где равноважными являются оба компонента - и предметная область и её формализация через ООП, и забота о эффективности по железу, мышление на уровне проца, байт оперативки, байт i/o с винтов и сети, эффективными алгоритмами, бенчмарками.
Без унавоживания слоями чрезмерных абстракций и прочих модных шуточек вроде "для сложения двух интов давайте подтянем 1042 библиотеки на пару гигов сурцов". Либы безусловно местами незаменимая штука, но может попытаемся не терять разум?
[ C <3 C++ ]
PS: Еще ассемблерные вставки рулят! Asm 4eva !
Облачные технологии, говорили они в 2010, качать не нужно... Ютуб вечен, все нужные видео там навсегда, яндекс диск, гугл драйв... Интернет без границ и тех или иных цензур с замечательными юзернеймами спешащими на помощь и весёлое времяпрепровождение...
Что в итоге?
1) докатились что не смогли договориться об огромном всемирном в разнообразии дружном строительстве будущего Человечества,
2) параноики/пессимисты оказались правы;
3) кто и зачем [кому это выгодно?, что за существа или некие идейные болезни?] на нашей планете направляет огромные массы людей ненавидеть, разделяться, разрушать, убивать, тратить ресурсы на войны,.... а не направляет любить, объединяться, созидать, рождать, пускать ресурсы на духовное, творческое, технологическое развитие, заботу о родном мире и экспансию в космос?
Кто-нибудь может объяснить, почему мы так живём?
И как мы должны жить?
А ещё можно перенестись с космической среды на твердь виновника инженерных изысканий, на Марс.
И давайте посмотрим, а что если разместить заряженное кольцо вдоль его экватора?
Экваториальный радиус 3396 км, соотв. диаметр 6792 км и длина экватора 21339 км. Уже имеющаяся скорость вращения, экваториальная скорость вращения планеты 241 м/с.
На планете работать заметно удобнее из-за куда более мягких ограничений на массу конструкции, ведь тратить океаны топлива для вывода на орбиту уже не требуется, делаем из местных материалов. Тогда можно отодвинуть чуть в сторону сам уровень объёмного электрического заряда и сосредоточиться на самом заряде. Для получения эффективного "тока" в 200 мегаампер для скорости кругового движения заряда в 241 м/с нужен заряд примерно в 830000 Кл, который нужно распределить по нашей экваториальной конструкции. Поделив на длину экватора получим нам нужно 0,122 Кл/м.
Сила кулоновского отталкивания между соседними метровыми участками 8,9875517873681764⋅10^9*0,122*0,122 / 1^2 = 133983508 H - если моделировать систему из точечных зарядов, расположенных через каждый метр.
Если рассмотреть более корректно случай отталкивающихся пластин (слоёв заряженного тела, где важным фактором выступает площадь сечения), то сила отталкивания F = (σ^2 / 2 ε0) * S = k * 2π * q^2 / S. F = 8,99*10^9 * 6,28 * 0,122^2 / S = 0,84 / S ньютонов. Может где-то ошибся, но это выглядит абсолютно незначительным усилием на разрыв на единицу площади, даже если говорить о заметно меньших площадях сечения чем 1 м2 для данной планетарной конструкции. Правильней всего тут будет конечно применить честный тройной интеграл по объёму по частичкам объёмной плотности заряда тела.
Возможно, тут подойдёт и более привычное - поверхностный заряд на обычной медной/алюминиевой проволоке экваториально охватывающей планету в сколько нужно параллельных линий, имеющих один или более разрывов по длине экватора (ток у нас не должен "идти" по кругу по подобному проводу, заряд должен "стоять"), и каждый элемент которых заряжен электростатически до нужного уровня заряда в общей сложности в 0,122 Кл на погонный метр конструкции.
Как выше писал, если такой объёмный заряд является технически проблемным, можно запросто уменьшить требования на несколько порядков. Возвращаясь к тому что речь о действительно большом проекте по созданию целого магнитосферного щита для планеты, посмотрим как можно проварьировать параметры.
Попробуем начать прикидки. Допустим даже в нынешних возможностях представимо сооружение конструкции в космосе диаметром в 10 км вместо 10 метров. Те же килограммовые заряженные куски на противоположных частях тора будут отталкиваться друг от друга на шесть нолей меньшей силой, хотя всё ещё огромной. Конструктивно достижимым выглядит и увеличение угловой скорости с 1 до 100 оборотов в секунду, что позволит сбросить ещё пару нулей с той силы отталкивания. Итого при таких корректировках получаем 359502071 Н. Всё ещё крайне много. Плюс вспомним, что отталкиваются и соседние "килограммовые секции", а там сила отталкивания на несколько порядков выше.
Да, есть проблема. Не ушли. Проблема электростатического кулоновского разрывания.
Попробуем её решить другим образом - электростатической компенсацией. Для этого нам понадобится ещё одно тело, но заряженное противоположным зарядом.
Например, можно попробовать вложить этот заряженный положительно диэлектрический тор в другой полый тор заряженный отрицательно. Чтобы второе тело тоже давало пользу, пусть тоже вращается, но в противоположную сторону с такой же угловой скоростью.
Либо же можно просто поместить в геометрический центр тороидальной конструкции заряженный отрицательно шар/сферу с радиальными креплениями, получив визуально что-то вроде огромного велосипедного колеса или Сатурн в миниатюре.
Возможны и какие-то ещё варианты компенсации электростатического поля.
Причём, огромный плюс подобного решения - в электростатической нейтральности конструкции для внешней космической среды. Собственно в том что на конструкцию не будут стремиться осаждаться частицы солнечного ветра (и межзвёздной среды) противоположного заряда, как минимум в масштабах электростатически не-нейтральной конструкции.
Оставил здесь этот комментарий по просьбе Барбары Стрейзанд <3
Дело не в конкретном примере рекурсивного выделения памяти. А про деградацию. Количества эффективных полезных вычислений на такт процессора. Количества эффективных полезных занимаемых бит в ОЗУ. Или на винте.
- Давайте вот тут вместо явно ожидаемого простого цикла забубеним вызов модной функции которая в цикле внутри наколбечит нам нашу сахарную лямбда функцию, смотрите как красиво! Что, какой стек, какие CALL и RET, регистры, вы на каком языке разговариваете вообще?
- Давайте всё будет объект! И даже 1 и false тоже, всё. Это так круто. Да подумаешь для хранения одной буквы там на абстракциях съедается в сумме 308 байт, смешно, это же даже ещё не Кибибайт, о чём речь. Какой такой "чар", столица зергов чтоль? Унсигнед байт? Ой, уберите наркомана. Кстати нам потребуются ещё вот эти 148 npm пакетов. Только вон тот берите строго версии 1.4.17, а то ниже 1.14.2 у нас сзади бампер отваливается, а с 1.4.18 движок сквозь дно вылетает..
И вот это всё многослойным мыльным пузырём на пузыре оплетает сферы разработки везде - в коде, в IDE, на серверах, на сетевых потоках пакетов реквестов разной степени полезности. И вроде бы становится же лучше, удобней, даже бывает быстрее писать код и в целом что-то воплощать. Хотя от постоянной нынешней гонки средний процент костылей и неэффективных реализаций алгоритмов явно ползёт вверх. А копнёшь внутрь...
Когда стало не хватать 10 Гб на машине Современного Программиста мне было уже очень стыдно. А тут уже сотня...
DOS
Чёрной пеленой экран заполнил чистый DOS.
Мышь
Потеряла форму, стала вдруг квадратной мышь.
Я разбил окно
Девяносто пятое, мастдайное окно
И поставил DOS, и тогда я понял
Это счастье - вот оно.
* * *
Слёзы на очках
Странные очки, а может слёзы на лице
DOS очистил всё, всё что было лишним
У меня на диске C:
Я нажал F8, и весёлый Norton
Удалял мне всё подряд -
Сорок мегабайт, может даже больше
Может даже шестьдесят.
* * *
И представил я
Город наводнился вдруг разумными людьми -
Вышли все под DOS!
А проклятый Windows
Удаляли, чёрт возьми!
Позабыв про Word
MS Excel, Corel Draw и прочий геморрой
Люди ставят DOS
Словно в рай заходят в DOS
Нормальный чистый DOS.
-----/ подписано в винампе как "DOS", DiBa, 2:5020/720.10 , From Fido with love :-) 1999 /-----
Вполне может быть, что «магнитная тень» (хвост) не просто по линейке от Солнца вдаль идёт, а например слегка закручивается по или против часовой стрелки. Тогда надо, чтоб щит для колониста Марса визуально несколько обгонял или наоборот отставал от Солнца, а не был ровно на линии.
Ну и конечно маневровые коррекционные двигатели нужны тоже для конструкции любого типа.
Вопрос только сколько в среднем электронов надо отобрать на одну молекулу по всей толще диэлектрического тора, прочность материала тора на разрыв, диаметр тора и скорость вращения. Ось вращения полагаю надо расположить в плоскости орбиты (эклиптики).
Значит нам надо 200 мегаампер?..
Попробуем в цифрах.
В 1 моле вещества если у каждой молекулы отнять по 1 электрону, получится объёмный заряд примерно 96300 / mu Кл, где mu молярная масса вещества. Например для такого диэлектрика как стекло, mu = 14+8+8 = 30 г/моль, соотв. величина заряда составляет 32100 Кл в 1 грамме. Или если такой грамм перемещать в пространстве со скоростью всего 1 м/с, то эффект эквивалентен электрическому току в 32,1 кА.
Допустим настолько сильно заряженным скомпоновать диэлектрическое тело у нас не получится, и заряд будет куда меньше — пусть тогда он и остаётся расчётным неизвестным, а отталкиваться будем от веса и габаритов, которые может себе позволить вывести нынешняя космонавтика.
Пусть вес кольца будет всего лишь 1 тонна в виде набора секций кольца, которые монтируются друг с другом в конечной точке эксплуатации объекта, в целое кольцо радиусом всего в 10 метров и впоследствии разгоняется до вращения всего в 1 радиан/с (1 оборот в ~6,3 сек) [т.е. примерно каждый грамм кольца будет проходить за секунду расстояние равное радиусу кольца].
Тогда имеем 1 000 000 грамм на скорости 10 м/с заряженных до плотности объёмного заряда q Кл/г создают эквивалент тока 10 000 000 * q ампер. Нам надо 200 000 000 А. Значит q нам надо = 20 Кл/г, или отобрать по 1 электрону примерно у каждой 1 из 1600 молекул этого стеклянного тора.
Если даже такой объёмный заряд проблема, остальные параметры взяты очень мягкими, там запросто можно подвинуться порядка на три, а то и больше.
Как-то вроде поинтересней выглядит идея, чем несколько раз в десятилетку заправляемый ядерный реактор. :-)
Когда не «игра ААА класса типа мувики красивости и всё такое», но о жрательных и некоторых других важных для юзера и ИТ характеристиках ничего из этой аббревиатуры не следует, — а типа как с техникой бытовой, только не холодильник, а например фреймворк React 7 B (BBAA) класса — значит терпеть можно, хоть не дно типа D-- (DD--CD-) (или как оно там), но хотя бы.
Производительность — Потребление памяти — Удобство программиста — Удобство пользователя
Упрощенная оценка одной буквой — по минимальному из параметров.
Дальнейшее — детали. Например в оценку за производительность вкладывать параметры работоспособности без лагов на процах low-20% юзеров, типичная загрузка 1 ядра, coreX8 систем, типичная загрузка GPU каких-то соотв. сегментов юзеров, типичное энергопотребление Ватт с метриками для мобил, ноутов и десктопов… В оценках по памяти из главных метрик типичное потребление оперативки, дружелюбность к кэшам процессора L1-L3, метрики по видеопамяти и метрики по I/O. И т.д.
Этого давно не хватает индустрии.
Про проблемы в нашем
(пока ещё вполне передовом, благодаря заделу за время «хотя бы не мешают»)
российском IT секторе, начавшиеся из-за желания понарегулировать, поназапрещать и отменить любую действительно приватную переписку, оставлю комментарий всего в одно коротенькое слово.
Ух актуальное, адреса-то четвёрочные недавно окончательно кончились:
IPv6
У нас реальный независимый профсоюз есть кстати?
Да вот пример про правильного маленького человека и произвол: Сергей Пинягин, Темрюк. (гугл расскажет, например вот) Через 2 недели может сесть, похоже, ни за что. Хотя за вклад по борьбе с коррупцией должен бы государством быть поощрён(?). Пусть не орденом, но хоть медалью или грамотой и рукопожатием Главнокомандующего. Ему кто поможет? Кто на Хабрах восстанет как один? Сколько таких примеров?
2000-й — да пусть что хотят в своём интернете делают.
Рост отрасли которой «хотя бы не мешают».
2020-й — о, интернет!!.. деньги, журналистика, ТВ никто не смотрит… Запретить Отобрать Поделить. С грр-ромом и молнией! Молча-ааааать!…
Отрасль в ужасе разбегается по иным юрисдикциям, с узелками пожиток. Часть остаётся переходя к поддерке Сопротивления.
Господа силовики-патриоты с офицерской честью — это выглядит именно так.
Россия 21 века не должна иметь с вот такой Россией ничего общего.
Не для того она на Земле.
(ну или нафига она мне нужна, а я ей, извините, и к сожалению, просто не понимаю.)
***
За Игоря Сысоева.
Да как же это?.. :(
— Хитскан от снайперки и луча шок ружья. Энфорсеры. Короткий хитскан плазмой в режиме луча.
— Бешеный молоток и пила — тоже суперкороткие рейкастеры — «пули» ближнего боя! (Здесь кстати можно было бы немного осветить тему «пуль» которые мечи, молотки и прочее добро классического РПГшника)
Баллистика летящего предмета, целый ворох на любой вкус:
— по прямой — плазма в режиме сгустков, шары с шок ружья, минигановские патроны, ракеты, резаки.
— по гравитации — ракетница в режиме гранат, флака (особенно картинно ядром), слизь из великой кляк-пушки которое биоружьё. Что касается гравитации, обычно траекторией получается парабола, но карты с переменной зональной гравитацией (Хотя бы DM-Morpheus и CTF-Face) этот стереотип ломают ))
— по Архимеду — зелёная слизь биоружья при стрельбе под водой… быстро тормозится и всплывает!
— чёртовы отскоки резаков от стен в коридорах, многократные, лютая вещь. Ну и отскоки гранат конечно.
— остановки, но всё ещё активность «пуль» — прилипшие на время зелёные биокляки, работающие фактически как мины, ну и классические доскакавшие гранаты, но которым ещё не пришло время детонировать.
А также особые вариации про «летящий предмет», которые не укладываются в «баллистику»:
— генерация пулей при хите новых пуль! Как правило других. Это большая биокляка биоружья в альтернативном режиме, которая при хите с поверхностью рождает россыпь обычных кляк. Это флак-ядро, при ударе о стену рождающее россыпь разлетающихся флак-осколков.
— управляемая пуля! Точнее не пуля, а ракета. Ядерная, с камерой на ракете, рули в любом направлении сколько хочешь.
— попадание пулей в пулю. Ядрён ракету можно пристрелить, и она бахнет где пристрелили в уменьшенном по последствиям формате.
— микс и генерации и попадания пуля-пуля. Эпическое шок ружьё у которого есть три вида пуль — луч обычной стрельбы, шок-шар альтернативной стрельбы и мощная рвущая шок-сфера, которая создаётся если попасть выстрелом в форме быстрого луча по шок шарику. И не обязательно своему.
Волновой фронт. Отдельный класс «пуль» обойдённый вниманием!
Ядрён ракета при штатном подрыве (хит в стенки, чувака или команда подрыва в полёте в режиме управления) создаёт «пулю-волну» — объект расширяющегося до некоторого (большого) радиуса волнового фронта ядерного удара, который по принципу эмм… медленного рейкаста рвёт всех, кто не попрятался за стенки.
Ну и на закуску.
Конечно заслуга QuakeIII Arena про особый прошивающий рейкаст рельсы отмечена по праву.
Про прошивающий рейкаст тогда уж старый добрый прострел стен с уменьшением урона в Counter Strike 1.5 более чем правильно вспомнить тоже.
Ну и ещё до сих пор помню то восхищение игрой Turok, самой первой, атмосфернейшей 3D-стрелялки про динозавров, где кроме прочего был лук и стрелы, которые летали по баллистике и втыкались, и их можно было собрать обратно из стен, земли, а также головы и прочих частей грохнутых рептилий. Жалко всё таки иногда терялись стрелы-то, а так эффектнейший почти бесконечнопатронный пушка. Особенно когда наловчишься на пределе видимости тумана войны навешивать хедшоты.
PS: Да, а про попадания пуль в пули кстати хорошо расскажут танчики из пахнущего ионами электроники картриджа для денди.
Не хватило мне статьи, не хватило.
Главное, выдержав небольшую паузу добавить более узкие ответы про фичи пятёрок и семёрок.
Мне нравится шторм. Я не хейтер его, если кто так подумал.
Меня очень огорчают современные тенденции развития софта, где чаще фактически гонятся только за фичами, а оптимизацию задвигают на последнее место. Наоборот делать впрочем тоже плохо. Нужен балансный подход, когда оба компонента одинаково важны. Вот и интересуюсь — ребята, а какие у вас планы по оптимизации потребления ресурсов этим конвейером? Может есть офигеннейший роадмап и капитальные таски по этой теме и даже часть уже в работе, а никто ничего не знает. И открываешь PhpStorm 2019.4, а он просто летает и в диспетчере в списке процессов отсортированных по убыванию потребления памяти он далеко не на первых позициях и не сотнями метров её уплетает. И да, и несколько фич при этом появилось. Это же прекрасно!
Практически пустой новый лёгкий проект, файлов с кодом буквально десяток, ноль тяжёлых и вообще каких-либо фреймворков, ноль зависимостей вида npm/composer/etc. Темпов, кэшей, логов пока нет. Стоковый шторм самой свежей версии, о которой речь в статье, без сарказма и с пониманием, славных его разработчиков. Но — 800 Мб оперативки. На что? Зачем? Я линукс компилирую параллельно с научными расчётами seti@home? Бигдату просеиваю через нейросети и случайный лес? Что помешало шторму уложиться в 20 Мб а не в 800? И что мы можем сделать чтоб к этому придти? Java машина слишком раскидистая и неоптимальная? Лишние зависимости? Неоптимальный код? Недостаточно Lazy loading? Неоптимальные структуры данных?
Hello world — это про 4 Кб, а не про 0,5 Гб. Нынешние тенденции в мире IT собирать конфету из тысячи обёрток и скотча, мягко говоря, пугают и печалят. А ведь могут лучше.
Планируется ли уменьшение потребления оперативной памяти PhpStorm'ом от 10 до 20 раз? Или хотя бы, пусть, в 2-3 раза?