Генерация больших наборов случайных данных vb6 / vb net - PullRequest
1 голос
/ 02 декабря 2008

Существует ли простой способ на любом языке быстро генерировать большой набор случайных данных, пока все функции, которые я пробовал, не работали слишком хорошо, когда мне нужно было создать группу, скажем, 500 000 символов :( Любые идеи

Ответы [ 3 ]

3 голосов
/ 02 декабря 2008

Использовать UUIDGen.

Не. GUID на самом деле не случайны. На самом деле вы можете очень быстро генерировать большие объемы данных, используя класс System.Random в VB.NET. 500 000 символов / байтов не проблема:

Dim buffer As Byte() = Nothing
Array.Resize(buffer, 500000)
Call New Random().NextBytes(buffer)
My.Computer.FileSystem.WriteAllBytes("filename", buffer, False)

Этот код занимает значительно менее одной секунды.

0 голосов
/ 02 декабря 2008

В VB6 код будет выглядеть примерно так

Public Function FillRandomCol() as Collection
    Dim C As Collection
    Dim I As Long
    Set C = New Collection
    Randomize Timer
    For I = 1 To 500000
        C.Add RandomChar
    Next I
    Set FillRandomCol = C
End Sub

Public Function Random(ByVal Number As Integer) As Integer
    Random = CLng(Rnd * 1000000) Mod Number + 1
End Function

Public Function RandomChar() As String
    Const AlphaNum = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    RandomChar = Mid$(AlphaNum, Random(36), 1)
End Function

Занимает 1/2 секунды на 2-ядерном компьютере Intel 2,40 ГГц.

0 голосов
/ 02 декабря 2008

Использование UUIDGen . По крайней мере, куски будут больше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...