- Speed test

From: Marco Ciot <"Marco>
Date: Fri, 3 Nov 2006 17:01:23 +0100

----boundary-LibPST-iamunique-2004024293_-_-
Content-type: text/plain

I had also tried some with the sample Rex had given:
Added a relation between len of array and outer loop count, keeping the
number of multiplications constant.
Variing the len parameter shows the effect of the cache.
The major bottle neck here I believe is the the memory access, anyway.

mc


        CONST len = 20000;

                VAR a, b: ARRAY len OF REAL;
                        i, j: INTEGER; sum: REAL;
                        t0: LONGINT;

        PROCEDURE Test1*;
                VAR i, j: INTEGER; sum: REAL;
        BEGIN
                t0 := Services.Ticks();
                sum:= 0;
                FOR j:= 1 TO 10000000 DIV len DO
                        FOR i:= 0 TO len - 1 DO
                                a[i]:= i-j;
                                b[i]:= i-j;
                        END;
                        FOR i:= 0 TO len - 1 DO
                                sum:= sum + (len - a[i]) * (len - b[i])
                        END;
                END;
                StdLog.Int((Services.Ticks() - t0));
                StdLog.Real(sum); StdLog.Ln;
        END Test1;

-----Original Message-----
From: blackbox{([at]})nowhere.xy
Skulski
Sent: Friday, November 03, 2006 16:22
To: BlackBox Mailing List
Subject: [BlackBox] - Speed test


Rex:

  could you please post the code for the unrolled loops?
I am not sure how you did it.

Also, can please someone add Matlab to the list of tested compilers?

W

On Fri, 3 Nov 2006, Marco Ciot wrote:

> Loop unrolling would certainly for the innermost loop of a cascaded loop
> including index multiplications.
>
> -----Original Message-----
> From: blackbox{([at]})nowhere.xy
> Couture
> Sent: Friday, November 03, 2006 06:46
> To: BlackBox Mailing List
> Subject: [BlackBox] - P.S. Re: [BlackBox] - Speed test
>
>
> Oops. Unrolling the loop manually was a quickly done
afterthought.
> The 6 s is a mistake, of course. Unrolling the loop in the BB program
> doesn't seem to have any effect. Maybe the compiler did it.
>
> Rex Couture
>
> --- BlackBox
> --- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy
>
> --- BlackBox
> --- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy
>
>

--- BlackBox
--- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy

--- BlackBox
--- send subject HELP or UNSUBSCRIBE to blackbox{([at]})nowhere.xy


----boundary-LibPST-iamunique-2004024293_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"

