В качестве альтернативы вы можете напрямую перейти в каталог данных и проверить общий размер v3.myd, v3. myi и v3. frm-файлы (для myisam) или v3.idb & amp; v3.frm (для innodb).
Я должен сказать, что краткий ответ на этот вопрос - «Нет».
Я лично хотел бы, чтобы вы добились успеха, но сомневаюсь, что это будет легко.
Прежде всего, прочитайте ответ Ларсиви . Он работал над средой исполнения D и знает, о чем говорит.
Я просто хотел добавить: Некоторые из того, о чем вы спрашивали, уже возможны. Это не поможет вам в полной мере, и промах здесь равен миле, но все же, к вашему сведению:
Сборка мусора великолепна в Windoze или Linux, но и, к сожалению, когда-нибудь встроенных приложений должен делать явное управление памятью.
Вы можете отключить сборку мусора. Различные экспериментальные D OS делают это. См. Модуль std.gc , в частности std.gc.disable
. Также обратите внимание, что вам не нужно выделять память с помощью new
: вы можете использовать malloc
и free
. Даже массивы могут быть выделены с ним, вам просто нужно прикрепить массив D вокруг выделенной памяти, используя срез.
Проверка границ массива, тебе это нравится, ты ненавидишь это. Отлично подходит для обеспечения проектирования, но не всегда допустимо из-за проблем с производительностью.
Спецификация для массивов , в частности, требует, чтобы компиляторы допускали отключение проверки границ (см. «Замечание по реализации»). gdc
предоставляет -fno-bounds-check
, а в dmd
использование -release
должно отключить его.
Каковы последствия для поддержки многопоточности во встроенной системе, не работающей в ОС,? У нас есть клиент, которому не нравятся прерывания. Гораздо меньше ОС / многопоточности.
Это менее понятно, но, учитывая, что большинство сред выполнения C допускают отключение многопоточности, вполне вероятно, что можно было бы также заставить D время выполнения отключить его. Легко ли это или возможно сейчас, хотя я не могу вам сказать.