Я не знаю как еще объяснить.

Подход с двусторонними дорогами это указать не только саму дорогу но и создать правило для каждого направления + что можно попасть из А в Б, можно попасть из Б в А.
Подход с только односторонними дорогами это сказать что можно попасть из А в Б. Без правила (oneway=yes всегда, не нужно ничего считать).

Вот ваши бедные роутилки этим и занимаются (почитывают есть ли у дороги oneway=yes либо oneway=no). На это уходит время. Как думаете ваша роутилка умная и делает разбор графа один раз при обновлении либо страдает маразмом и считает эти никому не нужные oneway каждый раз?

Из-за “простого” на первый взгляд подхода обозначения дорог у вас действительно возникает больше запретов и на отдельно взятых дугах графа. Эти запреты не просто буковки: их в 4 раза больше значит роутилка будет медленнее работать. По секрету скажу что увеличение объема данных в 4 раза не значит увеличение обработки этой информации только лишь в 4 раза - алгоритмическая сложность в задачах с графами очень редко бывает линейной. Вы сами себе роете яму.

Зачем?