e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIEkgaGFkIGFsc28gdHJpZWQgc29tZSB3aXRoIHRo
ZSBzYW1wbGUgUmV4IGhhZCBnaXZlbjpccGFyDQpBZGRlZCBhIHJlbGF0aW9uIGJldHdlZW4gbGVu
IG9mIGFycmF5IGFuZCBvdXRlciBsb29wIGNvdW50LCBrZWVwaW5nIHRoZVxwYXINCm51bWJlciBv
ZiBtdWx0aXBsaWNhdGlvbnMgY29uc3RhbnQuXHBhcg0KVmFyaWluZyB0aGUgbGVuIHBhcmFtZXRl
ciBzaG93cyB0aGUgZWZmZWN0IG9mIHRoZSBjYWNoZS5ccGFyDQpUaGUgbWFqb3IgYm90dGxlIG5l
Y2sgaGVyZSBJIGJlbGlldmUgaXMgdGhlIHRoZSBtZW1vcnkgYWNjZXNzLCBhbnl3YXkuXHBhcg0K
XHBhcg0KbWNccGFyDQpccGFyDQpccGFyDQpcdGFiIENPTlNUIGxlbiA9IDIwMDAwO1xwYXINClxw
YXINClx0YWIgXHRhYiBWQVIgYSwgYjogQVJSQVkgbGVuIE9GIFJFQUw7XHBhcg0KXHRhYiBcdGFi
IFx0YWIgaSwgajogSU5URUdFUjsgIHN1bTogUkVBTDtccGFyDQpcdGFiIFx0YWIgXHRhYiB0MDog
TE9OR0lOVDtccGFyDQpccGFyDQpcdGFiIFBST0NFRFVSRSBUZXN0MSo7XHBhcg0KXHRhYiBcdGFi
IFZBUiBpLCBqOiBJTlRFR0VSOyAgc3VtOiBSRUFMO1xwYXINClx0YWIgQkVHSU5ccGFyDQpcdGFi
IFx0YWIgdDAgOj0gU2VydmljZXMuVGlja3MoKTtccGFyDQpcdGFiIFx0YWIgc3VtOj0gMDtccGFy
DQpcdGFiIFx0YWIgRk9SIGo6PSAxIFRPIDEwMDAwMDAwIERJViBsZW4gRE9ccGFyDQpcdGFiIFx0
YWIgXHRhYiBGT1IgaTo9IDAgVE8gbGVuIC0gMSBET1xwYXINClx0YWIgXHRhYiBcdGFiIFx0YWIg
YVtpXTo9IGktajtccGFyDQpcdGFiIFx0YWIgXHRhYiBcdGFiIGJbaV06PSBpLWo7XHBhcg0KXHRh
YiBcdGFiIFx0YWIgRU5EO1xwYXINClx0YWIgXHRhYiBcdGFiIEZPUiBpOj0gMCBUTyBsZW4gLSAx
IERPXHBhcg0KXHRhYiBcdGFiIFx0YWIgXHRhYiBzdW06PSBzdW0gKyAobGVuIC0gYVtpXSkgKiAo
bGVuIC0gYltpXSlccGFyDQpcdGFiIFx0YWIgXHRhYiBFTkQ7XHBhcg0KXHRhYiBcdGFiIEVORDtc
cGFyDQpcdGFiIFx0YWIgU3RkTG9nLkludCgoU2VydmljZXMuVGlja3MoKSAtIHQwKSk7XHBhcg0K
XHRhYiBcdGFiIFN0ZExvZy5SZWFsKHN1bSk7IFN0ZExvZy5MbjtccGFyDQpcdGFiIEVORCBUZXN0
MTtccGFyDQpccGFyDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLVxwYXINCkZyb206IGJsYWNr
Ym94QG9iZXJvbi5jaCBbbWFpbHRvOmJsYWNrYm94QG9iZXJvbi5jaF1PbiBCZWhhbGYgT2YgV29q
dGVrXHBhcg0KU2t1bHNraVxwYXINClNlbnQ6IEZyaWRheSwgTm92ZW1iZXIgMDMsIDIwMDYgMTY6
MjJccGFyDQpUbzogQmxhY2tCb3ggTWFpbGluZyBMaXN0XHBhcg0KU3ViamVjdDogW0JsYWNrQm94
XSAtIFNwZWVkIHRlc3RccGFyDQpccGFyDQpccGFyDQpSZXg6XHBhcg0KXHBhcg0KICBjb3VsZCB5
b3UgcGxlYXNlIHBvc3QgdGhlIGNvZGUgZm9yIHRoZSB1bnJvbGxlZCBsb29wcz9ccGFyDQpJIGFt
IG5vdCBzdXJlIGhvdyB5b3UgZGlkIGl0LlxwYXINClxwYXINCkFsc28sIGNhbiBwbGVhc2Ugc29t
ZW9uZSBhZGQgTWF0bGFiIHRvIHRoZSBsaXN0IG9mIHRlc3RlZCBjb21waWxlcnM/XHBhcg0KXHBh
cg0KV1xwYXINClxwYXINCk9uIEZyaSwgMyBOb3YgMjAwNiwgTWFyY28gQ2lvdCB3cm90ZTpccGFy
DQpccGFyDQo+IExvb3AgdW5yb2xsaW5nIHdvdWxkIGNlcnRhaW5seSBmb3IgdGhlIGlubmVybW9z
dCBsb29wIG9mIGEgY2FzY2FkZWQgbG9vcFxwYXINCj4gaW5jbHVkaW5nIGluZGV4IG11bHRpcGxp
Y2F0aW9ucy5ccGFyDQo+XHBhcg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLVxwYXINCj4g
RnJvbTogYmxhY2tib3hAb2Jlcm9uLmNoIFttYWlsdG86YmxhY2tib3hAb2Jlcm9uLmNoXU9uIEJl
aGFsZiBPZiBSZXhccGFyDQo+IENvdXR1cmVccGFyDQo+IFNlbnQ6IEZyaWRheSwgTm92ZW1iZXIg
MDMsIDIwMDYgMDY6NDZccGFyDQo+IFRvOiBCbGFja0JveCBNYWlsaW5nIExpc3RccGFyDQo+IFN1
YmplY3Q6IFtCbGFja0JveF0gLSBQLlMuIFJlOiBbQmxhY2tCb3hdIC0gU3BlZWQgdGVzdFxwYXIN
Cj5ccGFyDQo+XHBhcg0KPiAgICAgICAgIE9vcHMuICBVbnJvbGxpbmcgdGhlIGxvb3AgbWFudWFs
bHkgd2FzIGEgcXVpY2tseSBkb25lXHBhcg0KYWZ0ZXJ0aG91Z2h0LlxwYXINCj4gVGhlIDYgcyBp
cyBhIG1pc3Rha2UsIG9mIGNvdXJzZS4gIFVucm9sbGluZyB0aGUgbG9vcCBpbiB0aGUgQkIgcHJv
Z3JhbVxwYXINCj4gZG9lc24ndCBzZWVtIHRvIGhhdmUgYW55IGVmZmVjdC4gIE1heWJlIHRoZSBj
b21waWxlciBkaWQgaXQuXHBhcg0KPlxwYXINCj4gUmV4IENvdXR1cmVccGFyDQo+XHBhcg0KPiAt
LS0gQmxhY2tCb3hccGFyDQo+IC0tLSBzZW5kIHN1YmplY3QgSEVMUCBvciBVTlNVQlNDUklCRSB0
byBibGFja2JveEBvYmVyb24uY2hccGFyDQo+XHBhcg0KPiAtLS0gQmxhY2tCb3hccGFyDQo+IC0t
LSBzZW5kIHN1YmplY3QgSEVMUCBvciBVTlNVQlNDUklCRSB0byBibGFja2JveEBvYmVyb24uY2hc
cGFyDQo+XHBhcg0KPlxwYXINClxwYXINCi0tLSBCbGFja0JveFxwYXINCi0tLSBzZW5kIHN1Ympl
Y3QgSEVMUCBvciBVTlNVQlNDUklCRSB0byBibGFja2JveEBvYmVyb24uY2hccGFyDQpccGFyDQot
LS0gQmxhY2tCb3hccGFyDQotLS0gc2VuZCBzdWJqZWN0IEhFTFAgb3IgVU5TVUJTQ1JJQkUgdG8g
YmxhY2tib3hAb2Jlcm9uLmNoXHBhfX0AoAEALh1SHg==


----boundary-LibPST-iamunique-2004024293_-_---
Received on Fri Nov 03 2006 - 17:01:23 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:32:09 UTC