@ProCxx

Страница 1248 из 2477
Berkus
27.08.2017
12:49:48
Alexander
27.08.2017
12:50:08
UB - это одно. А не собирается - это другое

Berkus
27.08.2017
12:50:18
ну вот теперь еще и не собирается :D

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

Google
Alexander
27.08.2017
12:50:48
?

Berkus
27.08.2017
12:51:27
а то оно поди в одно ядро корячится там

я на тревисе как-то раз пытался llvm собирать... бесполезно

6500 файлов даже с полной параллельностью больше 40 минут компилятся

Alexander
27.08.2017
12:52:20
но всё равно не успевает

Berkus
27.08.2017
12:52:34
сунь -j$NCPUS может?

чему там NCPUS равно?

Alexander
27.08.2017
12:52:47
сунь -j$NCPUS может?
нет смысла - оно всегда 2 равно

Berkus
27.08.2017
12:52:56
а, ну тогда да

урезанная виртуалочка

Alexander
27.08.2017
12:53:34
какие ещё есть способы ускорения билда с нуля, кроме как распределённые билды без правки исходников?)

Google
Alexander
27.08.2017
12:54:26
я сейчас занимаюсь перетасовкой либ, чтобы они использовали по максимуму рабочее время. Так себе занятие, честно говоря.

Grigor
27.08.2017
12:56:18
заюсай сикеш

первый не успееет

а зато потом будет тебе щастье

Alexander
27.08.2017
12:56:33
заюсай сикеш
бесполезен для билда с нуля

а зачем мне потом? это же Travis

Grigor
27.08.2017
12:57:13
ну каждый последующий билд будет ускорен за счет кеша, не?

Alexander
27.08.2017
12:57:37
если что, я на бесплатном сижу, там нет сохранения состояний никакого

и предсобранных образов.

Berkus
27.08.2017
13:04:14
ну каждый последующий билд будет ускорен за счет кеша, не?
нет кеша, travis дает тебе чистую виртуалку с нуля

но можно сделать ccache, зазиповать, залить на s3 а для следующего билда скачать!

сделать ему лимит в полгигабайта на кэш и будет быстрее чем собирать все заново )

но проще конечно какую-то супердешевую впску взять и на ней билдить долго и упорно а на тревисе запускать уже готовые бинари

Alexander
27.08.2017
13:08:12
все говорит в пользу монолитных ядер на чистом си, д
Проверил - действительно падает с -O0

Berkus
27.08.2017
13:10:35
а какая ошибка?

Alexander
27.08.2017
13:11:05
./include/linux/compiler-gcc.h:268:38: error: impossible constraint in ‘asm’ #define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)

Berkus
27.08.2017
13:11:28
прекрасные конструкции

Alexander
27.08.2017
13:11:34
`make "KCFLAGS=-O0" -j9 `

вот этим компилял

Google
Alexander
27.08.2017
13:13:13
кстати, на CircleCI по илее полоучится сбилдить Boost.Geometry и иных - там лимит в 1500 минут в месяц, а не 50 минут на джобу

Matwey
27.08.2017
13:26:01
нет кеша, travis дает тебе чистую виртуалку с нуля
У него там какие-то кеши можно настроить вроде

Matwey
27.08.2017
13:27:25
там какие-то проблемы появляются
Там и без этого проблемы. У меня однажды ядро не загружалось из-за того, что у меня были слишком новые binutuls

Alexander
27.08.2017
13:27:47
Дарёному коню в зубы не смотрят ?

Matwey
27.08.2017
13:27:48
Они закладывались на какой-то баг в линкере

Причем проблема прямо на очень ранней стадии появлялась, я не видел ни одного сообщения от ядра

Alexander
27.08.2017
13:31:29
типа кеш между билдами - значительно уменьшает время развёртывания системы

Matwey
27.08.2017
13:32:25
да
Попробуй в саппорт написать, может бесплатно дадут. Скажи, что пишешь очень важный boost, все им пользуются, а ты молодец.

Alexander
27.08.2017
13:32:31
но для опенсурса недоступно (странно, я бы сделал доступным на какой-нибудь ограниченный размер)

Alexander
27.08.2017
13:32:48
Matwey
27.08.2017
13:33:48
кстати да, годная идея. Правда велик шанс, что просто пошлют на йух
Ну пошлют и пошлют, с практической точки зрения хуже не станет

Berkus
27.08.2017
14:07:19
чувака лично знаю. он крутой, так что рекоммендед

Это очень нерелевантное видео в контексте Android-разработки, но я очень рекомендую его посмотреть - всего 15 минут. Чувак показывает чудеса GDB - это такой консольный дебаггер для C++. Можно представить, как раньше жил народ без модных IDE. Уверен, и сейчас им многие пользуются. #cpp #gdb #debug https://youtu.be/PorfLSr3DDI

