Как информация передается между ipconfig и процессом init во время загрузки

Я скучал и синхронизировал миллиард повторений трех подходов. Компилятор является gcc-O3. ЦП - то, что они вставляют 1-го генерала MacBook Pro.

Самый Быстрый следующее, в 3,7 секунды:

static unsigned char wordbits[65536] = { bitcounts of ints between 0 and 65535 };
static int popcount( unsigned int i )
{
    return( wordbits[i&0xFFFF] + wordbits[i>>16] );
}

Второе место переходит к тому же коду, но ищущие 4 байта вместо 2 полуслов. Это заняло приблизительно 5,5 секунд.

Третье место переходит к битовому жонглированию 'поперечное дополнение' подход, который занял 8,6 секунд.

Четвертое место переходит к GCC's __ builtin_popcount () в позорных 11 секунды.

подсчет one-bit-at-a-time подход был waaaay медленнее, и я скучал ожидания его для завершения.

Поэтому, если Вы заботитесь о производительности прежде всего остального тогда, используют первый подход. Если Вы заботитесь, но недостаточно потратить 64 КБ RAM на нем, используйте второй подход. Иначе используйте читаемое (но медленный) one-bit-at-a-time подход.

трудно думать о ситуации, где Вы хотели бы использовать подход битового жонглирования.

Редактирование: Подобные результаты здесь .

1
задан 19.05.2020, 13:15

1 ответ

Конфигурация для Ваших сетевых интерфейсов находится в /etc/network/interfaces, и IPv6 полностью поддерживается. Вот пример от одной из моих систем:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
    address xx.yy.zz.222
    netmask 28
    gateway xx.yy.zz.209

iface eth0 inet6 static
    address xxxx:yyyy:zzzz:1::222
    netmask 64
    gateway xxxx:yyyy:zzzz:1::1
1
ответ дан 19.05.2020, 13:15
  • 1
    Я думаю, что часть возвращается к/etc/network/interfaces. Что происходит, когда Вы также добавляете свою конфигурацию IPv6 там, с помощью тех же настроек, как Вы использовали ранее в процессе начальной загрузки? – egervari 19.05.2020, 13:16
  • 2
    Который является тем, что я делаю, как упомянуто выше. Мой вопрос: Почему адрес, я присваиваю интерфейсу через ip, отброшенный далее вперед в процессе начальной загрузки? – Harikrishnan 19.05.2020, 13:16
  • 3
    Я думаю, что ipconfig поддерживает IPv6 очень хорошо, но это старо... В эти дни лучше использовать ' ip' команда. Намного более гибкий. – Community 19.05.2020, 13:16
  • 4
    Спасибо за Ваш ответ. Я знаю /etc/network/interfaces. Моя проблема немного более сложна все же. Я должен присвоить адрес IPv6 в раннее время начальной загрузки , т.е. в initramfs фазе процесса начальной загрузки (более конкретно в предварительно монтируются nfs ). Нет никакого /etc/network/interfaces в этой точке. Это обычно делается с ipconfig, который, к моему знанию, делает IPv6 поддержки *not. Какой btw. Я нахожу немного шокирующими. – Pat 19.05.2020, 13:17

Теги

Похожие вопросы