All streams
Search
Write a publication
Pull to refresh
11
0
Send message
с добавлением ноликов в условие цикла разница будет все менее заметной
вообще-то, если добавить нолик, то у меня программа без GC просто падает достигнув 2GB RAM (java se 1.8 под виндой). А с GC работает.
в многопоточном приложении вы получите паузы во всех потоках, и это не обязательно то, что вам позволено
не факт, ведь я же не получаю паузы в одном потоке, даже наоборот — в данном однопоточном быстодействие с GC в разы выше.
более того, явный вызов GC совершенно не гарантирует запуск GC
здесь полностью согласен, нужно экспериментировать
если придираться: конкретно в этом случае стоит использовать пул
я список сделал такой большой чтобы сразу было понятно чем занята память процесса — надо же чем-то заполнить пару гигов. Но при других значениях счетчика я получил похожий результат, что с GC работает лучше: видимо моя имплементация GC прислушивается к советам, и это позволяет оптимизировать программу.
Вобще всему этому есть объяснение: только программист может знать когда в его программе лучше сделать сборку мусора, так как это зависит от множества факторов, которые из кода и рантайма вычислить или невозможно, или слишком сложно, и поэтому такая задача сборщику может быть в принципе не под силу. Поэтому хотелось бы, чтобы со сборщик перестал быть черным непредсказуемым ящиком.
Вам сильно повезло. Обычно жор памяти в Java = утечка.
Вот код без утечек, только-что запускал:
public class MyTtest {
	public static void main(String argc[]) {
		while(true) {
			List<String> arr = new ArrayList<String>();
			for(int i=0; i<10000000; i++)
				arr.add(new String("abc"));
			System.out.println(new java.util.Date());
			System.gc();
		}
	}
}

Запустил без строчки с GC, процесс быстро набрал 2GB оперативки, CPU циклично скакал от 25 до 90%,
лог выглядел так
Mon Jul 22 15:39:31 EDT 2019
Mon Jul 22 15:39:34 EDT 2019
Mon Jul 22 15:39:34 EDT 2019
Mon Jul 22 15:39:35 EDT 2019
Mon Jul 22 15:39:35 EDT 2019
Mon Jul 22 15:39:37 EDT 2019
Mon Jul 22 15:39:37 EDT 2019
Mon Jul 22 15:39:39 EDT 2019
Mon Jul 22 15:39:39 EDT 2019
Mon Jul 22 15:39:42 EDT 2019
Mon Jul 22 15:39:43 EDT 2019
Mon Jul 22 15:39:43 EDT 2019
Mon Jul 22 15:39:46 EDT 2019
Mon Jul 22 15:39:46 EDT 2019
Mon Jul 22 15:39:47 EDT 2019
Mon Jul 22 15:39:50 EDT 2019
Mon Jul 22 15:39:50 EDT 2019
Mon Jul 22 15:39:51 EDT 2019
Mon Jul 22 15:39:51 EDT 2019
Mon Jul 22 15:39:51 EDT 2019
Mon Jul 22 15:39:53 EDT 2019
Mon Jul 22 15:39:53 EDT 2019
Mon Jul 22 15:39:54 EDT 2019


Запустил с GC, процесс не кушал более 1GB, CPU установился на 60-65%,
и лог выглядел так
Mon Jul 22 15:31:54 EDT 2019
Mon Jul 22 15:31:54 EDT 2019
Mon Jul 22 15:31:54 EDT 2019
Mon Jul 22 15:31:54 EDT 2019
Mon Jul 22 15:31:54 EDT 2019
Mon Jul 22 15:31:54 EDT 2019
Mon Jul 22 15:31:55 EDT 2019
Mon Jul 22 15:31:55 EDT 2019
Mon Jul 22 15:31:55 EDT 2019
Mon Jul 22 15:31:55 EDT 2019
Mon Jul 22 15:31:55 EDT 2019
Mon Jul 22 15:31:56 EDT 2019
Mon Jul 22 15:31:56 EDT 2019
Mon Jul 22 15:31:56 EDT 2019
Mon Jul 22 15:31:56 EDT 2019
Mon Jul 22 15:31:56 EDT 2019
Mon Jul 22 15:31:57 EDT 2019
Mon Jul 22 15:31:57 EDT 2019
Mon Jul 22 15:31:57 EDT 2019
Mon Jul 22 15:31:57 EDT 2019
Mon Jul 22 15:31:57 EDT 2019
Mon Jul 22 15:31:58 EDT 2019
Mon Jul 22 15:31:58 EDT 2019
Mon Jul 22 15:31:58 EDT 2019