Friedrich
27.08.2017
14:08:24
это Travis же, поэтому не будет ускорен
Если надо, то на Тревисе можно шарить некоторые артефакты между билдами. В т.ч. всякие билд-кэши.

На аппвейоре точно можно, и это бесплатно (не знаю, впрочем, какие объёмы можно шарить — я шарю около сотни мегабайт, и денег с меня не брали). Кажется, и на Тревисе было бесплатно.

Google
Alexander
27.08.2017
14:13:55
Там же есть apt
ну есть. И что? и что мне от апта подсасывать?

Friedrich
27.08.2017
14:14:13
дай ссылку плиз, где это бесплатно
https://docs.travis-ci.com/user/caching/ Вроде про платность ничего не написано :)

https://github.com/morganey-lang/Morganey/blob/5ace20dde1e7fb697ec0df754526ce8b761ea460/.travis.yml#L16-L18 — а вот мой корешок юзает. Не слышал, чтобы он брал себе платный аккаунт.

Alexander
27.08.2017
14:15:42
я не совсем понял, как оно работает

Friedrich
27.08.2017
14:15:43
Понятно, что, если у тебя билд с нуля не помещается во временные лимиты, то тебе придётся какую-то очень сложную систему мутить.

Alexander
27.08.2017
14:16:05
то есть ccache юзать как кеш система, то понятно

он где-то у себя хранит кеш, а потом его подсасывает?

Admin
ERROR: S client not available

Friedrich
27.08.2017
14:16:23
я не совсем понял, как оно работает
Ну, ты ему просто указываешь директорию, которую надо кешировать — и оно её будет после каждой успешной сборки заливать в облако, а перед каждой последующей сборки того же бранча будет восстанавливать из облака.

Alexander
27.08.2017
14:17:04
ага, про такой кеш я не знал. Спасибо

Что из этого на ваш взгляд тяжёлое? io,iostreams,locale,local_function,log,logic,math,multi_index,multiprecision,numeric,parameter

Ned Ogl
27.08.2017
14:37:02
Псны

Есть важенный вопрос

Компиляторы пишут в объектный файл дохуя секций

Как исключить некоторые, или как посредством linker script взять только нужные?

Matwey
27.08.2017
14:39:02
objdump умеет вроде

Ned Ogl
27.08.2017
14:39:20
Он только показывает содержимон

Matwey
27.08.2017
14:39:28
objcopy

Google
Matwey
27.08.2017
14:39:44
objcopy --rename-section .data=.rodata,contents,readonly ${CMAKE_CURRENT_BINARY_DIR}/ov3.fwpkg.o ${CMAKE_CURRENT_BINARY_DIR}/ov3.fwpkg.o

Berkus
27.08.2017
14:40:19
objcopy может и форматы конвертировать

Ned Ogl
27.08.2017
14:41:09
А как тогда сказать линкеру, что я хочу конкретную вот секцию из конкретного файла видеть тут?

Суть в чём, это зачаточное ядро ОС на высокоуровневом ЯП.

Berkus
27.08.2017
14:41:53
Суть в чём, это зачаточное ядро ОС на высокоуровневом ЯП.
посмотри в примерах таких же ОС, их море

Ned Ogl
27.08.2017
14:41:54
Там куча всякой ненужноты вроде стековых фреймов, комментов и мусора

fox.cpp
27.08.2017
14:42:14
strip?

Ned Ogl
27.08.2017
14:42:16
Berkus
27.08.2017
14:42:31
Язык не С и не С++, а D
линкеру вообще насрать какой у тебя язык https://github.com/metta-systems/metta/blob/develop/src/nucleus/x86/nucleus.lds

Matwey
27.08.2017
14:42:45
посмотри систему сборки u-boot например

fox.cpp
27.08.2017
14:42:47
strip?
--remove-section=<name>

Matwey
27.08.2017
14:42:52
там часто из elf файлов выдирают куски отдельные

Ned Ogl
27.08.2017
14:42:54
strip?
Не спас, говорит, в секции инфа о релокации, я не буду урезать её. Даже форс не помог

Суть в чём, я просто пользуюсь стандартным компилятором DMD и он не документирован по поводу всех этих секций

Berkus
27.08.2017
14:43:46
Там куча всякой ненужноты вроде стековых фреймов, комментов и мусора
и для компонентов, с аналогичной вырезалкой, это то как я делаю: https://github.com/metta-systems/metta/blob/develop/src/modules/component.lds

Ioann V
27.08.2017
15:27:47
Ребят, смотрите - есть делегат, и вроде все бы окей, если бы не одно но - переопределить события мыши у делегата нельзя. Вот вопрос, а как тогда быть ? Можно определить только editorEvent()..

Pavel
27.08.2017
15:35:28
А чо такого в гдб. Я всегда его юзаю.

Страница 1248 из 2477