Здравствуйте, Ikemefula, Вы писали:
_>>Имеем где-то порядка 2-12 микросекунд накладных расходов на простом запросе классического вида ради получения статически типизированного кода. Конечно не идеал, но уже вполне терпимо, а не дикие 12 миллисекунд как у твоих примеров с linq.
I> Ты прочитал данные даже не из локального файла, а из кеша операционной системы. 2-12микросекунд это чтение данных из прогретого кеша операционной системы, фактически — обращение к виртуальной памяти. База то у тебя вся в памяти, алё !
I> Отключал ты индексы или нет, значения почти не имеет, ибо ты перепахиваешь виртуальную память, но сравниваешь с чтением по сети
I>Те самые 12мс — это именно обращение и передача данных по сети. Кроме того, если ты помнишь, то там даже прямой доступ к бд давал почти те же милисекунды.
I>На С++ аналог того самого теста, скажем, через драйвер odbc, не cможет дать меньше чем милисекунды, ну никак.
Ты совсем глупый или не умеешь читать? ) И 2-12 микросекунд и 12 миллисекунд — это накладные расходы (а не суммарное время), которые в принципе никак не зависят от времени исполнения самого запроса. Хоть там будет наносекунда, хоть час. Накладные расходы у таких библиотек зависят исключительно от самого запроса и всё. Так что для приведённого в тесте запроса такие накладные расходы будут на любом, даже самом удалённом сервере. ))) Единственная разница заключается в том, что при времени исполнения запроса в час очень проблематично (хотя откуда тебе знать такое, ты же про теорию эксперимента даже не слышал) измерить накладные расходы в несколько микросекунд.
P.S. Ну и для общего образования: обращение к памяти — это наносекунды, у нас всё же не 90-ые. )))