Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

 

  Вопрос: Разгоняем CHR : Почти в 2 раза! Добавлено: 08.05.05 22:08  

Автор вопроса:  Morpheus | Web-сайт: xury.zx6.ru

Ответить

  Ответы Всего ответов: 125  

Номер ответа: 31
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #31
Добавлено: 10.05.05 17:52
СПЕЦИАЛЬНО ОГОВАРИВАЮ: ЗАПУСКАЛ ИЗ IDE.
ОБА СПОСОБА ПОКАЗАЛИ ОДИНАКОВЫЙ РЕЗУЛЬТАТ 1,79 сек.

Я уже давно запускал и тестил оба способа. И знаешь, результат различный, ч.т.д.

1 - 1.65, 1.67
2. - 1.41, 1.40

Ты и теперь будешь отрицать? Может ты хотя бы в этот раз объяснишь, почему различный результат, не сбиваясь на оскорбления и доказательства своей кртутизны?

Знаешь приятель, ты не удосужился даже проверить свои слова. Это называется пустозвонство.
Какие ещё можешь придумать причины или условия для оправдания своей некомпетентности?
Жду следующих нападок :)

Знаешь чем я отличаюсь от тебя? Тем что могу признать свои ошибки. Ты же не можешь найти в себе силы сделать этого.
Слабак :)

После вышесказанного - это более чем глупо и наивно, прежде чем оскорблять 100% должен быть уверен в своей правоте, ты же уверен-лишь в себе, да и то на половину.

Об этой его слабости всем известно. Ты не открыл америку :).

2CyRax, думаю эта слабость присуща скорее тебе, сколько раз уже было... Хотя со стороны видно куда лучше, но все-же в мнении хулигана у мня имеются некоторые сомнения.

Ответить

Номер ответа: 32
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #32
Добавлено: 10.05.05 18:11
Конечно в его мнении у тебя имеются сомнения ;) Ещё бы. А со стороны это похоже на то что ты залил свои глаза свинцом и на все попытки продрать их из вне просто подливаешь ещё свинца.

думаю эта слабость присуща скорее тебе

 Да нет же, открой глаза наконец и обрати на это внимание. Это твоя слабость. :)

Ответить

Номер ответа: 33
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #33 Добавлено: 10.05.05 18:19
Результат одинаков. Понимаешь, не только у тебя есть IDE, другие тоже могут набрать этот код и посмотреть :)

Сделай, как предложил CyRax: получи AddressOf процедуры с циклом, скопируй её куда-нибудь в массив байт и посмотри этот массивчик два раза: один раз для процедуры с указанием переменной, другой раз без указания :)
Оскорблять тебя мне нет необходимости, это ты предложил такой стиль общения, с фразами типа "помолчи если не знаешь", "смотри обожжешься" и т.д. Я только принял твой стиль общения, так что нечего теперь плакаться. Если ты не против этого, мне тоже не составит труда помочь тебе выставиться в неприглядном свете, разве я против :)

Ответить

Номер ответа: 34
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #34
Добавлено: 10.05.05 18:22
Вот это прикол :) Решил и я протестить код, который написал HOOLIGAN и получил результаты:

Next Счётчик

Тест1 - 4.36 сек
Тест2 - 4.23 сек



Next (без счётчика)
Тест1 - 5,46
Тест2 - 5.62


Т.е. как видите код без счётчика работает медленней аж на секунду.
Но и это ещё не всё. Поменял я код местами в cmd1 и cmd2 и что вы думаете? Ага, теперь без счётчика на секунду быстрее. Короче нормального теста не получится, необходим дамп кода из памяти.

Ответить

Номер ответа: 35
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #35
Добавлено: 10.05.05 18:27
Получается что скорость кода зависит от того из какой процедуры он вызывается (cmd1_Click или cmd2_Click). Причём не важно какую кнопку ты нажмёшь первой, всё равно код в cmd1_Click быстрее.
 Добавлю ещё что проект не сохранён на винте (и форма тоже). Это авторан, который создаёт VB при запуске

Ответить

Номер ответа: 36
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #36
Добавлено: 10.05.05 18:36
Мдааа.... с этим VB блин не соскучишься. может как предлагалось просомотреть асм код для обоих циклов?? как по мне так они одинаковыми должны быть и от указания счётчика (или неуказания) может зависеть разве что скорость компиляции программы. ну сами подумайте: разве может цикл быть без счётчика??? Vb всё равно его добавит

