@devops_ru

Страница 1456 из 4568
Alexander
29.10.2016
21:46:01
КОМПРОМИСС НЕ ДЛЯ НАС
я тоже не против смешения разных ЯП в 1 проекте, если в каком-нибудь проекте есть узкие места и 2-3% всего кода переведут на С/С++ - в этом нет ничего плохого, это самые быстрые языки программирования.. все игровые проекты вообще полностью на С++ пишут (движки ААА-класса типа CryEngine )

Alexander
29.10.2016
21:58:15
просто когда нужна высокая производительность - берут С/С++, главное, не стремиться весь код писать на нём)

Google
Andrey
29.10.2016
22:02:08
но почти всегда программисты, у которых этот язык родной пишут самый быстрый код =)

ИМХО C\C++ это прежде всего дисциплина

Александр
29.10.2016
22:02:45
но почти всегда программисты, у которых этот язык родной пишут самый быстрый код =)
Паш вон на жабе быстрый код пишет, но не говорит что он быстрый ?

Andrey
29.10.2016
22:03:15
насколько я знаю, на жаве вполе реально писать быстрый код

притом, ведь, зараза даже падать не будет

Daniel
29.10.2016
22:04:04
а если будет - будет давать внятный стектрейс

Александр
29.10.2016
22:04:56
Опять непонятные слова

Pavel
29.10.2016
22:05:19
Опять непонятные слова
Эта та простыня, которая магия.

Кстати, один из лучших трейсов, что я видел у джавы

Александр
29.10.2016
22:06:04
в java хоть понятно где и что нетак... пошёл писать скрипт на python, где вывод хуй знает

?

Google
Alexander
29.10.2016
22:07:28
так и не зря же эти ЯП популярны) С/С++ / Java / Python, пройдут десятилетия, а они будут по-прежнему живы

в java хоть понятно где и что нетак... пошёл писать скрипт на python, где вывод хуй знает
>>> raise NotImplementedError('Pony') Traceback (most recent call last): File "<stdin>", line 1, in <module> NotImplementedError: Pony

Andrey
29.10.2016
22:11:45
хе

gdb многое разъясняет

не знаю как там в явах

Александр
29.10.2016
22:14:11
нафиг эти яп

яп от яп

Alexander
29.10.2016
22:18:16
gdb многое разъясняет
в питоне есть https://docs.python.org/3.6/library/pdb.html , ещё PyDev..

но там всё просто, отладчиком обычно пользуешься в каких-то крайне редких случаях

Andrey
29.10.2016
22:42:55
С чего бы вдруг? Например, так редис снапшотится
ничего не понимаю. Что значит снапшотится?

причина может звучать хотя бы так — а что если этот редис захотят собрать на какой-нибудь другой юникс подобной среде? Ну и вообще, код, который делает не то, что подразумевает — по умолчанию говно

конечно, можно написать комментарий на 20 строк

Vladimir
29.10.2016
22:45:11
У них там свой

Andrey
29.10.2016
22:45:28
но можно просто не писать говна :) Тем более речь идёт о инициализации, которая происходит обычно один раз, при старте

Vladimir
29.10.2016
22:45:47
@lorddaedra https://morepypy.blogspot.nl/2016/09/revdb-released-v541.html?m=1

Andrey
29.10.2016
22:49:19
насколько я знаю, идея редиса в синхронном, параллельном выполнении, но при этом всем операции максимально "атомарны". Ума не приложу, зачем ему подпроцесс создавать, с такой то идеей

Roman
29.10.2016
22:53:09
так ты в этих узких местах получаешь полный менеджмент памяти и пр.
Нет, можно иметь точно такое же управление памятью как в python. Главное, чтобы память под объекты выделялась либо на стороне питона, либо через его аллокатор.

Google
?
29.10.2016
22:58:43
а со SlamData кто-нить работал?

Andrey
29.10.2016
23:13:25
fork - это всегда cow.
не всегда. Тенденции меняются, а библиотечные вызовы — почти всегда нет, так как эти библиотеки создавали, чтобы изолировать системные вызовы. Это сделанно, чтобы на всех ОС, стандартный библиотечные вызовы вели себя одинаково. Так cow в fork приехал, не исключено, что так же он и уедет.

есть такое понятие, как управление сложностью. Когда я пишу fork() я вкладываю в это определённый смысл. Я хочу передать некоторую семантику читающему. Если я оперирую терминами cow, я, пожалуй лучше напишу clone()

Vladimir
29.10.2016
23:23:30
если ты используешь клон ты говоришь "плевать я хотел на всех кто пользуется не линуксом", и ничего кроме.

Roman
29.10.2016
23:23:46
Ну и если честно копировать память, то fork процесса с 16gb res будет забавным

Andrey
29.10.2016
23:25:51
если ты используешь клон ты говоришь "плевать я хотел на всех кто пользуется не линуксом", и ничего кроме.
конечно. На этапе компеляции, на фрибсд компилятор выдаст соостветствующую ошибку. Это лучше, чем программа запустится, но будет содержать темпоральные баги или работать медленно

