Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Юмор

Страница: 1 | 2 | 3 | 4 | 5 ..... 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |

 

  Вопрос: эээээ Добавлено: 12.04.05 18:57  

Автор вопроса:  Дмитрий Щапов

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

Номер ответа: 706
Автор ответа:
 Александр



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

ICQ: 204034 

Вопросов: 106
Ответов: 1919
 Профиль | | #706 Добавлено: 21.04.05 17:17
Павел, а вообще на счет fbe - продумай заодно возможность приостановки доставки этого всего. А то скоро лето и я не хочу, что бы мой ящик переполнился... ;)
Номер ответа: 707
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #707 Добавлено: 21.04.05 17:35
Кстати, мой кодировщик перекодировал Win32API.inc размером 1493370 байт за 361 мс.
А твой за сколько?


Такого файла у меня нет, взял обычый Win32API.txt, методом copy-paste довел его размер до твоих же 1,493,370.

Код выполняется 10 раз, после этого полученное значение делится на 2. Время, затраченное на чтение/запись не учитывается.

Кодирование занимает порядка 390-400 мс (код я запускал несколько раз).

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

Мой код (VB 2005):

        Dim mData() As Byte = System.Text.Encoding.GetEncoding(1251).GetBytes(My.Computer.FileSystem.ReadAllText("C:\win32api.txt", System.Text.Encoding.GetEncoding(1251)))
        Dim mStart As Date = Now
        Dim mresult As String = ""
        For i As Integer = 0 To 9
            mresult = Base8.ToBase8String(mData)
        Next i
        MessageBox.Show(Now.Subtract(mStart).ToString)
        My.Computer.FileSystem.WriteAllText("c:\win32api plus.txt", mResult, False)


   Public Shared Function ToBase8String(ByVal mBytes() As Byte) As String
        Dim SB As New System.Text.StringBuilder(CInt(mBytes.Length / 3 * 8))
        Dim i As Integer
        For i = 0 To mBytes.GetUpperBound(0) - 2 Step 3
            SB.Append(Chr(((mBytes(i) And 224) >> 5) + 49))
            SB.Append(Chr(((mBytes(i) And 28) >> 2) + 49))
            SB.Append(Chr(((mBytes(i) And 3) << 1) Or ((mBytes(i + 1) And 128) >> 7) + 49))
            SB.Append(Chr(((mBytes(i + 1) And 112) >> 4) + 49))
            SB.Append(Chr(((mBytes(i + 1) And 14) >> 1) + 49))
            SB.Append(Chr(((mBytes(i + 1) And 1) << 2) Or ((mBytes(i + 2) And 192) >> 6) + 49))
            SB.Append(Chr(((mBytes(i + 2) And 56) >> 3) + 49))
            SB.Append(Chr((mBytes(i + 2) And 7) + 49))
        Next

        If mBytes.Length Mod 3 > 0 Then
            SB.Append(Chr(((mBytes(i) And 224) >> 5) + 49))
            SB.Append(Chr(((mBytes(i) And 28) >> 2) + 49))
            If mBytes.Length Mod 3 = 1 Then
                SB.Append(Chr(((mBytes(i) And 3) << 1) + 49))
                SB.Append("==";)
            Else
                SB.Append(Chr(((mBytes(i) And 3) << 1) Or ((mBytes(i + 1) And 128) >> 7) + 49))
                SB.Append(Chr(((mBytes(i + 1) And 112) >> 4) + 49))
                SB.Append(Chr(((mBytes(i + 1) And 14) >> 1) + 49))
                SB.Append(Chr(((mBytes(i + 1) And 1) << 2) + 49))
                SB.Append("=";)
            End If
        End If

        Return SB.ToString
    End Function

    Public Shared Function FromBase8String(ByVal mBytes() As Byte) As String
        Dim SB As New System.Text.StringBuilder(CInt(mBytes.Length / 8 * 3))
        Dim i As Integer
        For i = 0 To mBytes.GetUpperBound(0) Step 8
            SB.Append(Chr((mBytes(i) - 49) * 32 + (mBytes(i + 1) - 49) * 4 + (mBytes(i + 2) - 49) \ 2))
            SB.Append(Chr(((mBytes(i + 2) - 49) Mod 2) * 128 + (mBytes(i + 3) - 49) * 16 + (mBytes(i + 4) - 49) * 2 + (mBytes(i + 5) - 49) \ 4))
            SB.Append(Chr(((mBytes(i + 5) - 49) Mod 4) * 64 + (mBytes(i + 6) - 49) * 8 + mBytes(i + 7) - 49))
        Next
        If mBytes.Length Mod 8 > 0 Then
            SB.Append(Chr((mBytes(i) - 49) * 32 + (mBytes(i + 1) - 49) * 4 + (mBytes(i + 2) - 49) \ 2))
            If mBytes(i + 3) <> Asc("=";) Then
                SB.Append(Chr(((mBytes(i + 2) - 49) Mod 2) * 128 + (mBytes(i + 3) - 49) * 16 + (mBytes(i + 4) - 49) * 2 + (mBytes(i + 5) - 49) \ 4))
                If mBytes(i + 6) <> Asc("=";) Then
                    SB.Append(Chr((mBytes(i + 5) - 49) Mod 4 * 64 + (mBytes(i + 6) - 49) * 8 + mBytes(i + 7) - 49))
                End If
            End If
        End If
        Return SB.ToString
    End Function

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



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

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #708
Добавлено: 21.04.05 18:08
Да, только у меня Целерон 475, а у тебя Атлон 2 гига :)
Номер ответа: 709
Автор ответа:
 CyRax



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

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #709
Добавлено: 21.04.05 18:11
А нет, сбрехал, это у меня дома. А на работе Pentium 3 500 MHz. Разница в принципе не большая.
Номер ответа: 710
Автор ответа:
 CyRax



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

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #710
Добавлено: 21.04.05 18:14
Короче скорость у тебя ниже на порядок получается а не в разы. Ну ладно, на то оно и ассемблер чтобы быстрым быть. Не каждый на таком написать сможет. VB.NET тоже в принципе скорость неплохую выдаёт. А на VB6 ты не пробовал тестить?
Номер ответа: 711
Автор ответа:
 CyRax



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

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #711
Добавлено: 21.04.05 18:16
Уважаемые, а кто заметил что форум изменился? :)
Павел услышал молитвы Артёма Л. :)
Номер ответа: 712
Автор ответа:
 CyRax



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

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #712
Добавлено: 21.04.05 18:23