Ответить

Номер ответа: 37
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #37 Добавлено: 10.05.05 19:04
Morpheus
Ты заметил самое основное:разве может цикл быть без счётчика??? Конечно нет. Пишешь ты эту переменную или нет - компилятор её вставит обязательно. И приведёт код к виду, как в случае если она указана. И получается одинаковый код, указал ты переменную или нет. И одинаковый код должен выполняться одинаково :)

Ответить

Номер ответа: 38
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #38
Добавлено: 10.05.05 19:50
Переписал код:

Private Sub Form_Load()
    Dim i As Long, t As Single, t1 As Single
    
    t = Timer
    For i = 0 To 100000000
    Next i

    t1 = Timer
    For i = 0 To 100000000
    Next
    
    t = Timer - t
    t1 = Timer - t1
    
    MsgBox t & " " & t1
End Sub


Вне зависимости от того какой цикл стоял первым такие результаты:

с указанием счетчика: 2,67
без указания счетчика: 1,28

Теперь раз у всех различные результаты, скинемся и приведем свою конфигурацию компа... Может Next без счетчика для поклонников AMD, а со счетчиками - Intel :) ?

У мня FSB 333, AMD 2600+, EPOX 8K3AP...

Ответить

Номер ответа: 39
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #39
Добавлено: 10.05.05 19:54
ЗЫ
Идея CyRax'a мало того что невыполнима, она просто невыполнима :))
Вспомним что в функции можно прямо во время отладки изменять код, т.е. интерпретирование кода идет некоторыми блоками а не сразу полностью.

Если ты не против этого, мне тоже не составит труда помочь тебе выставиться в неприглядном свете, разве я против :)

Пока-что я только вижу оскорбления, причем я стараюсь не отвечать на подобные выпады.

Ответить

Номер ответа: 40
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #40
Добавлено: 10.05.05 20:18
Ты заметил самое основное:разве может цикл быть без счётчика??? Конечно нет. Пишешь ты эту переменную или нет - компилятор её вставит обязательно.

Какой компилятор!? Мы сейчас говорим о том насколько быстро код выполняется в IDE. Ведь для парсера счетчик это лишняя работа, это "аргумент".

Ответить

Номер ответа: 41
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #41 Добавлено: 10.05.05 21:51
Представим, что некий парсер осуществляет выполнение цикла.
Парсер на что опирается, когда принимает решение, закончен цикл или нет ? Подумал об этом? Подумай.
Даже напишешь Next - в любом случае счетчик уже есть. Ещё до того, как появился Next уже было оговорено участие в цикле переменной i: For i=. Напишешь Next i или просто Next - переменная i уже существует, независимо от твоего желания. Никакой экономии для парсера нет.
Этот аргумент не может быть лишним, т.к. без него конструкция For i превращается в ничто.

Неужели такие простые и прозрачные вещи недоступны твоему пониманию?

Ай-яй-яй... Стыдно должно быть :)

Ответить

Номер ответа: 42
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #42
Добавлено: 10.05.05 22:50
А всё таки интерестно, почему в IDE результаты такие разные, а в компилированном виде очень похожи :-/

Ответить

Номер ответа: 43
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #43
Добавлено: 10.05.05 22:50
Оператор называется FOR, а не FOR i. В правильно построенной программе вместо i ты не можешь написать ничего другого, таким образом, i - это лишний аргумент, который еще надо проверять, и если он неправильный, показать еррор.

Ответить

Номер ответа: 44
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #44 Добавлено: 10.05.05 23:11
Sharp
Никто не называет FOR i оператором. Читай внимательно. Слово оператор вообще не упоминалось:) Что за измышлизмы такие???

По поводу i: Тебе должно быть известно, что i в коде не содержится. Есть регистр отведенный под счётчик (либо ячейка памяти). i - всего лишь условное понятие. Поэтому если мы уйдём от пугания заумными фразами, то обнаружим, что есть выделенный специально для подсчёта количества прохождений регистр. И без этого никуда. Нравится или нет. Независимо от того, пишем Next i или Next (оставляя на vb дописать недописанное)

Ответить

Номер ответа: 45
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #45
Добавлено: 11.05.05 00:32
И тем-ни менее, работает в IDE код со счетчиком медленней, имхо, потой причине что каждый раз при проходе цикла, считывается оператор а счетчик считается за параметр!

Ответить

Страница: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам