Pull to refresh
3
0
FlameStorm @FlameStorm

Человек

Send message

Так чего унывать, впереди не скушные АБВГД+, а рыцарские времена, замки и прекрасные принцессы! :)

Когда у нас в стране (перед лучезарным взлётом отечественного железа) будет период пятилетки-другой с двумя миллионами тыжпрограммистов на 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 молекул этого стеклянного тора.
Если даже такой объёмный заряд проблема, остальные параметры взяты очень мягкими, там запросто можно подвинуться порядка на три, а то и больше.

Как-то вроде поинтересней выглядит идея, чем несколько раз в десятилетку заправляемый ядерный реактор. :-)
Может вам и ещё один разработчик нужен 10+ стажа, который любит лёгкий и быстрый софт? Могу не только на пыхе с мускулом и жысом, но и на щах с асмом. ;)
Наша индустрия сам должна организовать систему качества софта, включая параметр производительности и потребляемых ресурсов.

Когда не «игра ААА класса типа мувики красивости и всё такое», но о жрательных и некоторых других важных для юзера и ИТ характеристиках ничего из этой аббревиатуры не следует, — а типа как с техникой бытовой, только не холодильник, а например фреймворк React 7 B (BBAA) класса — значит терпеть можно, хоть не дно типа D-- (DD--CD-) (или как оно там), но хотя бы.

Производительность — Потребление памяти — Удобство программиста — Удобство пользователя

Упрощенная оценка одной буквой — по минимальному из параметров.

Дальнейшее — детали. Например в оценку за производительность вкладывать параметры работоспособности без лагов на процах low-20% юзеров, типичная загрузка 1 ядра, coreX8 систем, типичная загрузка GPU каких-то соотв. сегментов юзеров, типичное энергопотребление Ватт с метриками для мобил, ноутов и десктопов… В оценках по памяти из главных метрик типичное потребление оперативки, дружелюбность к кэшам процессора L1-L3, метрики по видеопамяти и метрики по I/O. И т.д.
Этого давно не хватает индустрии.
PS:
Про проблемы в нашем
          (пока ещё вполне передовом, благодаря заделу за время «хотя бы не мешают»)
российском IT секторе, начавшиеся из-за желания понарегулировать, поназапрещать и отменить любую действительно приватную переписку, оставлю комментарий всего в одно коротенькое слово.
Ух актуальное, адреса-то четвёрочные недавно окончательно кончились:

IPv6
Честно говоря не понимаю за что вас минусуют, по сути своей всё так — достаточно известного человека сообщество профессиональное может и взбудоражится защищать, а тоже своего коллегу и тоже неправедно укатываемого, но мало известного?

У нас реальный независимый профсоюз есть кстати?

Да вот пример про правильного маленького человека и произвол: Сергей Пинягин, Темрюк. (гугл расскажет, например вот) Через 2 недели может сесть, похоже, ни за что. Хотя за вклад по борьбе с коррупцией должен бы государством быть поощрён(?). Пусть не орденом, но хоть медалью или грамотой и рукопожатием Главнокомандующего. Ему кто поможет? Кто на Хабрах восстанет как один? Сколько таких примеров?
+ Калинин Николай Андреевич, CTO MetrTV

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 раза?
1
23 ...

Information

Rating
Does not participate
Location
Россия
Registered
Activity