Цитата:
Сообщение от Kernell
Дефайны влияют на вес?
Инклюды и дефайны - это всего лишь препроцессор языка. Они меняют исходный код до того, как он попадет компилятору. У компилятора павн есть ключик, если с которым скомпилировать файл, то получим результат работы препроцессора - будет просто один файл, в который вставлены все инклюды и все дефайны заменены на свои значения.
А вообще есть правило программирования -
не пессимизировать, то есть не пытаться оптимизировать то, что оптимизировать не нужно и выигрыш от оптимизации чего будет минимален (а какой будет выигрыш на начальном этапе разработки, как правило, сказать нельзя).
На хостинге есть ресурсы - процессор и память. Можно оптимизовать как по одному параметру, так и по другому. Но оптимизировать сразу оба как правило очень сложно (если возможно). Вот ты смущаешься размеру amx, а тебе это мешает? Это проблема? Стоит вообще смотреть в эту сторону?
Тут и в англоязычном разделе многие предлагают использовать битовые поля и прочие методики сокращения использования памяти. Да, безусловно, памяти от этого используется меньше. А на сколько возрастает использование процессора? Кто ни будь задавался таким вопросом и пытался замерить? Например, архитектура х86 очень старая и у процессора есть оп-коды, которые позволяют прочитать из памяти любой байт (по любому адресу). В более новых архитектурах, например в Itanium, такой возможности нет и из памяти можно прочитать только машинное слово (по скольку архитектура 64 разрядная, то 8 байт) и только по адресу кратному величине этого машинного слова. С одной стороны непонятно, за чем такое ограничение, но если приглядеться, то станет видно, что даже x86 процессоры, если у них просят прочитать байт из памяти по адресу, не кратному машинному слову (4ым или 8и байтам), то делает это намного медленней чем если адрес кратен. И по этой причине современные компиляторы во время оптимизации стараются выравнивать элементы структур по величине машинного слова. По этой причине в С++ sizeof(bool) == 4. Мы тратим на хранение 1 бита информации 4 байта, но мы с этим битом работаем быстро.
Все кричат, что нужно использовать строки по 128 слов, вместо 256, но в англоязычном разделе показали, что скорость возрастает не более чем на 5%. Стоит ли такое оптимизировать, учитывая что во многих случаях это усложнит код?
К чему я это все написал.
Прежде чем что либо оптимизировать хорошо бы подумать, для чего это делается и что вы будете ухудшать взамен. Если вы оптимизируете использование памяти, то очень часто будет ухудшаться скорость работы, также как и на оборот. И в обоих случаях будет усложняться код - нужно будет его больше тестировать и больше времени потратить на нахождение ошибок (ведь известно, у одного программиста, количество ошибок в основном пропорционально объему кода, грубо говоря, количество строк).