Резюме: явный вызов GC в правильном месте делает программу менее требовательной к памяти, быстрее, и без лагов. Везение тут не при чем.
Как часто вы создаете объекты размером со всю доступную VM память?
Это и не нужно. Достаточно в цикле читать и обрабатывать какую-нибудь таблицу (или запросы). Если в этом цикле используются любые ресурсы ОС, то забыть закрыть ресурс (а с ним и все связанные объекты) очень даже легко. И даже если не забыть, то не факт, что сборщик будет чистить так, как вам бы хотелось. Мне как-то довелось оптимизировать память процессу на яве. Поставил явный вызов GC, хоть во всех мануалах пишут, что это делатьне надо. Коллеги на ревью удивились, но после демонстрации уменьшения памяти на 50% смеяться перестали. Так что всяко бывает, а памяти всегда мало.
Очень эти муки выбора для меня были актуальны неделю назад. Я тоже все думал что купить сыну (на самом деле себе), в итоге решил сделать сам, закончил буквально позавчера (видео как делал батарею). Получилось уложиться в $300, просто купив мотор 350вт, 40 литиевых батареек и электронику. Конечно, получилось не так красиво, но зато могу всегда его модифицировать под свои нужды: пробег увеличить, или сделать полный привод.
«чутьё на неудачные проекты» — это типа чтобы боссу сказать, что «мне проект не нравится, и я над ним работать не буду»? Ну-ну. Гораздо полезнее тогда чутье на неудачные команды или компании.

«приходить на работу раньше других для того, чтобы успеть справиться со своими делами» — если уходить тоже пораньше, то тогда нормально, но повод боссам задуматься что что-то организовано не так, если сотрудники не имеют возможности эффективно работать в стандартные часы.

«Научитесь говорить «нет»» — я всегда считал, что программист, как солдат, должен работать над тем, что скажет начальник. Начальнику нельзя сказать нет, но нужно донести до него мое экспертное мнение, и возможно он примет другое решение. Если задание идет от параллельной команды, то пусть обращаются через начальника, он заодно и назначит приоритет. Иначе начинается переработка и стресс.
Не соглашусь с теми, кто пишет, что телефон не стоит такой беготни, нервов и времени.
Я таких ситуаций не избегаю, а наоборот их использую чтобы прокачать жизненные скиллы занедорого: понять как работает полиция, суд и прочие правоохранители, как сделать так, чтобы эта машина заработала в моих интересах, где у ней точки воздействия в случае если что-то идет не так, как я ожидал, и т.п. В конце концов их содержат на мои налоги. В общем, использую ситуацию для исследований в новой для себя предметной области, чтобы в более серьезном случае знать что делать.
Ваш подоход неправильный
Такой подход позволяет инсертить в таблицу, в которой вообще нет индексов, т.е. мгновенно, а потом уже построить индекс. Понятно, что на создание индекса(ов) понадобится время, но это будет в разы быстрее, чем сейчас у вас уходит на инсерты.
При нескольких миллионах инсертов в день возможно стоит рассмотреть создание отдельной таблицы на каждый день, генерировать линки вида UUID-DDMM, и при клике из урла вычислить имя таблицы. Таблицы тогда будут маленькими и быстрыми, их легко будет удалять.
На случай, если нужны какие-то отчеты за период можно создать вьюхи или SP, которые будут все таблицы соединять. Создавать вьюхи мог бы тот же скрипт, которые создает и дропает дневные таблицы.
В России, увы, почти каждый год происходит катастрофа большого самолета с гибелью всех или почти всех пассажиров. Причем это не зависит от производителя самолета, т.к. падали и боинги. Это заставляет думать, что дело не в технике, а в процессах: либо плохие процессы, либо им просто не следуют. В развитых западных странах самолеты каждый год так не гибнут, хотя полетов там выполняется намного больше.
Изза такой статистика странаюсь не летать отечественными авиакомпаниями, особенно с семьей.
Хотелось бы больше деталей что именно признали атакой, т.к. сереверы в интернете постоянно регистрируют неправильные пакеты, запросы по несуществующим урлам, подборы пароля и прочие гадости от бот-сетей. Теперь если подцепил трояна, так могут и разбомбить?
Сравнивать телевизоры по одному лишь разрешению это как сравнивать видеокамеры по одному лишь разрешению: разрешение может быть одно, но одна камера может дать cinematic view, а вторая нет.
Но даже если рассматривать только разрешение, то, запас по разрешению необходим всегда, когда разрешение исходного изображения не совпадает с разрешением матрицы, и когда малые элементы должны сдвигатьс на субпиксельные величины, т.к. в этом случает эти малые элементы автоматически мылят все пикселы, которых касаются.
«танцовщица go-go» — почему-то сразу подумалось про go
Как-то проходил курсы по Angular. Инструктором у нас была бабушка лет за 60, такие обычно на коболе сидят. А эта активно кодила современный фронт и бакенд, знала все хайповые веб-фреймворки, причем разных версий и настолько хорошо, что частенько могла пуститься в сравнения насколько какая-нибудь фича в Angular 4 (на тот момент только вышел) удобнее, чем Angular 2, и как это все выглядело бы в React
А вы говорите 30 это поздно…
Ожидал увидеть статью про самодельный электробайк. Хабр все-таки…
FDA гораздо больше заслуживает критики не за лицензарование как таковое, а за коррумпированую систему которая вокруг нее сложилась: редкую неделю на бирже акции какой-нибудь компании либо не выстреливают, либо наоборот не падают в 2 и более раз. В подавляющем большинстве случаев это акции фармацевтической компании, а движение цены вызвано каким-либо решением FDA. Что характерно, движение всегда начинается (а порой и заканчивается) до того, как FDA эту информацию публикует. Это явление длится годами, и можно самостоятельно прикинуть масштабы коррупции, порождаемых этой системой.
Про увеличение мощности/уменьшение номиналов и габаритов это понятно. Хотелось бы именно обойти ограничение по поднятию напряжения в 4 раза, которое вы обозначили в статье.
Я не спец в силовых преобразователях, поэтому заранее извиняюсь если вопрос глупый, но меня заинтересовал вот этот момент:
image
Так же при таком коэффициенте заполнения получается, что транзистор открыт почти всегда

