Results 1 to 40 of 1295

Thread: Getting the ball rolling. Which VB6 projects are you working on?

Hybrid View

  1. #1
    The Idiot
    Join Date
    Dec 2014
    Posts
    3,002

    Re: Getting the ball rolling. Which VB6 projects are you working on?

    I didn't clock it. so I don't know if theres any speed improvements.
    since its in a loop it will be called 60-144+ (or whatever monitor hz u got) every second, every microseconds counts. at least for old computers.

    I don't think I would use On x Goto in TB, but VB6 is old and I believe it helps a bit. select case do comparison operations while on x goto is jump to index. so its faster. less overheads.
    I don't think it will matter much. but I enjoyed updated it because its a new feature for me.

  2. #2
    PowerPoster
    Join Date
    Aug 2010
    Location
    Canada
    Posts
    2,893

    Re: Getting the ball rolling. Which VB6 projects are you working on?

    Quote Originally Posted by baka View Post
    I didn't clock it. so I don't know if theres any speed improvements.
    since its in a loop it will be called 60-144+ (or whatever monitor hz u got) every second, every microseconds counts. at least for old computers.

    I don't think I would use On x Goto in TB, but VB6 is old and I believe it helps a bit. select case do comparison operations while on x goto is jump to index. so its faster. less overheads.
    I don't think it will matter much. but I enjoyed updated it because its a new feature for me.
    Thanks, I'll give it a try if I get bored this weekend. If I get around to it, I'll time it and post the results.

  3. #3
    PowerPoster
    Join Date
    Aug 2010
    Location
    Canada
    Posts
    2,893

    Re: Getting the ball rolling. Which VB6 projects are you working on?

    Quote Originally Posted by jpbro View Post
    Thanks, I'll give it a try if I get bored this weekend. If I get around to it, I'll time it and post the results.
    Wow, unless I've done something stupid, I get >10x improvement using a On X Goto/JumpTable approach vs. Select Case

    Code:
    Sub Test(Optional PrintToForm As Form)
       Const c_MaxTestLoops = 100000
    
       Dim ii As Long
       Dim jj As Long
    
       Dim s As Currency
       Dim y() As Currency
    
       Randomize
    
       ReDim y(200)
       For ii = 0 To 200
          y(ii) = Int(Rnd * 201)
       Next
    
       New_c.Timing True
    
       For jj = 1 To c_MaxTestLoops
          For ii = LBound(y) To UBound(y)
             Select Case y(ii)
             Case 0
                s = s + y(ii)
             Case 1
                s = s + y(ii)
             Case 2
                s = s + y(ii)
             Case 3
                s = s + y(ii)
             Case 4
                s = s + y(ii)
             Case 5
                s = s + y(ii)
             Case 6
                s = s + y(ii)
             Case 7
                s = s + y(ii)
             Case 8
                s = s + y(ii)
             Case 9
                s = s + y(ii)
             Case 10
                s = s + y(ii)
             Case 11
                s = s + y(ii)
             Case 12
                s = s + y(ii)
             Case 13
                s = s + y(ii)
             Case 14
                s = s + y(ii)
             Case 15
                s = s + y(ii)
             Case 16
                s = s + y(ii)
             Case 17
                s = s + y(ii)
             Case 18
                s = s + y(ii)
             Case 19
                s = s + y(ii)
             Case 20
                s = s + y(ii)
             Case 21
                s = s + y(ii)
             Case 22
                s = s + y(ii)
             Case 23
                s = s + y(ii)
             Case 24
                s = s + y(ii)
             Case 25
                s = s + y(ii)
             Case 26
                s = s + y(ii)
             Case 27
                s = s + y(ii)
             Case 28
                s = s + y(ii)
             Case 29
                s = s + y(ii)
             Case 30
                s = s + y(ii)
             Case 31
                s = s + y(ii)
             Case 32
                s = s + y(ii)
             Case 33
                s = s + y(ii)
             Case 34
                s = s + y(ii)
             Case 35
                s = s + y(ii)
             Case 36
                s = s + y(ii)
             Case 37
                s = s + y(ii)
             Case 38
                s = s + y(ii)
             Case 39
                s = s + y(ii)
             Case 40
                s = s + y(ii)
             Case 41
                s = s + y(ii)
             Case 42
                s = s + y(ii)
             Case 43
                s = s + y(ii)
             Case 44
                s = s + y(ii)
             Case 45
                s = s + y(ii)
             Case 46
                s = s + y(ii)
             Case 47
                s = s + y(ii)
             Case 48
                s = s + y(ii)
             Case 49
                s = s + y(ii)
             Case 50
                s = s + y(ii)
             Case 51
                s = s + y(ii)
             Case 52
                s = s + y(ii)
             Case 53
                s = s + y(ii)
             Case 54
                s = s + y(ii)
             Case 55
                s = s + y(ii)
             Case 56
                s = s + y(ii)
             Case 57
                s = s + y(ii)
             Case 58
                s = s + y(ii)
             Case 59
                s = s + y(ii)
             Case 60
                s = s + y(ii)
             Case 61
                s = s + y(ii)
             Case 62
                s = s + y(ii)
             Case 63
                s = s + y(ii)
             Case 64
                s = s + y(ii)
             Case 65
                s = s + y(ii)
             Case 66
                s = s + y(ii)
             Case 67
                s = s + y(ii)
             Case 68
                s = s + y(ii)
             Case 69
                s = s + y(ii)
             Case 70
                s = s + y(ii)
             Case 71
                s = s + y(ii)
             Case 72
                s = s + y(ii)
             Case 73
                s = s + y(ii)
             Case 74
                s = s + y(ii)
             Case 75
                s = s + y(ii)
             Case 76
                s = s + y(ii)
             Case 77
                s = s + y(ii)
             Case 78
                s = s + y(ii)
             Case 79
                s = s + y(ii)
             Case 80
                s = s + y(ii)
             Case 81
                s = s + y(ii)
             Case 82
                s = s + y(ii)
             Case 83
                s = s + y(ii)
             Case 84
                s = s + y(ii)
             Case 85
                s = s + y(ii)
             Case 86
                s = s + y(ii)
             Case 87
                s = s + y(ii)
             Case 88
                s = s + y(ii)
             Case 89
                s = s + y(ii)
             Case 90
                s = s + y(ii)
             Case 91
                s = s + y(ii)
             Case 92
                s = s + y(ii)
             Case 93
                s = s + y(ii)
             Case 94
                s = s + y(ii)
             Case 95
                s = s + y(ii)
             Case 96
                s = s + y(ii)
             Case 97
                s = s + y(ii)
             Case 98
                s = s + y(ii)
             Case 99
                s = s + y(ii)
             Case 100
                s = s + y(ii)
             Case 101
                s = s + y(ii)
             Case 102
                s = s + y(ii)
             Case 103
                s = s + y(ii)
             Case 104
                s = s + y(ii)
             Case 105
                s = s + y(ii)
             Case 106
                s = s + y(ii)
             Case 107
                s = s + y(ii)
             Case 108
                s = s + y(ii)
             Case 109
                s = s + y(ii)
             Case 110
                s = s + y(ii)
             Case 111
                s = s + y(ii)
             Case 112
                s = s + y(ii)
             Case 113
                s = s + y(ii)
             Case 114
                s = s + y(ii)
             Case 115
                s = s + y(ii)
             Case 116
                s = s + y(ii)
             Case 117
                s = s + y(ii)
             Case 118
                s = s + y(ii)
             Case 119
                s = s + y(ii)
             Case 120
                s = s + y(ii)
             Case 121
                s = s + y(ii)
             Case 122
                s = s + y(ii)
             Case 123
                s = s + y(ii)
             Case 124
                s = s + y(ii)
             Case 125
                s = s + y(ii)
             Case 126
                s = s + y(ii)
             Case 127
                s = s + y(ii)
             Case 128
                s = s + y(ii)
             Case 129
                s = s + y(ii)
             Case 130
                s = s + y(ii)
             Case 131
                s = s + y(ii)
             Case 132
                s = s + y(ii)
             Case 133
                s = s + y(ii)
             Case 134
                s = s + y(ii)
             Case 135
                s = s + y(ii)
             Case 136
                s = s + y(ii)
             Case 137
                s = s + y(ii)
             Case 138
                s = s + y(ii)
             Case 139
                s = s + y(ii)
             Case 140
                s = s + y(ii)
             Case 141
                s = s + y(ii)
             Case 142
                s = s + y(ii)
             Case 143
                s = s + y(ii)
             Case 144
                s = s + y(ii)
             Case 145
                s = s + y(ii)
             Case 146
                s = s + y(ii)
             Case 147
                s = s + y(ii)
             Case 148
                s = s + y(ii)
             Case 149
                s = s + y(ii)
             Case 150
                s = s + y(ii)
             Case 151
                s = s + y(ii)
             Case 152
                s = s + y(ii)
             Case 153
                s = s + y(ii)
             Case 154
                s = s + y(ii)
             Case 155
                s = s + y(ii)
             Case 156
                s = s + y(ii)
             Case 157
                s = s + y(ii)
             Case 158
                s = s + y(ii)
             Case 159
                s = s + y(ii)
             Case 160
                s = s + y(ii)
             Case 161
                s = s + y(ii)
             Case 162
                s = s + y(ii)
             Case 163
                s = s + y(ii)
             Case 164
                s = s + y(ii)
             Case 165
                s = s + y(ii)
             Case 166
                s = s + y(ii)
             Case 167
                s = s + y(ii)
             Case 168
                s = s + y(ii)
             Case 169
                s = s + y(ii)
             Case 170
                s = s + y(ii)
             Case 171
                s = s + y(ii)
             Case 172
                s = s + y(ii)
             Case 173
                s = s + y(ii)
             Case 174
                s = s + y(ii)
             Case 175
                s = s + y(ii)
             Case 176
                s = s + y(ii)
             Case 177
                s = s + y(ii)
             Case 178
                s = s + y(ii)
             Case 179
                s = s + y(ii)
             Case 180
                s = s + y(ii)
             Case 181
                s = s + y(ii)
             Case 182
                s = s + y(ii)
             Case 183
                s = s + y(ii)
             Case 184
                s = s + y(ii)
             Case 185
                s = s + y(ii)
             Case 186
                s = s + y(ii)
             Case 187
                s = s + y(ii)
             Case 188
                s = s + y(ii)
             Case 189
                s = s + y(ii)
             Case 190
                s = s + y(ii)
             Case 191
                s = s + y(ii)
             Case 192
                s = s + y(ii)
             Case 193
                s = s + y(ii)
             Case 194
                s = s + y(ii)
             Case 195
                s = s + y(ii)
             Case 196
                s = s + y(ii)
             Case 197
                s = s + y(ii)
             Case 198
                s = s + y(ii)
             Case 199
                s = s + y(ii)
             Case 200
                s = s + y(ii)
             End Select
          Next
       Next
    
       If PrintToForm Is Nothing Then
          Debug.Print "S: " & s
          Debug.Print "Select..Case Timing: " & New_c.Timing
       Else
          PrintToForm.Print "S: " & s
          PrintToForm.Print "Select..Case Timing: " & New_c.Timing
       End If
    
       s = 0
       New_c.Timing True
    
       For jj = 1 To c_MaxTestLoops
          For ii = LBound(y) To UBound(y)
             On y(ii) GoTo lbl0, lbl1, lbl2, lbl3, lbl4, lbl5, lbl6, lbl7, lbl8, lbl9, lbl10, _
                lbl11, lbl12, lbl13, lbl14, lbl15, lbl16, lbl17, lbl18, lbl19, lbl20, _
                lbl21, lbl22, lbl23, lbl24, lbl25, lbl26, lbl27, lbl28, lbl29, lbl30, _
                lbl31, lbl32, lbl33, lbl34, lbl35, lbl36, lbl37, lbl38, lbl39, lbl40, _
                lbl41, lbl42, lbl43, lbl44, lbl45, lbl46, lbl47, lbl48, lbl49, lbl50, _
                lbl51, lbl52, lbl53, lbl54, lbl55, lbl56, lbl57, lbl58, lbl59, lbl60, _
                lbl61, lbl62, lbl63, lbl64, lbl65, lbl66, lbl67, lbl68, lbl69, lbl70, _
                lbl71, lbl72, lbl73, lbl74, lbl75, lbl76, lbl77, lbl78, lbl79, lbl80, _
                lbl81, lbl82, lbl83, lbl84, lbl85, lbl86, lbl87, lbl88, lbl89, lbl90, _
                lbl91, lbl92, lbl93, lbl94, lbl95, lbl96, lbl97, lbl98, lbl99, lbl100, _
                lbl101, lbl102, lbl103, lbl104, lbl105, lbl106, lbl107, lbl108, lbl109, lbl110, _
                lbl111, lbl112, lbl113, lbl114, lbl115, lbl116, lbl117, lbl118, lbl119, lbl120, _
                lbl121, lbl122, lbl123, lbl124, lbl125, lbl126, lbl127, lbl128, lbl129, lbl130, _
                lbl131, lbl132, lbl133, lbl134, lbl135, lbl136, lbl137, lbl138, lbl139, lbl140, _
                lbl141, lbl142, lbl143, lbl144, lbl145, lbl146, lbl147, lbl148, lbl149, lbl150, _
                lbl151, lbl152, lbl153, lbl154, lbl155, lbl156, lbl157, lbl158, lbl159, lbl160, _
                lbl161, lbl162, lbl163, lbl164, lbl165, lbl166, lbl167, lbl168, lbl169, lbl170, _
                lbl171, lbl172, lbl173, lbl174, lbl175, lbl176, lbl177, lbl178, lbl179, lbl180, _
                lbl181, lbl182, lbl183, lbl184, lbl185, lbl186, lbl187, lbl188, lbl189, lbl190, _
                lbl191, lbl192, lbl193, lbl194, lbl195, lbl196, lbl197, lbl198, lbl199, lbl200
    
    lbl0:          s = s + y(ii): GoTo Done
    lbl1:          s = s + y(ii): GoTo Done
    lbl2:          s = s + y(ii): GoTo Done
    lbl3:          s = s + y(ii): GoTo Done
    lbl4:          s = s + y(ii): GoTo Done
    lbl5:          s = s + y(ii): GoTo Done
    lbl6:          s = s + y(ii): GoTo Done
    lbl7:          s = s + y(ii): GoTo Done
    lbl8:          s = s + y(ii): GoTo Done
    lbl9:          s = s + y(ii): GoTo Done
    lbl10:          s = s + y(ii): GoTo Done
    lbl11:          s = s + y(ii): GoTo Done
    lbl12:          s = s + y(ii): GoTo Done
    lbl13:          s = s + y(ii): GoTo Done
    lbl14:          s = s + y(ii): GoTo Done
    lbl15:          s = s + y(ii): GoTo Done
    lbl16:          s = s + y(ii): GoTo Done
    lbl17:          s = s + y(ii): GoTo Done
    lbl18:          s = s + y(ii): GoTo Done
    lbl19:          s = s + y(ii): GoTo Done
    lbl20:          s = s + y(ii): GoTo Done
    lbl21:          s = s + y(ii): GoTo Done
    lbl22:          s = s + y(ii): GoTo Done
    lbl23:          s = s + y(ii): GoTo Done
    lbl24:          s = s + y(ii): GoTo Done
    lbl25:          s = s + y(ii): GoTo Done
    lbl26:          s = s + y(ii): GoTo Done
    lbl27:          s = s + y(ii): GoTo Done
    lbl28:          s = s + y(ii): GoTo Done
    lbl29:          s = s + y(ii): GoTo Done
    lbl30:          s = s + y(ii): GoTo Done
    lbl31:          s = s + y(ii): GoTo Done
    lbl32:          s = s + y(ii): GoTo Done
    lbl33:          s = s + y(ii): GoTo Done
    lbl34:          s = s + y(ii): GoTo Done
    lbl35:          s = s + y(ii): GoTo Done
    lbl36:          s = s + y(ii): GoTo Done
    lbl37:          s = s + y(ii): GoTo Done
    lbl38:          s = s + y(ii): GoTo Done
    lbl39:          s = s + y(ii): GoTo Done
    lbl40:          s = s + y(ii): GoTo Done
    lbl41:          s = s + y(ii): GoTo Done
    lbl42:          s = s + y(ii): GoTo Done
    lbl43:          s = s + y(ii): GoTo Done
    lbl44:          s = s + y(ii): GoTo Done
    lbl45:          s = s + y(ii): GoTo Done
    lbl46:          s = s + y(ii): GoTo Done
    lbl47:          s = s + y(ii): GoTo Done
    lbl48:          s = s + y(ii): GoTo Done
    lbl49:          s = s + y(ii): GoTo Done
    lbl50:          s = s + y(ii): GoTo Done
    lbl51:          s = s + y(ii): GoTo Done
    lbl52:          s = s + y(ii): GoTo Done
    lbl53:          s = s + y(ii): GoTo Done
    lbl54:          s = s + y(ii): GoTo Done
    lbl55:          s = s + y(ii): GoTo Done
    lbl56:          s = s + y(ii): GoTo Done
    lbl57:          s = s + y(ii): GoTo Done
    lbl58:          s = s + y(ii): GoTo Done
    lbl59:          s = s + y(ii): GoTo Done
    lbl60:          s = s + y(ii): GoTo Done
    lbl61:          s = s + y(ii): GoTo Done
    lbl62:          s = s + y(ii): GoTo Done
    lbl63:          s = s + y(ii): GoTo Done
    lbl64:          s = s + y(ii): GoTo Done
    lbl65:          s = s + y(ii): GoTo Done
    lbl66:          s = s + y(ii): GoTo Done
    lbl67:          s = s + y(ii): GoTo Done
    lbl68:          s = s + y(ii): GoTo Done
    lbl69:          s = s + y(ii): GoTo Done
    lbl70:          s = s + y(ii): GoTo Done
    lbl71:          s = s + y(ii): GoTo Done
    lbl72:          s = s + y(ii): GoTo Done
    lbl73:          s = s + y(ii): GoTo Done
    lbl74:          s = s + y(ii): GoTo Done
    lbl75:          s = s + y(ii): GoTo Done
    lbl76:          s = s + y(ii): GoTo Done
    lbl77:          s = s + y(ii): GoTo Done
    lbl78:          s = s + y(ii): GoTo Done
    lbl79:          s = s + y(ii): GoTo Done
    lbl80:          s = s + y(ii): GoTo Done
    lbl81:          s = s + y(ii): GoTo Done
    lbl82:          s = s + y(ii): GoTo Done
    lbl83:          s = s + y(ii): GoTo Done
    lbl84:          s = s + y(ii): GoTo Done
    lbl85:          s = s + y(ii): GoTo Done
    lbl86:          s = s + y(ii): GoTo Done
    lbl87:          s = s + y(ii): GoTo Done
    lbl88:          s = s + y(ii): GoTo Done
    lbl89:          s = s + y(ii): GoTo Done
    lbl90:          s = s + y(ii): GoTo Done
    lbl91:          s = s + y(ii): GoTo Done
    lbl92:          s = s + y(ii): GoTo Done
    lbl93:          s = s + y(ii): GoTo Done
    lbl94:          s = s + y(ii): GoTo Done
    lbl95:          s = s + y(ii): GoTo Done
    lbl96:          s = s + y(ii): GoTo Done
    lbl97:          s = s + y(ii): GoTo Done
    lbl98:          s = s + y(ii): GoTo Done
    lbl99:          s = s + y(ii): GoTo Done
    lbl100:          s = s + y(ii): GoTo Done
    lbl101:          s = s + y(ii): GoTo Done
    lbl102:          s = s + y(ii): GoTo Done
    lbl103:          s = s + y(ii): GoTo Done
    lbl104:          s = s + y(ii): GoTo Done
    lbl105:          s = s + y(ii): GoTo Done
    lbl106:          s = s + y(ii): GoTo Done
    lbl107:          s = s + y(ii): GoTo Done
    lbl108:          s = s + y(ii): GoTo Done
    lbl109:          s = s + y(ii): GoTo Done
    lbl110:          s = s + y(ii): GoTo Done
    lbl111:          s = s + y(ii): GoTo Done
    lbl112:          s = s + y(ii): GoTo Done
    lbl113:          s = s + y(ii): GoTo Done
    lbl114:          s = s + y(ii): GoTo Done
    lbl115:          s = s + y(ii): GoTo Done
    lbl116:          s = s + y(ii): GoTo Done
    lbl117:          s = s + y(ii): GoTo Done
    lbl118:          s = s + y(ii): GoTo Done
    lbl119:          s = s + y(ii): GoTo Done
    lbl120:          s = s + y(ii): GoTo Done
    lbl121:          s = s + y(ii): GoTo Done
    lbl122:          s = s + y(ii): GoTo Done
    lbl123:          s = s + y(ii): GoTo Done
    lbl124:          s = s + y(ii): GoTo Done
    lbl125:          s = s + y(ii): GoTo Done
    lbl126:          s = s + y(ii): GoTo Done
    lbl127:          s = s + y(ii): GoTo Done
    lbl128:          s = s + y(ii): GoTo Done
    lbl129:          s = s + y(ii): GoTo Done
    lbl130:          s = s + y(ii): GoTo Done
    lbl131:          s = s + y(ii): GoTo Done
    lbl132:          s = s + y(ii): GoTo Done
    lbl133:          s = s + y(ii): GoTo Done
    lbl134:          s = s + y(ii): GoTo Done
    lbl135:          s = s + y(ii): GoTo Done
    lbl136:          s = s + y(ii): GoTo Done
    lbl137:          s = s + y(ii): GoTo Done
    lbl138:          s = s + y(ii): GoTo Done
    lbl139:          s = s + y(ii): GoTo Done
    lbl140:          s = s + y(ii): GoTo Done
    lbl141:          s = s + y(ii): GoTo Done
    lbl142:          s = s + y(ii): GoTo Done
    lbl143:          s = s + y(ii): GoTo Done
    lbl144:          s = s + y(ii): GoTo Done
    lbl145:          s = s + y(ii): GoTo Done
    lbl146:          s = s + y(ii): GoTo Done
    lbl147:          s = s + y(ii): GoTo Done
    lbl148:          s = s + y(ii): GoTo Done
    lbl149:          s = s + y(ii): GoTo Done
    lbl150:          s = s + y(ii): GoTo Done
    lbl151:          s = s + y(ii): GoTo Done
    lbl152:          s = s + y(ii): GoTo Done
    lbl153:          s = s + y(ii): GoTo Done
    lbl154:          s = s + y(ii): GoTo Done
    lbl155:          s = s + y(ii): GoTo Done
    lbl156:          s = s + y(ii): GoTo Done
    lbl157:          s = s + y(ii): GoTo Done
    lbl158:          s = s + y(ii): GoTo Done
    lbl159:          s = s + y(ii): GoTo Done
    lbl160:          s = s + y(ii): GoTo Done
    lbl161:          s = s + y(ii): GoTo Done
    lbl162:          s = s + y(ii): GoTo Done
    lbl163:          s = s + y(ii): GoTo Done
    lbl164:          s = s + y(ii): GoTo Done
    lbl165:          s = s + y(ii): GoTo Done
    lbl166:          s = s + y(ii): GoTo Done
    lbl167:          s = s + y(ii): GoTo Done
    lbl168:          s = s + y(ii): GoTo Done
    lbl169:          s = s + y(ii): GoTo Done
    lbl170:          s = s + y(ii): GoTo Done
    lbl171:          s = s + y(ii): GoTo Done
    lbl172:          s = s + y(ii): GoTo Done
    lbl173:          s = s + y(ii): GoTo Done
    lbl174:          s = s + y(ii): GoTo Done
    lbl175:          s = s + y(ii): GoTo Done
    lbl176:          s = s + y(ii): GoTo Done
    lbl177:          s = s + y(ii): GoTo Done
    lbl178:          s = s + y(ii): GoTo Done
    lbl179:          s = s + y(ii): GoTo Done
    lbl180:          s = s + y(ii): GoTo Done
    lbl181:          s = s + y(ii): GoTo Done
    lbl182:          s = s + y(ii): GoTo Done
    lbl183:          s = s + y(ii): GoTo Done
    lbl184:          s = s + y(ii): GoTo Done
    lbl185:          s = s + y(ii): GoTo Done
    lbl186:          s = s + y(ii): GoTo Done
    lbl187:          s = s + y(ii): GoTo Done
    lbl188:          s = s + y(ii): GoTo Done
    lbl189:          s = s + y(ii): GoTo Done
    lbl190:          s = s + y(ii): GoTo Done
    lbl191:          s = s + y(ii): GoTo Done
    lbl192:          s = s + y(ii): GoTo Done
    lbl193:          s = s + y(ii): GoTo Done
    lbl194:          s = s + y(ii): GoTo Done
    lbl195:          s = s + y(ii): GoTo Done
    lbl196:          s = s + y(ii): GoTo Done
    lbl197:          s = s + y(ii): GoTo Done
    lbl198:          s = s + y(ii): GoTo Done
    lbl199:          s = s + y(ii): GoTo Done
    lbl200:          s = s + y(ii): GoTo Done
    
    Done:
          Next
       Next
    
       If PrintToForm Is Nothing Then
          Debug.Print "S: " & s
          Debug.Print "Select..Case Timing: " & New_c.Timing
       Else
          PrintToForm.Print "S: " & s
          PrintToForm.Print "Select..Case Timing: " & New_c.Timing
       End If
    End Sub

  4. #4
    PowerPoster VanGoghGaming's Avatar
    Join Date
    Jan 2020
    Location
    Eve Online - Mining, Missions & Market Trading!
    Posts
    2,623

    Talking Re: Getting the ball rolling. Which VB6 projects are you working on?

    Quote Originally Posted by jpbro View Post
    Wow, unless I've done something stupid, I get >10x improvement using a On X Goto/JumpTable approach vs. Select Case
    Running in IDE is often misleading.

    Compiled code yields a rather underwhelming 1.8x performance boost in favor of the dreaded GoTo!

    Just for kicks, the same results can be obtained with GoSub/Return and line numbers instead of labels:

    Code:
        s = 0: StartTiming
        For jj = 1 To c_MaxTestLoops
           For ii = LBound(y) To UBound(y)
              On y(ii) GoSub 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, _
                 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, _
                 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, _
                 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, _
                 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, _
                 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, _
                 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, _
                 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, _
                 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, _
                 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200
           Next ii
        Next jj
        Print "S: " & s
        Print "GoTo Timing: " & Elapsed
        Exit Sub
    0          s = s + y(ii): Return
    1          s = s + y(ii): Return
    2          s = s + y(ii): Return
    3          s = s + y(ii): Return
    4          s = s + y(ii): Return
    5          s = s + y(ii): Return
    6          s = s + y(ii): Return
    7          s = s + y(ii): Return
    8          s = s + y(ii): Return
    9          s = s + y(ii): Return
    10          s = s + y(ii): Return
    11          s = s + y(ii): Return
    12          s = s + y(ii): Return
    13          s = s + y(ii): Return
    14          s = s + y(ii): Return
    15          s = s + y(ii): Return
    16          s = s + y(ii): Return
    17          s = s + y(ii): Return
    18          s = s + y(ii): Return
    19          s = s + y(ii): Return
    20          s = s + y(ii): Return
    21          s = s + y(ii): Return
    22          s = s + y(ii): Return
    23          s = s + y(ii): Return
    24          s = s + y(ii): Return
    25          s = s + y(ii): Return
    26          s = s + y(ii): Return
    27          s = s + y(ii): Return
    28          s = s + y(ii): Return
    29          s = s + y(ii): Return
    30          s = s + y(ii): Return
    31          s = s + y(ii): Return
    32          s = s + y(ii): Return
    33          s = s + y(ii): Return
    34          s = s + y(ii): Return
    35          s = s + y(ii): Return
    36          s = s + y(ii): Return
    37          s = s + y(ii): Return
    38          s = s + y(ii): Return
    39          s = s + y(ii): Return
    40          s = s + y(ii): Return
    41          s = s + y(ii): Return
    42          s = s + y(ii): Return
    43          s = s + y(ii): Return
    44          s = s + y(ii): Return
    45          s = s + y(ii): Return
    46          s = s + y(ii): Return
    47          s = s + y(ii): Return
    48          s = s + y(ii): Return
    49          s = s + y(ii): Return
    50          s = s + y(ii): Return
    51          s = s + y(ii): Return
    52          s = s + y(ii): Return
    53          s = s + y(ii): Return
    54          s = s + y(ii): Return
    55          s = s + y(ii): Return
    56          s = s + y(ii): Return
    57          s = s + y(ii): Return
    58          s = s + y(ii): Return
    59          s = s + y(ii): Return
    60          s = s + y(ii): Return
    61          s = s + y(ii): Return
    62          s = s + y(ii): Return
    63          s = s + y(ii): Return
    64          s = s + y(ii): Return
    65          s = s + y(ii): Return
    66          s = s + y(ii): Return
    67          s = s + y(ii): Return
    68          s = s + y(ii): Return
    69          s = s + y(ii): Return
    70          s = s + y(ii): Return
    71          s = s + y(ii): Return
    72          s = s + y(ii): Return
    73          s = s + y(ii): Return
    74          s = s + y(ii): Return
    75          s = s + y(ii): Return
    76          s = s + y(ii): Return
    77          s = s + y(ii): Return
    78          s = s + y(ii): Return
    79          s = s + y(ii): Return
    80          s = s + y(ii): Return
    81          s = s + y(ii): Return
    82          s = s + y(ii): Return
    83          s = s + y(ii): Return
    84          s = s + y(ii): Return
    85          s = s + y(ii): Return
    86          s = s + y(ii): Return
    87          s = s + y(ii): Return
    88          s = s + y(ii): Return
    89          s = s + y(ii): Return
    90          s = s + y(ii): Return
    91          s = s + y(ii): Return
    92          s = s + y(ii): Return
    93          s = s + y(ii): Return
    94          s = s + y(ii): Return
    95          s = s + y(ii): Return
    96          s = s + y(ii): Return
    97          s = s + y(ii): Return
    98          s = s + y(ii): Return
    99          s = s + y(ii): Return
    100          s = s + y(ii): Return
    101          s = s + y(ii): Return
    102          s = s + y(ii): Return
    103          s = s + y(ii): Return
    104          s = s + y(ii): Return
    105          s = s + y(ii): Return
    106          s = s + y(ii): Return
    107          s = s + y(ii): Return
    108          s = s + y(ii): Return
    109          s = s + y(ii): Return
    110          s = s + y(ii): Return
    111          s = s + y(ii): Return
    112          s = s + y(ii): Return
    113          s = s + y(ii): Return
    114          s = s + y(ii): Return
    115          s = s + y(ii): Return
    116          s = s + y(ii): Return
    117          s = s + y(ii): Return
    118          s = s + y(ii): Return
    119          s = s + y(ii): Return
    120          s = s + y(ii): Return
    121          s = s + y(ii): Return
    122          s = s + y(ii): Return
    123          s = s + y(ii): Return
    124          s = s + y(ii): Return
    125          s = s + y(ii): Return
    126          s = s + y(ii): Return
    127          s = s + y(ii): Return
    128          s = s + y(ii): Return
    129          s = s + y(ii): Return
    130          s = s + y(ii): Return
    131          s = s + y(ii): Return
    132          s = s + y(ii): Return
    133          s = s + y(ii): Return
    134          s = s + y(ii): Return
    135          s = s + y(ii): Return
    136          s = s + y(ii): Return
    137          s = s + y(ii): Return
    138          s = s + y(ii): Return
    139          s = s + y(ii): Return
    140          s = s + y(ii): Return
    141          s = s + y(ii): Return
    142          s = s + y(ii): Return
    143          s = s + y(ii): Return
    144          s = s + y(ii): Return
    145          s = s + y(ii): Return
    146          s = s + y(ii): Return
    147          s = s + y(ii): Return
    148          s = s + y(ii): Return
    149          s = s + y(ii): Return
    150          s = s + y(ii): Return
    151          s = s + y(ii): Return
    152          s = s + y(ii): Return
    153          s = s + y(ii): Return
    154          s = s + y(ii): Return
    155          s = s + y(ii): Return
    156          s = s + y(ii): Return
    157          s = s + y(ii): Return
    158          s = s + y(ii): Return
    159          s = s + y(ii): Return
    160          s = s + y(ii): Return
    161          s = s + y(ii): Return
    162          s = s + y(ii): Return
    163          s = s + y(ii): Return
    164          s = s + y(ii): Return
    165          s = s + y(ii): Return
    166          s = s + y(ii): Return
    167          s = s + y(ii): Return
    168          s = s + y(ii): Return
    169          s = s + y(ii): Return
    170          s = s + y(ii): Return
    171          s = s + y(ii): Return
    172          s = s + y(ii): Return
    173          s = s + y(ii): Return
    174          s = s + y(ii): Return
    175          s = s + y(ii): Return
    176          s = s + y(ii): Return
    177          s = s + y(ii): Return
    178          s = s + y(ii): Return
    179          s = s + y(ii): Return
    180          s = s + y(ii): Return
    181          s = s + y(ii): Return
    182          s = s + y(ii): Return
    183          s = s + y(ii): Return
    184          s = s + y(ii): Return
    185          s = s + y(ii): Return
    186          s = s + y(ii): Return
    187          s = s + y(ii): Return
    188          s = s + y(ii): Return
    189          s = s + y(ii): Return
    190          s = s + y(ii): Return
    191          s = s + y(ii): Return
    192          s = s + y(ii): Return
    193          s = s + y(ii): Return
    194          s = s + y(ii): Return
    195          s = s + y(ii): Return
    196          s = s + y(ii): Return
    197          s = s + y(ii): Return
    198          s = s + y(ii): Return
    199          s = s + y(ii): Return
    200          s = s + y(ii): Return

  5. #5
    PowerPoster
    Join Date
    Aug 2010
    Location
    Canada
    Posts
    2,893

    Re: Getting the ball rolling. Which VB6 projects are you working on?

    Quote Originally Posted by VanGoghGaming View Post
    Running in IDE is often misleading.
    No doubt! Which is why I tried it compiled originally (and double-checked just now), and I'm seeing >10x:

    Name:  2025-05-23_21-10-11.jpg
