
Ievgenii
09.01.2018
15:14:55
Так и нужно делать при большом количестве одинаковых объектов

Pavel
09.01.2018
15:15:09

Ievgenii
09.01.2018
15:15:12
Но есть одно НО: объекты нужно еще и чистить, а не только возвращать

Pavel
09.01.2018
15:16:09
Да у меня там есть одна проблемс внутри объектов - надо каждый раз выделять буфер от 0 до 255

Google

Ievgenii
09.01.2018
15:16:51
Вот, его еще и чистить нужно
Так что там есть свои оговорки

Pavel
09.01.2018
15:17:01
И вот я думаю, можно выделять каждый раз при инициализации объекта этот буфер, разной длины в зависимости от требований. А можно просто статически зафиксировать что он размера 255 и тогда ничего выделять не придется
Просто использовать ту длину от этого бкфера которую надо. И таких мест около 4

Ievgenii
09.01.2018
15:17:36

Pavel
09.01.2018
15:18:03
В процессе жизни объекта клиенту приходит длина этого буфера
можно выделять ровно сколько надо, а можно просто использовать сколько запросили.
Если во всех местах статически выделить макс. буфера получается что такой переиспользуемый объект будет иметь размер около килобайта :\

Ievgenii
09.01.2018
15:19:27
Ну или сделать еще одну обвертку над малоком и запрашивать при получении/создании нового объекта (или когда оно понадобилось) и возвращать, когда возвращаешь объект

Pavel
09.01.2018
15:19:30
Можно пойти дальше - эти 4 места используются последовательно, поэтому можно вообще выделить 1 буфер и 4 раза его переиспользовать) Но тогда код начнет походить на запутанный говнокод

Ievgenii
09.01.2018
15:20:50
А лучше сделать так, как ты взглянешь через пол года на этот код и поймешь/вспомнишь, что ты там делал
А не убъешь на вспоминание/понимание еще пару дней)))

Pavel
09.01.2018
15:31:07
Такое трахание с аллокаторами не забыть.

Google

Dmitry
09.01.2018
16:31:25
То, что сейчас можно менять GC, - это только один плохой заменить другим плохим, или его отсутствием.
Хороший без изменений компилятора не сделать.

Evgeny
09.01.2018
16:59:34
А потом уже собрать статистику и принять решение, что загнать в пулы, а что можно оставить как есть
Для этого даже есть уже готовый аллокатор - StatsCollector
https://dlang.org/library/std/experimental/allocator/building_blocks/stats_collector/stats_collector.html

Pavel
09.01.2018
17:05:13
Спасибо посмотрю, интересная штука

Username
09.01.2018
17:58:38
Мда, диски это классика
Фигассе, кто-то еще диски записывает. У меня в компе даже привода дисков нет, ибо нафиг не нужен.

Evgeny
09.01.2018
18:45:20
Кто-нибудь из здесь тусующихся на хабре статьи пишет?

Stepanos
09.01.2018
18:54:59
раньше писал
там много мудаков последние года...

Igor
09.01.2018
19:00:44
тоже выпилился оттуда, раньше писал

Evgeny
09.01.2018
19:07:03
раньше писал
Я тут статью меееедленно пишу, а то и серию статей о Linux + LDC + STM32,
Не стоит там писать? А где стоит?
Или просто сделать бложик и туда запихать?

Stepanos
09.01.2018
19:07:51
если хочешь поучаствовать в бессмьісленном сраче - стоит :)

Evgeny
09.01.2018
19:08:19
Если честно вообще не хочу никакого срача. Кармодрочерство презираю.
А есть ли альтернативы?

Stepanos
09.01.2018
19:09:11
ну смотри, могу я опубликовать, могу инвайтик попробовать пробить, если статья хорошая будет

Google

Stepanos
09.01.2018
19:09:32
хабр = норм аудитория
там пиариться норм, что большинство и делает((
норм тех статтей все меньше и меньше

Evgeny
09.01.2018
19:10:14
там какая-то песочница есть

Pavel
09.01.2018
19:10:17
Я вобще про д узнал из хабра
А Олег там первый парень на деревне) постоянно строчит статьи

Evgeny
09.01.2018
19:11:00
пиар мне не нужен от слова совсем

Stepanos
09.01.2018
19:11:01
песочника = тьі пишешь статью, если она кому-то кто имеет ивайт нравится, тебе он дает его

Pavel
09.01.2018
19:11:25
Статья и каменты это 2 большие разницы
Пусть срутся)