А можно ли сделать так: 1) установить D=50%, 2) продублировать цепь L1/VD1/VT1, и подключить ее параллельно в точках GND, синего и желтого каналов 3) на затвор VT2 подать инверсию того, что идет на VT1.
Вроде в этом случае 2 эти цепи должны поднять напряжение на выходе в бесконечность.
Или я что-то упустил?
Где я соврал?
Рост ВВП Россия:
2015 — -2.5%
2016 — +0.3%
2017 — +1.6%
2018 — +2.2%
Рост ВВП Украина:
2015 — -9.8%
2016 — +2.3%
2017 — +2.5%
2018 — +3.4%

Вы не соврали, но для полноты картины стоило бы привести и сами цифры ВВП. Вот ВВП на душу населения: Россия — 10k USD$, Украина 2.6k USD$. Гросс тоже можно прикинуть самостоятельно.
Блин, помню родители никак не хотели покупать магнитофон, а я без музыки жить не мог. Изза этого неудовлетворенного желания все свои школьные годы я пытался создать катушечник: чтобы не заморачиваться на лентопротяг делал его трехмоторным, на соленоидах, по типу Олимп-00x. Боже, как он мотал! В комнате ветер поднимался! До сих пор стоит в гараже, детство напоминает. Эх, тогда бы мне 3д-принтеры, карманные осцилографы, и прочий aliexpress…
Очередной дайджест надписей на заборах в форумах. Эти услуги реально работают?
Я как-то лет 8 назад тоже нашел на форуме чувака, который взялся растаможить и доставить мне из Финляндии в РФ поддон с оргтехникой. Чувак был старожил на том форуме, с репутацией и отзывами. В общем взял деньги и пропал вместе с моим поддоном. Мне тогда урока хватило, форумам больше не верю.
А автор почему-то считает эту информацию достоверной, и строчит статью за статьей.
Может стОит хотя бы контрольную закупку сделать? Тогда можно было бы утечку проанализировать, бы была хоть какая то польза.

Information

Rating
Does not participate
Registered
Activity