Andrey
29.10.2016
23:26:23
ещё хочу сказать, что мне очень жаль программистов, которым приходится писать, например под freebsd

Vladimir
29.10.2016
23:26:28
у тебя неправильное понимание договоренностей.

отсюда неправильные выводы

Roman
29.10.2016
23:27:39
Слушайте, ну есть single unix spec. Если писать по нему - все будет ок

Google
Andrey
29.10.2016
23:27:53
у тебя неправильное понимание договоренностей.
чем жёсче "контракт" между клиент и заказчиком, тем меньше будет проблем у обоих

Roman
29.10.2016
23:28:03
Да, не будет epoll/kqueue

Vladimir
29.10.2016
23:28:06
ещё хочу сказать, что мне очень жаль программистов, которым приходится писать, например под freebsd
Я тут заморочился с тем чтоб помочь портировать одну из софтин под Макось.

ты его неправильно понимаешь, поэтому зачем-то для CoW семантики предлагаешь использовать linux-only non-posix syscall

это честно говоря бред

и тому кто будет потом твой код читать резонно захочется дать тебе в морду за такое

И хорошо если это будешь ты через 2-3 года

Admin
ERROR: S client not available

Andrey
29.10.2016
23:30:49
есть жесткий контракт - posix называется.
но посикс ничего не говорит про cow

посикс описывает поведение fork, в ограниченном виде

это классика для мира unix программирования. Кошка бросила котят, пусть ебуться как хотят :)

если бы была дока, где написанно, что дочерний процесс ДОЛЖЕН содержать побитовую копию образа виртуальной памяти основного процесса — базар был бы нулевой

а так линукс cow придумал. plan9 вводит rfork() который тоже по-своему себя ведёт

Vladimir
29.10.2016
23:34:18
@abagrintsev ок, делай как считаешь нужным, но то что ты делаешь - дебилизм с моей точки зрения

Andrey
29.10.2016
23:34:31
ну смотри

давай со своей колокольни объясню. Не обязательно считать, что моя точка зрения истина в последней инстанции

Vladimir
29.10.2016
23:35:08
ну давай

Andrey
29.10.2016
23:36:28
вот ты написал программу, её приняли, протестировали всячески (иногда бывает, что некоторые баги можно поймать только под нагрузками) и вдруг кто-то из админов решил, что линукс говно, надо срочно ставить plan9, потому, что модно, молодёжно и т.д.

вообще, у нас, на уровне cmake и либ такое пресекается

Google
Andrey
29.10.2016
23:37:05
но речь не об этом

Andrey
29.10.2016
23:37:45
не всё так просто

по причинам изменичовсти того же fork() в завимисоти от окружения, хорошим тоном было бы такие вызовы писать под #ifdef

причём, под #else лучше вообще писать abort() :)

потому что ты уволишься, программу поддерживать не будут, а вспоминать будут именно тебя :)

Vladimir
29.10.2016
23:41:20
по причинам изменичовсти того же fork() в завимисоти от окружения, хорошим тоном было бы такие вызовы писать под #ifdef
поэтому вместо проверки на уровне окруждения сборке ты хочешь городить какую-то заведомо платформозависимую херню, так?

притом взамен того что в 100% реальных случаях на ближайшие 5 лет будет работать нормально?

твое право, но я увидев бы такой код очень долго вспоминал нехорошими словами его автора

Andrey
29.10.2016
23:42:13
ты бы вспоминал не в этом случае

Vladimir
29.10.2016
23:42:18
куда дольше и жирнее чем если бы твоя софтина криво работала бы на план9

Andrey
29.10.2016
23:42:45
а вспоминал бы, когда засетапил сервак, приложение запустилось и из техсаппорта пошли бы непонятные жалобы

а дело в том, что компилируется — ещё не значит, что работает

Vladimir
29.10.2016
23:43:16
функциональное и нагрузочное тестирование как минимум

Andrey
29.10.2016
23:44:42
cmake могут поравить, он может найти нужный libc, который на самом деле glibc или uclibc (обе имеют "обратную совместимость" с мелкими подписями под звёздочками), но этого не узнаешь. В твоём доме будет играть музыка, но ты ещё не услышешь :)

Vladimir
29.10.2016
23:45:43
cmake могут поравить, он может найти нужный libc, который на самом деле glibc или uclibc (обе имеют "обратную совместимость" с мелкими подписями под звёздочками), но этого не узнаешь. В твоём доме будет играть музыка, но ты ещё не услышешь :)
вот зато если ты начнешь собирать такой код и какой-нибудь дебил напишет clone вместо fork, то первое что я скажу это "что за чудак (на букву м) написал в этом месте clone без нужды?"

притом что если на моем условном план9 софтина соберется но будет тормозить - я полезу смотреть почему, дебажить, оптимизировать

понимая что писалась она под линукс

Andrey
29.10.2016
23:46:57
Vladimir
29.10.2016
23:47:08
и еще подумаю что разраб был молодцом, писал сразу портируемый код

Страница 1456 из 4568