Время, затраченное на чтение/запись не учитывается.

 Ну да, я его и не учитывал.


Код выполняется 10 раз, после этого полученное значение делится на 2

 А зачем на 2 то делишь? Чтоб быстрее было? ;)
Номер ответа: 713
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #713 Добавлено: 21.04.05 18:23
Короче скорость у тебя ниже на порядок получается а не в разы.

На порядок? Не совсем объективно.

Ты свою программу выложи, я у себя затестирую, для точности.
Номер ответа: 714
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #714 Добавлено: 21.04.05 18:25
Код выполняется 10 раз, после этого полученное значение делится на 2



 А зачем на 2 то делишь? Чтоб быстрее было? ;)


Нет, чтоб твоему коду фору дать :)
На самом деле просто опечатался.
Номер ответа: 715
Автор ответа:
 CyRax



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

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #715
Добавлено: 21.04.05 18:26

На порядок? Не совсем объективно.

 Ну может и не совсем точное определение. Точнее будет на поколение, т.к. программа выполняется почти с одинаковой скоростью на машинах 3-го и 4-го поколения.
Номер ответа: 716
Автор ответа:
 CyRax



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

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #716
Добавлено: 21.04.05 18:27

Нет, чтоб твоему коду фору дать :)
На самом деле просто опечатался.

 А может просто проговорился? ;)
Номер ответа: 717
Автор ответа:
 Дмитрий Щапов



Вопросов: 71
Ответов: 321
 Профиль | | #717 Добавлено: 21.04.05 20:04
to Artyom:
 Смотри здесь {page 3; #34}
Говорю ещёраз СПАСИБО ОГРОМНЕЙШЕЕ!!!! за пример.

Кстати твоей ссылки в мсдн у меня нет такой страницы. Так что не надо! Смотрел я. Может не то искал, но откуда мне знать как там в НЕТ сделано.
Номер ответа: 718
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #718
Добавлено: 21.04.05 20:11
А чё тема в разделе ЮМОР? тогда бы в офф-топ
Номер ответа: 719
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #719
Добавлено: 21.04.05 20:13
В продолжени темы про котов


Навеяло про историю кота, на которого упала крышка от унитаза.
Знакомая рассказала похожую историю.
У ее дальних родственников кот ходил в туалет, так- залезал в унитаз,
лапами выплескивал воду и делал свои дела прямо в дырку с водой.
И вот ак то раз у этой родни был какой-то сабантуй, и толи света не было
в туалете, то ли котяра слишком приник к унитазу, но влетевший в
туалетную комнату посетитель не заметил животной и взгромоздившись на
унитаз почувтвовал, что кто то мягко водит по его заду, в том числе
гроздям.
В общем процесс пошел у мужика быстро и частично мимо унитаза. Хорошо,
что кот не выпустил коготки.
Номер ответа: 720
Автор ответа:
  j3d1



ICQ: 8370005 

Вопросов: 34
Ответов: 466
 Профиль | | #720 Добавлено: 21.04.05 20:50

2j3d1

Кстати, не ты случайно написал игруху такую, Арканоид называется? Класная вещь! И если бы ещё непробиваемые камни убрать было бы вааще рулёз


 случайно я :)

Страница: 1 | 2 | 3 | 4 | 5 ..... 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |

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



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