Roman
с другой стороны эксепшены дешевле, когда они не случаются
ты уверен что для того чтоб ускорить exception handling не постраиваются никакие спец. структуры под обложкой абстракции которые жрут лишную память и CPU time на построение и обновление?? Я вот очень неуверен!
1 stack allocation + 1 condition относительно должно быть в любом случае куда более дешевле и быстрее
Anonymous
Я пришёл с Free Pascal'я на Go. На первом исключения так адски тормозили, что я теперь забыл их как страшный сон 😄
Roman
кстати насчёт exceptions:
в Go очень спасает defer, в C++ можно выстрелить себе в ногу бросив exception который просто перепрыгнет важные statement'ы (e.g. .close()), я уже такого недебагельного дерьма с exception'ами навидался что порой тошнить начинает
Mike
ну плеваться экспешнами направо и налево — это вроде джавовская фишка, не обязательно принятые в каком-то языке паттерны бездумно переносить в другой
Mikalai
Roman
Для этого в c++ придумали raii
согласен, однако бывали случаи когда деструктор не был правильно прописан и приводил к катастрофическим последствиям, в принципе и в Go такое возможно если руки корявые, но тем не менее return error value я предпочту exception'ан, они просто очевиднее и проще, но это лишь мой личный взгляд на мир
Mikalai
Просто надо использовать инструменты по назначению
Mikalai
А то уже отдельную религию выстроили 😁
Daniel
Roman
да я тоже так считаю
Daniel
прям невыполнимая
nvkv
Привыкли руки к топорам!
Anonymous
А заднее место к велосипедам.
Мерль
🤔
Mike
удаляй
Oleg
Oleg
Он запарил
Mike
он заспамил все чатики
Daniel
и бань
Oleg
всюду спамит
Мерль
@onokonem в 44 выпуске GS ты говорил, что у вас проблема с СУБД для записи результатов метрик.
И что в итоге вы перехали на касссандру, но всё равно не довольны.
А в сторону clickhouse вы не смотрели?
Мерль
Короче, подобные вещи лучше обговаривать заранее.
Daniel
🏳️ Phil
бань его. он все чаты заспамил
Daniel
ну и потом как-то не справились посмотреть
Мерль
Просто я смотрю на то, что они обущают - и получается конфетка, если хоть в половину правда
Yehor
плохой человек
Daniel
ну вот надо как-то взять себя в руки
Daniel
и померять
Мерль
SQL, полмиллиона операций в секунду на одной ноде, джойны, вторичные индексы...
Мерль
cross-datacenter
Мерль
В общем какая-то магия
Slava
Магии не бывает :)
Daniel
бывает
Daniel
но она вся такая, стремная
Daniel
например, когда в первый раз fsync на базе отключаешь - чувствуешь магию.
Daniel
а потом, когда база упадет - опять чувствуешь
Roman
кто-нить с докером работает?
engelbart
engelbart
в 2017 то
Roman
An7on
те у кого много монолитного дерьма на php мб
An7on
коих 70% рынка
Roman
An7on
в прямом, всякие crm на самописных фреймворках и т.п
Aleksey
Чят, а в го нет нативного loop? Понимаю, что звучит странно, но мне лексически не нравится
func main() {
for {
<code>
}}
Aleksey
Мне кажется... Странным и костыльным использование "while true"-подобных конструкций. Даже
loop:
<code>
goto loop
Лексически лучше
Aleksey
Я наркоман?
nvkv
Да
An7on
А goto замедляет как-то этот момент?
An7on
по производительности
An7on
лексически мне тоже больше так нравится
分解物質
An7on
ну мб тут кто-то уже посмотрел)
Mikalai
В x86 циклы вроде реализуются всегда через jmp
Mikalai
Так что все циклы это goto под капотом 😁
Daniel
А goto замедляет как-то этот момент?
какой такой момент?!
вобще-то, писать на идеоматически. знаете такое слово?
это когда при первом взгляде на конструкцию ты понимаешь, для чего она предназначена
for {} - идеоматический, это очевидно бесконечный цикл.
конструкция с меткой и goto - не идеоматическая, ее надо до конца дочитать, чтобы понять, что она делает
An7on
если цикл в экран помещается, то почему-бы нет
Daniel
из общих соображений
An7on
про момент, это я про разницу в производительности между goto loop и for
Daniel
нет разницы
An7on
с goto даже можно по коду нужный цикл найти
An7on
хотя комменты, конечно, никто не отменял
Mikalai
🙈
Daniel
но
An7on
(я использую for, просто задумался)
Mikalai
Опять вы гвозди зубилом предлагаете забивать
Daniel
из двух способов, быстрого и идеоматического, надо выбирать идеоматический, пока профайлер явно тебе не укажет на это место как на узкое
Aleksey
У меня кейс в том, что весь main – лупа. Это так редко? Или всем норм вес код в for заворачивать?
nvkv
не надо так