Evgeny
09.01.2018
19:11:41
Опа, то есть я могу писать в песочнице сразу после регистрации, без всякого инвайта?

Stepanos
09.01.2018
19:11:46
статья о D?

Pavel
09.01.2018
19:11:56
Еще можно писать на гитхабе думаю

Stepanos
09.01.2018
19:12:00
можешь, но там 0.01% аудитории))

Evgeny
09.01.2018
19:12:14
Я же говорю Linux + LDC + STM32
мой опыт любительского программирования МК на дешке.

Pavel
09.01.2018
19:12:55
Да будет интересно почитать

Evgeny
09.01.2018
19:13:47
Там получается не только статья о D, но и о самом МК, так как все на голом железе, без использования каких бы то ни было библиотек
точнее все библиотеки пишутся по ходу статьи :)

Google

Evgeny
09.01.2018
19:18:54
я вот пока дошел до чтения данных с оптичнского энкодера и вывод на SPI OLED дисплей. Хочу еще освоить RF Wireless передачу.

Andrey
09.01.2018
19:19:35
stm32 это ARM?

Evgeny
09.01.2018
19:20:54
да ARM Cortex-M3
точнее, то о чем я буду писать
а так у них там полная линейка ARMов вроде
мелкое ардуиноподобное чудо
А именно вот эта китайская шелезячка - http://wiki.stm32duino.com/index.php?title=Black_Pill

Oleg
09.01.2018
20:19:42

Andrey
09.01.2018
20:39:56
да ARM Cortex-M3
Когда/если запилю backend для ARM для своего компилятора, можно попробовать будет там запустить

Evgeny
09.01.2018
20:40:38
своего компилятора?

Admin
ERROR: S client not available

Andrey
09.01.2018
20:42:11
да, но там пока всё в процессе. Есть половина фронтэнда, кодогенерация под x86_64, генерация exe и подгрузка функций из дллок. Всё в виде тестов пока.
еще зачатки линковщика есть, но я пока на него забил

Evgeny
09.01.2018
20:50:08
зачем свой кодогенератор писать, если есть LLVM?

Andrey
09.01.2018
20:55:22
для лёгкости/скорости и для JITа

Just
10.01.2018
06:52:06
/ї

Stepanos
10.01.2018
07:06:56
ї ї ї :)

Evgeny
10.01.2018
08:07:40
ಠ_ಠ

zk
10.01.2018
11:59:53

Andrey
10.01.2018
12:00:11
https://github.com/MrSmith33/tiny_jit

Google

zk
10.01.2018
12:06:00
в llvm есть jit
для лёгкости/скорости и для JITа

Andrey
10.01.2018
12:07:24
я в курсе

Oleg
11.01.2018
19:31:17
ребят, а можно сделать, чтобы dub передавал dflags в сборку зависимостей?
без изменения dub.sdl в самих зависимостях

Evgeny
11.01.2018
19:39:44
а он не передает?

Oleg
11.01.2018
19:48:58
ну по всей видимости нет
чё же так неудобно то пиздец...
один раз давно настроил мега костыль, сейчас подумал, пора по человечески сделать
и пиздец...
Eugene ты пользуешься dub для сборки под arm?

Evgeny
11.01.2018
19:56:59
нет
makefile обычный
примитивный
но у меня там собирать-то нечего, экспериментирую в основном

Oleg
11.01.2018
20:03:17
нашёл способ, но что-то меня смущает
передавать переменную окружения DFLAGS
типа DFLAGS="-conf=arm_ldc2.conf" dub build --compiler=ldc2
выглядит как очередной костыль

Pavel
11.01.2018
20:18:54
Мне норм
Вполне в духе системных костылей

Oleg
11.01.2018
20:27:43
Мне норм
отдельные build.sh для разных архитектур, ммм, то что я люблю прям (нет)

Stepanos
11.01.2018
20:28:10
http://www.opennet.ru/opennews/art.shtml?num=47884