Вы даже не можете начать сравнивать сетевой ввод-вывод с доступом к локальному файлу-вводу-выводу / реестру, потому что в работе так много факторов.
Теоретически можно разработать какой-то тест длясравните чтение файла с чтением реестра, но я не думаю, что это принесет какую-либо пользу.Этот тест все еще может быть ошибочным, поскольку он может зависеть от того, из каких ключей вы читаете, и от других приложений, которые также могут читать реестр в фоновом режиме.
Если вам нужен доступ к реестру, тогда требуется времяв значительной степени не имеет значения, потому что у вас нет другого выбора, кроме как сделать это в любом случае - аналогично с файлом ввода / вывода.
РЕДАКТИРОВАТЬ:
Быстрый тест дает следующие результаты:
100 000 считываний реестра занимает 1,81 - 1,89 с
100 000 считываний 9-байтового файла занимает 19.80 - 20,10 с (поэтому реестр намного (~ 10x) быстрее:)
Dim sw As New Stopwatch
Dim subkey As RegistryKey
Dim value As String
Dim keyValue As String
sw.Reset()
sw.Start()
For i As Integer = 1 To 100000
keyValue = "SOFTWARE\Codejock Software\Xtreme SuitePro ActiveX v15.0.2"
subkey = Registry.LocalMachine.OpenSubKey(keyValue, False)
value = subkey.GetValue("Installation Directory")
Next
sw.Stop()
Debug.WriteLine("Registry Read:" + sw.ElapsedMilliseconds.ToString)
Dim fileContents As String
sw.Reset()
sw.Start()
For i As Integer = 1 To 100000
fileContents = My.Computer.FileSystem.ReadAllText("C:\scratch\Text.txt")
Next
sw.Stop()
Debug.WriteLine("File Read:" + sw.ElapsedMilliseconds.ToString)