Re: CP vs C++

From: Bernhard Treutwein <"Bernhard>
Date: Sun, 1 Feb 2004 00:30:49 +0100

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

Strastwi Fyodor,

this sounds very interesting. Let me ask some curious questions:

How portable is your program?

How many BlackBox library modules are used?

Does it make sense to port it over to GardensPoint Component
Pascal and make some extending comparison between
"native" iapx86 (32bit) and "interpreted" or just in time
compiled Java byte code (on maybe different platforms)
and/or just in time compiled .NET code?

regards
--
    Bernhard Treutwein
    BdT (at) wildwein de (home)
    Bernhard Treutwein (at) verwaltung uni-muenchen de (work)
----- Original Message -----
From: "Fyodor Tkachov" <fyodor.tkachov{([at]})nowhere.xyTo: "Blackbox Mailing-List" <blackbox{([at]})nowhere.xySent: Wednesday, January 28, 2004 3:58 PM
Subject: CP vs C++
> Hi All!
>
> I'd like to share an interesting experience -- someone asked a while ago
about the cost of array boundary checks etc.
>
> A pretty complex algorithm was developed in Component Pascal for the needs
of physics at CERN (the so-called optimal jet finder). The algorithmic
experimentation required was significant, and I cannot imagine how it could
have been done within the time it took in Blackbox (4 focused weeks) with
any other language.
>
> The program is not very large, consists of 4 modules and contains a nice
mix of normal numerical stuff (arrays, sin's etc.), bit manipulation,
records, pointers and lists (the data structures remain static once
initialized -- this was possible and needed for the port), true object stuff
(so that "dynamic dispatch" had to be used in the C++ version).
> So it's quite representative -- on top of being fully real-life.
>
> Now, since CERN physicists use all possible kinds of hardware, the
algorithm was ported to Fortran 77 and recently to C++.
>
> The C++ version is a straightforward copy of the CP version.
> The tests were run on Win XP, and MS Visual C++ compiler was used.
>
> The C++ variant compiled as a "Debug" version was 3 times slower than
CP -- 9.x : 3.6 (sec).
> The C++ variant compiled as "Release" with full optimization clocked in at
3.5 sec.
> The time measurement fluctuations in all cases was 0.1.
>
> The compilation time in the last case was noticeable -- must be >10 times
more than for CP where it is barely noticeable.
>
> A CERN C++ guru insists that the resulting C++ code is not good, too many
friends and typedefs, etc. -- I am not sure as the CP version is neat and
nice, and the earlier Fortran version produced from the same CP original is
said to be very good by the same guru.
>
> So, make your conclusions.
> I have no numbers for Fortran yet.
>
> Cheers
> -------------------------
> Fyodor Tkachov
>
--------------------------------------------
To unsubscribe from this mailing list, send a message containing the word "unsubscribe" to:
   blackbox-request{([at]})nowhere.xyTo get a list of valid e-mail commands and instructions on their usage, send a message containing the word "help" to the above address.
Send any problem reports or questions related to this email list to the list owner at
   owner-blackbox{([at]})nowhere.xyCurrent posting policy:
a) To post you should use the same address by which you are subscribed to the mailing list. That way, the list server will recognize you as subscriber and forward your posting immediately, without creating any overhead.
b) If, for some reason, you cannot post from the address, by which you are subscribed, your message will be moderated to avoid spam. Please understand that moderation will often cause some delay, in particular over weekends or holydays.
----boundary-LibPST-iamunique-1664302169_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIFN0cmFzdHdpIEZ5b2RvcixccGFyDQpccGFyDQp0
aGlzIHNvdW5kcyB2ZXJ5IGludGVyZXN0aW5nLiBMZXQgbWUgYXNrIHNvbWUgY3VyaW91cyBxdWVz
dGlvbnM6XHBhcg0KXHBhcg0KSG93IHBvcnRhYmxlIGlzIHlvdXIgcHJvZ3JhbT9ccGFyDQpccGFy
DQpIb3cgbWFueSBCbGFja0JveCBsaWJyYXJ5IG1vZHVsZXMgYXJlIHVzZWQ/XHBhcg0KXHBhcg0K
RG9lcyBpdCBtYWtlIHNlbnNlIHRvIHBvcnQgaXQgb3ZlciB0byBHYXJkZW5zUG9pbnQgQ29tcG9u
ZW50XHBhcg0KUGFzY2FsIGFuZCBtYWtlIHNvbWUgZXh0ZW5kaW5nIGNvbXBhcmlzb24gYmV0d2Vl
blxwYXINCiJuYXRpdmUiIGlhcHg4NiAoMzJiaXQpIGFuZCAiaW50ZXJwcmV0ZWQiIG9yIGp1c3Qg
aW4gdGltZVxwYXINCmNvbXBpbGVkIEphdmEgYnl0ZSBjb2RlIChvbiBtYXliZSBkaWZmZXJlbnQg
cGxhdGZvcm1zKVxwYXINCmFuZC9vciBqdXN0IGluIHRpbWUgY29tcGlsZWQgLk5FVCBjb2RlP1xw
YXINClxwYXINCnJlZ2FyZHNccGFyDQotLVxwYXINCiAgICBCZXJuaGFyZCBUcmV1dHdlaW5ccGFy
DQogICAgQmRUIChhdCkgd2lsZHdlaW4gZGUgKGhvbWUpXHBhcg0KICAgIEJlcm5oYXJkIFRyZXV0
d2VpbiAoYXQpIHZlcndhbHR1bmcgdW5pLW11ZW5jaGVuIGRlICh3b3JrKVxwYXINClxwYXINCi0t
LS0tIE9yaWdpbmFsIE1lc3NhZ2UgLS0tLS1ccGFyDQpGcm9tOiAiRnlvZG9yIFRrYWNob3YiIDxm
eW9kb3IudGthY2hvdkBjZXJuLmNoPlxwYXINClRvOiAiQmxhY2tib3ggTWFpbGluZy1MaXN0IiA8
YmxhY2tib3hAb2Jlcm9uLmNoPlxwYXINClNlbnQ6IFdlZG5lc2RheSwgSmFudWFyeSAyOCwgMjAw
NCAzOjU4IFBNXHBhcg0KU3ViamVjdDogQ1AgdnMgQysrXHBhcg0KXHBhcg0KXHBhcg0KPiBIaSBB
bGwhXHBhcg0KPlxwYXINCj4gSSdkIGxpa2UgdG8gc2hhcmUgYW4gaW50ZXJlc3RpbmcgZXhwZXJp
ZW5jZSAtLSBzb21lb25lIGFza2VkIGEgd2hpbGUgYWdvXHBhcg0KYWJvdXQgdGhlIGNvc3Qgb2Yg
YXJyYXkgYm91bmRhcnkgY2hlY2tzIGV0Yy5ccGFyDQo+XHBhcg0KPiBBIHByZXR0eSBjb21wbGV4
IGFsZ29yaXRobSB3YXMgZGV2ZWxvcGVkIGluIENvbXBvbmVudCBQYXNjYWwgZm9yIHRoZSBuZWVk
c1xwYXINCm9mIHBoeXNpY3MgYXQgQ0VSTiAodGhlIHNvLWNhbGxlZCBvcHRpbWFsIGpldCBmaW5k
ZXIpLiBUaGUgYWxnb3JpdGhtaWNccGFyDQpleHBlcmltZW50YXRpb24gcmVxdWlyZWQgd2FzIHNp
Z25pZmljYW50LCBhbmQgSSBjYW5ub3QgaW1hZ2luZSBob3cgaXQgY291bGRccGFyDQpoYXZlIGJl
ZW4gZG9uZSB3aXRoaW4gdGhlIHRpbWUgaXQgdG9vayBpbiBCbGFja2JveCAoNCBmb2N1c2VkIHdl
ZWtzKSB3aXRoXHBhcg0KYW55IG90aGVyIGxhbmd1YWdlLlxwYXINCj5ccGFyDQo+IFRoZSBwcm9n
cmFtIGlzIG5vdCB2ZXJ5IGxhcmdlLCBjb25zaXN0cyBvZiA0IG1vZHVsZXMgYW5kIGNvbnRhaW5z
IGEgbmljZVxwYXINCm1peCBvZiBub3JtYWwgbnVtZXJpY2FsIHN0dWZmIChhcnJheXMsIHNpbidz
IGV0Yy4pLCBiaXQgbWFuaXB1bGF0aW9uLFxwYXINCnJlY29yZHMsIHBvaW50ZXJzIGFuZCBsaXN0
cyAodGhlIGRhdGEgc3RydWN0dXJlcyByZW1haW4gc3RhdGljIG9uY2VccGFyDQppbml0aWFsaXpl
ZCAtLSB0aGlzIHdhcyBwb3NzaWJsZSBhbmQgbmVlZGVkIGZvciB0aGUgcG9ydCksIHRydWUgb2Jq
ZWN0IHN0dWZmXHBhcg0KKHNvIHRoYXQgImR5bmFtaWMgZGlzcGF0Y2giIGhhZCB0byBiZSB1c2Vk
IGluIHRoZSBDKysgdmVyc2lvbikuXHBhcg0KPiBTbyBpdCdzIHF1aXRlIHJlcHJlc2VudGF0aXZl
IC0tIG9uIHRvcCBvZiBiZWluZyBmdWxseSByZWFsLWxpZmUuXHBhcg0KPlxwYXINCj4gTm93LCBz
aW5jZSBDRVJOIHBoeXNpY2lzdHMgdXNlIGFsbCBwb3NzaWJsZSBraW5kcyBvZiBoYXJkd2FyZSwg
dGhlXHBhcg0KYWxnb3JpdGhtIHdhcyBwb3J0ZWQgdG8gRm9ydHJhbiA3NyBhbmQgcmVjZW50bHkg
dG8gQysrLlxwYXINCj5ccGFyDQo+IFRoZSBDKysgdmVyc2lvbiBpcyBhIHN0cmFpZ2h0Zm9yd2Fy
ZCBjb3B5IG9mIHRoZSBDUCB2ZXJzaW9uLlxwYXINCj4gVGhlIHRlc3RzIHdlcmUgcnVuIG9uIFdp
biBYUCwgYW5kIE1TIFZpc3VhbCBDKysgY29tcGlsZXIgd2FzIHVzZWQuXHBhcg0KPlxwYXINCj4g
VGhlIEMrKyB2YXJpYW50IGNvbXBpbGVkIGFzIGEgIkRlYnVnIiB2ZXJzaW9uIHdhcyAzIHRpbWVz
IHNsb3dlciB0aGFuXHBhcg0KQ1AgLS0gOS54IDogMy42IChzZWMpLlxwYXINCj4gVGhlIEMrKyB2
YXJpYW50IGNvbXBpbGVkIGFzICJSZWxlYXNlIiB3aXRoIGZ1bGwgb3B0aW1pemF0aW9uIGNsb2Nr
ZWQgaW4gYXRccGFyDQozLjUgc2VjLlxwYXINCj4gVGhlIHRpbWUgbWVhc3VyZW1lbnQgZmx1Y3R1
YXRpb25zIGluIGFsbCBjYXNlcyB3YXMgMC4xLlxwYXINCj5ccGFyDQo+IFRoZSBjb21waWxhdGlv
biB0aW1lIGluIHRoZSBsYXN0IGNhc2Ugd2FzIG5vdGljZWFibGUgLS0gbXVzdCBiZSA+MTAgdGlt
ZXNccGFyDQptb3JlIHRoYW4gZm9yIENQIHdoZXJlIGl0IGlzIGJhcmVseSBub3RpY2VhYmxlLlxw
YXINCj5ccGFyDQo+IEEgQ0VSTiBDKysgZ3VydSBpbnNpc3RzIHRoYXQgdGhlIHJlc3VsdGluZyBD
KysgY29kZSBpcyBub3QgZ29vZCwgdG9vIG1hbnlccGFyDQpmcmllbmRzIGFuZCB0eXBlZGVmcywg
ZXRjLiAtLSBJIGFtIG5vdCBzdXJlIGFzIHRoZSBDUCB2ZXJzaW9uIGlzIG5lYXQgYW5kXHBhcg0K
bmljZSwgYW5kIHRoZSBlYXJsaWVyIEZvcnRyYW4gdmVyc2lvbiBwcm9kdWNlZCBmcm9tIHRoZSBz
YW1lIENQIG9yaWdpbmFsIGlzXHBhcg0Kc2FpZCB0byBiZSB2ZXJ5IGdvb2QgYnkgdGhlIHNhbWUg
Z3VydS5ccGFyDQo+XHBhcg0KPiBTbywgbWFrZSB5b3VyIGNvbmNsdXNpb25zLlxwYXINCj4gSSBo
YXZlIG5vIG51bWJlcnMgZm9yIEZvcnRyYW4geWV0LlxwYXINCj5ccGFyDQo+IENoZWVyc1xwYXIN
Cj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxwYXINCj4gRnlvZG9yIFRrYWNob3ZccGFyDQo+
XHBhcg0KXHBhcg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1c
cGFyDQpccGFyDQpUbyB1bnN1YnNjcmliZSBmcm9tIHRoaXMgbWFpbGluZyBsaXN0LCBzZW5kIGEg
bWVzc2FnZSBjb250YWluaW5nIHRoZSB3b3JkICJ1bnN1YnNjcmliZSIgdG86XHBhcg0KICAgYmxh
Y2tib3gtcmVxdWVzdEBvYmVyb24uY2hccGFyDQpccGFyDQpUbyBnZXQgYSBsaXN0IG9mIHZhbGlk
IGUtbWFpbCBjb21tYW5kcyBhbmQgaW5zdHJ1Y3Rpb25zIG9uIHRoZWlyIHVzYWdlLCBzZW5kIGEg
bWVzc2FnZSBjb250YWluaW5nIHRoZSB3b3JkICJoZWxwIiB0byB0aGUgYWJvdmUgYWRkcmVzcy5c
cGFyDQpccGFyDQpTZW5kIGFueSBwcm9ibGVtIHJlcG9ydHMgb3IgcXVlc3Rpb25zIHJlbGF0ZWQg
dG8gdGhpcyBlbWFpbCBsaXN0IHRvIHRoZSBsaXN0IG93bmVyIGF0XHBhcg0KICAgb3duZXItYmxh
Y2tib3hAb2Jlcm9uLmNoXHBhcg0KXHBhcg0KQ3VycmVudCBwb3N0aW5nIHBvbGljeTpccGFyDQpc
cGFyDQphKSBUbyBwb3N0IHlvdSBzaG91bGQgdXNlIHRoZSBzYW1lIGFkZHJlc3MgYnkgd2hpY2gg
eW91IGFyZSBzdWJzY3JpYmVkIHRvIHRoZSBtYWlsaW5nIGxpc3QuIFRoYXQgd2F5LCB0aGUgbGlz
dCBzZXJ2ZXIgd2lsbCByZWNvZ25pemUgeW91IGFzIHN1YnNjcmliZXIgYW5kIGZvcndhcmQgeW91
ciBwb3N0aW5nIGltbWVkaWF0ZWx5LCB3aXRob3V0IGNyZWF0aW5nIGFueSBvdmVyaGVhZC5ccGFy
DQpccGFyDQpiKSBJZiwgZm9yIHNvbWUgcmVhc29uLCB5b3UgY2Fubm90IHBvc3QgZnJvbSB0aGUg
YWRkcmVzcywgYnkgd2hpY2ggeW91IGFyZSBzdWJzY3JpYmVkLCB5b3VyIG1lc3NhZ2Ugd2lsbCBi
ZSBtb2RlcmF0ZWQgdG8gYXZvaWQgc3BhbS4gUGxlYXNlIHVuZGVyc3RhbmQgdGhhdCBtb2RlcmF0
aW9uIHdpbGwgb2Z0ZW4gY2F1c2Ugc29tZSBkZWxheSwgaW4gcGFydGljdWxhciBvdmVyIHdlZWtl
bmRzIG9yIGhvbHlkYXl9fQChARAowR6wC1H/ADA=
----boundary-LibPST-iamunique-1664302169_-_---
Received on Sun Feb 01 2004 - 00:30:49 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:28:57 UTC