Страница: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8
|
Вопрос: сортировка массива строк
|
Добавлено: 04.07.08 14:03
|
|
|
Ответы
|
Всего ответов: 109
|
|
Номер ответа: 21 Автор ответа: s12
Вопросов: 24 Ответов: 363
|
Профиль | | #21
|
Добавлено: 07.07.08 03:01
|
Не видел здесь ни слова про VB6
Ибо сказано в коране "Имеет глаза и не видит, имеет уши и не слышит", по-моему для .нет есть отдельный форум, или я что-то путаю?
Крыша по-моему поехала не у меня а у тебя, потому что ТЫ спросил про Array пользовательского типа, а я тебе объяснил как его сортировать, если твой аццкий моск отказывается воспринимать эту информацию ту лучше убей себя об стену потому что второй раз я это объяснять не буду.
Я не просил объяснять как работать с пользовательскими типами, я просил АЛГОРИТМ СОРТИРОВКИ МАССИВА ТИПА STRING
Употреблять в одном предложении слова "vb6" и "быстро" - первый шаг к импотенции, или ты начитался статей типа "О бедном бейсике замолвите слово"?
Гм.. это заувалирование признание "я не знаю vb6" или просто так, общественное мнение?
Ответить
|
Номер ответа: 22 Автор ответа: Artyom
Разработчик
Вопросов: 130 Ответов: 6602
|
Профиль | | #22
|
Добавлено: 07.07.08 03:37
|
Ибо сказано в коране "Имеет глаза и не видит, имеет уши и не слышит", по-моему для .нет есть отдельный форум, или я что-то путаю?
Я изначально привел код для .NET, ты не стал возражать что тебе он не подходит так как ты пишешь на VB6, из чего можно сделать вывод что ты писал на VB .NET, или просто стал дискутировать уже в этом контексте.
Я не просил объяснять как работать с пользовательскими типами, я просил АЛГОРИТМ СОРТИРОВКИ МАССИВА ТИПА STRING
Хорошо, может быть мне это приснилось но тогда объясни мне КТО написал ЭТО:
Хех, а если Array пользовательского типа? (как в моем случае, сортировка нужна по одному из элементов типа string)
Или мне причудилось слово ARRAY ПОЛЬЗОВАТЕЛЬСКОГО ТИПА???? Или может быть Ты марсианин????????? ЧТо-то я не замечал раньше на форуме представителей внеземных расс!!!!!!
Гм.. это заувалирование признание "я не знаю vb6" или просто так, общественное мнение?
Нет, это завуалированое признание "vb6 СОСЕТ в плане быстродействия и ничего с этим не поделаешь", являющееся общественным мнением.
Несогласный - отправляйся в бабруйск читать статьи на сайте ("О BASIC замолвите слово" не читай - это "заказуха", писать бенчмарки, на .NET их тут достаточно было написано.
кончел!!!
PS ..................
Ответить
|
Номер ответа: 25 Автор ответа: s12
Вопросов: 24 Ответов: 363
|
Профиль | | #25
|
Добавлено: 07.07.08 06:31
|
По какому делу? Путаница с языками, такое бывает, тут ничего не поделаешь. Про марсианина ты конечно загнул, как ты назовешь такую конструкцию:
Private Type MyType
sName as String
dDate as Date
lSize as Long
End Type
Dim aObj(2000) As MyType 'как назвать такой массив?
А это:
Нет, это завуалированое признание "vb6 СОСЕТ в плане быстродействия и ничего с этим не поделаешь", являющееся общественным мнением.
Полный бред, вскормленный фанатиками паскаля и дельфоф, во времена 4-5 бейсиков, тогда действительно так и было. Бенчмарки я бы с радостью написал, но знаком с .НЕТ довольно поверхносно (в смысле изучал, но серьезных проектов не писал), а код написанный в vb7-9 аналогично vb6 в 70% случаев выполняется медленнее.
Ответить
|
Номер ответа: 27 Автор ответа: Artyom
Разработчик
Вопросов: 130 Ответов: 6602
|
Профиль | | #27
|
Добавлено: 07.07.08 16:31
|
Private Type MyType
sName as String
dDate as Date
lSize as Long
End Type
Dim aObj(2000) As MyType 'как назвать такой массив?
Это другое дело, я с VB6 не работаю и встроенных простых средств для сортировки подобнго там насколько я помню нет.
Полный бред, вскормленный фанатиками паскаля и дельфоф, во времена 4-5 бейсиков, тогда действительно так и было.
В прошлом фанатик VB6, сейчас работаю с VB .NET. К сожалению это так и с этим ничего не поделаешь.
Кроме того еще ряд ограничений не позволяют выжать больше на современных компьютерах, оснащенных многоядерными процессорами.
Развитие языка остановилось 10 лет назад (не считая сервиспаки, но это скорее правки багов а не развитие)
Бенчмарки я бы с радостью написал, но знаком с .НЕТ довольно поверхносно (в смысле изучал, но серьезных проектов не писал),
От тебя требуется только код, написанный на VB6
а код написанный в vb7-9 аналогично vb6 в 70% случаев выполняется медленнее.
Серьезно?
Код написанный в VB6 аналогично VB7-9 в 100% случаев выдает ошибку компиляции - шутка ли?
Ответить
|
Номер ответа: 28 Автор ответа: Artyom
Разработчик
Вопросов: 130 Ответов: 6602
|
Профиль | | #28
|
Добавлено: 07.07.08 16:51
|
Dim iTest As Long, i As Long
Dim mMax As Single, mMin As Single
Dim tArr(1000000) As Single
Randomize Timer
[b]iTest = timeGetTime [/b] mMax = 12000000000.45
mMin = -24000000.098
lLen = Len(tArr(0))
For i = 0 To 1000000
tArr(i) = ((Rnd * mMax) - mMin)
Next
MsgBox timeGetTime - iTest
Что это за прикол? Почему не учитывается время не выделение памяти? Или считаешь что оно равно 0?
Вот мой код:
For j = 0 To 10
Dim start = DateTime.Now
Dim MyArr(CInt(1 * 10 ^ j - 1)) As Single
Dim Random As New Random
Dim Max As Single = 12000000000.45
Dim Min As Single = -24000000.098
For i = 0 To MyArr.Length - 1
MyArr(i) = (Random.Next * Max) - Min
Next
Console.WriteLine("{0} элементов: {1} сек", MyArr.Length, Now.Subtract(start))
Next
Console.ReadLine()
Результаты работы:
1 элементов: 00:00:00.0010000 сек
10 элементов: 00:00:00 сек
100 элементов: 00:00:00 сек
1000 элементов: 00:00:00 сек
10000 элементов: 00:00:00 сек
100000 элементов: 00:00:00.0020000 сек
[b]1000000 элементов: 00:00:00.0270000 сек[/b]
10000000 элементов: 00:00:00.2580000 сек
100000000 элементов: 00:00:02.6150000 сек
Дальше не идет - вылетает System.OutOfMemoryException
Если мосмотреть последние 4 теста, видно практически линейное увеличение скорости.
Те 1000000 которые прогонял ты у меня выполняются 0.027 секнд.
Можешь проверить на скоем компьютере, у меня лично VB6 нет, жду пока мне скомпилируют и пришлют программу.
Даже не использую дополнительную оптимизацию в vb6 выйгрыш получается около 100 мс.
Выигрыш... Между чем и чем?
100 мс - что это? На каком времени выигрыш?
Выигрыш 100мс при общем времени 200 мс - это круто, выигрыш 100 мс при общем времени 5 мин - это трата денег работодателя (он бы больше выиграл если бы заплатил не 50 баксов за эту "оптимизацию", а установив процессор, дороже на 50 баксов.
Ответить
|
Страница: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8
Поиск по форуму