Views: 1119
Size:  13.3 KB


    What numbers are you seeing compiled?

    (I'll try your code in a minute)

  6. #6
    Fanatic Member gaouser's Avatar
    Join Date
    Mar 2022
    Location
    Turkey, down the old sides of Fatih
    Posts
    607

    Re: Getting the ball rolling. Which VB6 projects are you working on?

    Quote Originally Posted by jpbro View Post
    No doubt! Which is why I tried it compiled originally (and double-checked just now), and I'm seeing >10x:

    Name:  2025-05-23_21-10-11.jpg
Views: 1119
Size:  13.3 KB


    What numbers are you seeing compiled?

    (I'll try your code in a minute)
    IDE runs only as P-Code. Compiled executables can be native(most of us prefer)

    got nuthin' to do but to make a new project, hype, then give up

    Check out all my cool stuff btw
    VB: EveryDiscord, a Discord client made fully in VB6 | MSPaint Modifier, a VB6-based MSPaint hooking engine, experimental | OpenIM, a fully VB6 instant messaging service based on TCP/IP connections | Kadooki (Overall the AltWWW project), the WWW re-imagined by me with continuations of HTML3.2's parts. | ClaFeed, A little feed algorithm I have been developing for a Twitter-style system. | CfmOS PC, my project CfmOS ported to VB6 in order to prototype faster, often lags on updates though!

    C: LegacyResource, a little ResHacker ripoff | CfmOS, A mobile OS designed to mimic AOSP (Stock Android) on an ESP32-S3, featuring a full bytecode architecture

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width