@dlangru

Страница 378 из 719
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

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
Ну тогда можно попробовать реализовать ГОщный СМ
Для этого надо по самые помидоры в компилятор лезть, причем в бэкенд, в кодогенерацию. Вставлять везде write barriers, делать карты стеков, делать карты замыканий.

То, что сейчас можно менять 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
можешь, но там 0.01% аудитории))
Ну тады я буду в песочнице писать, дам ссылочку. Вы почитаете, понравится, тогда и инвайт можно клянчить.

Там получается не только статья о 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
ಠ_ಠ

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

Страница 378 из 719