Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
При разработке где это возможно нужно использовать структуры, а не классы.
Дело в том, что при обращении только к части полей, например только трем полям Lengths, NodesFrom и NodesTo структуры Road в случае их расположения в отдельных массивах можно получить более оптимальное использование кеша процессора. Использование всех преимуществ кеша зависит от алгоритма доступа к данным, но в любом случае выигрыш может быть заметным.
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct RoadPacked
...

Да — 1000 полей — явный кейс
Т.е. два конца палки — что упрощает работу программиста — усложняет работу железа.
То есть чтобы сделать и быстро, и красиво, нужно сначала очень напряженно подумать. — уже тут зарыто много труда (чтобы упростить работу железа).
. — уже тут зарыто много труда (чтобы упростить работу железа).О чем и речь:)
Кстати и на С++ так можно написать, что медленнее старого бейсика пойдет. Если не ошибаюсь даже просто с new/delete код на С++ можно сделать в разы медленнее чем на C#.
За инфу о лекциях Андрея спасибо. Смотрю как раз запись. Тематика интересная.
Назад в будущее – Декапсуляция