FLProg
Вход на сайт
Логин:
Пароль:
Мы в VK
Поиск
Статистика


Яндекс.Метрика
Четверг, 08.12.2016, 12:45
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 2 из 2«12
Модератор форума: support, Сергей 
Форум » Новый функционал » Новые » Даешь атомарность в условных операциях (фичереквест)
Даешь атомарность в условных операциях
Naladchik Дата: Пятница, 11.03.2016, 09:32 | Сообщение # 16
Лейтенант
Группа: Проверенные
Сообщений: 116
Награды: 0
Репутация: 0
Статус: Offline
dekorator, лучшее - враг хорошего.
Если гнаться за оптимизацией на таком уровне, то лучше сразу на СИ уходить.


Предпочитаю Portable версию.


Сообщение отредактировал Naladchik - Пятница, 11.03.2016, 09:33
 
dekorator Дата: Пятница, 11.03.2016, 11:26 | Сообщение # 17
Подполковник
Группа: Проверенные
Сообщений: 219
Награды: 10
Репутация: 1
Статус: Offline
"Кац предлагает сдаться" :)

- Плох тот солдат, который не мечтает стать генералом!


Сообщение отредактировал dekorator - Пятница, 11.03.2016, 11:36
 
Naladchik Дата: Пятница, 11.03.2016, 19:53 | Сообщение # 18
Лейтенант
Группа: Проверенные
Сообщений: 116
Награды: 0
Репутация: 0
Статус: Offline
Цитата dekorator ()
"Кац предлагает сдаться" :)
"Не надо ремонтировать работающий механизм" - прапорщик автобата.


Предпочитаю Portable версию.


Сообщение отредактировал Naladchik - Пятница, 11.03.2016, 19:53
 
SirYorik Дата: Воскресенье, 13.03.2016, 12:28 | Сообщение # 19
Лейтенант
Группа: Проверенные
Сообщений: 119
Награды: 2
Репутация: 0
Статус: Offline
>то что уже работает.
скорее НЕ работает. теперешний подход постоянный источник багов. это факт.

>Вы хотите аттомарности, так сделайте её. ......  применяйте промежуточные переменные
этот workaround мне известен.
но это костыль.
усложняющий схему.
и багоисточник.
и как раз он расходует память.
и строго говоря атомарностью не считается.(потому что контроль за уникальностью переменной Запись отдан на откуп программисту.(лично я могу представить фантастический пример модификации переменной выходом блока работающего на внешних прерываниях))
тут можеть всплыть надежда на оптимизирующий компилятор Си, зря, имхо.


>много логики и потом используете их в нескольких местах - применяйте промежуточные переменные
в Этом случае безусловно да.
но мой пример НЕ ЭТОТ случай.
заостряю здесь внимание.
постоянно используются локальные разовые сравнения влияющие более чем на 2 объекта.
это важно особенно в философии FLprog: в условиях наличия абстракции
"плата", loop(), отсутствии независимых от программиста
семафоров-мутексов, отсутствии ожидающих и итерирующих инструментов,
сейчас ключевой подход применяемый всеми - использование самодельных
флагов, машины состояний, режимов, и т.д. и т.п. синонимов.  в больших
программах количество этого "флагового" стаффа уже не удерживается
вниманием, значит надо закрывать этот вопрос на уровне компилятора.


>Для того что бы это реализовать автоматически, мне придётся
сильно переделать компилятор в Си.
не спорю. но дело того стоит. реально.
на фоне неясной мотивации сложно за это браться.

главная метафора: логический провод(булеан)  соединяющий один выход и много
входов нужно отображать в Си не переменной а блоком {}.

Добавлено (13.03.2016, 12:28)
---------------------------------------------
вот кстати, программа будет расти, и некоторые вещи, типа внешнего вида Сишного кода, стоит выпрямить на ранних этапах.

Сообщение отредактировал SirYorik - Воскресенье, 13.03.2016, 12:22
 
Форум » Новый функционал » Новые » Даешь атомарность в условных операциях (фичереквест)
Страница 2 из 2«12
Поиск:

FLProg © 2016
Яндекс.Метрика