[Dynamite] compile status / radical idea

Ian Holmes ihh@fruitfly.org
Mon, 17 Apr 2000 17:31:50 -0700 (PDT)


  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

---559023410-758783491-956016934=:23146
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-ID: <Pine.GSO.4.10.10004171715411.23146@fruitfly>

On Tue, 18 Apr 2000, Guy Slater wrote:

> > > Three options are on the table: (1) keep going with IDL-to-C; (2) go Perl,
> > > possibly mixed with C; (3) go pure C. I am continuing to argue for (2),
> > > for reasons described below. I am also sympathetic to (3).
> 
> I'm not quite clear about the differences between (1) and (3).

Neither am I. Ewan?
I thought the point of (3) was to abandon the idlstubs.pl program
completely.

> Scroll to end for my $0.02
>
> ...
> 
> OK.  Religious preferences aside, I think a major problem
> with perl will be performance.
> 
> If telegraph was to be only a code generation system, then I reckon
> it would be viable, however I imagine having runtime code in C will
> incur quite a performance hit, and in perl it could be prohibitive.
> 
> I know that practical performance isn't a major issue for a prototype
> implementation, but it will impede development if it is too slow.
> 
> Maybe the perl interpreter is better than that.
> Can either of you convince me with a short DP example in perl?

Attached is a dummy SW implementation. It takes about a second of user
time to do a 100*100 matrix on my 450MHz box.

This _is_ too slow for end users, but I think it will be OK for
development of core ideas. By the time we start trying to implement
Genewise, we should be calling C routines from Perl for the DP.

> Also, do you know of any projects which have migrated smoothly
> from a perl prototype implementation to a clean C implementation ?

No. I'd be interested to hear more about Kevin's gazing experiences.

I'm less worried about how "clean" the final C implementation is in this
(Perl) scenario. There are many routes open to us. I want to keep the
original design modular, which should help.

> I'd be happy to do perl->C reimplementations,
> but I'm afraid I wouldn't be any use with the perl implementations.

Cool...
Ian

> 
> Guy
> --
> 
> 
> _______________________________________________
> Dynamite mailing list  -  Dynamite@bioperl.org
> http://www.bioperl.org/mailman/listinfo/dynamite
> 

---559023410-758783491-956016934=:23146
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="sw-demo.pl"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.GSO.4.10.10004171715340.23146@fruitfly>
Content-Description: 
Content-Disposition: ATTACHMENT; FILENAME="sw-demo.pl"

IyEvdXNyL2Jpbi9wZXJsDQoNCiMgc2NvcmluZyBzY2hlbWUNCg0KJG1hdGNo
ID0gKzE7DQokbWlzbWF0Y2ggPSAtMTsNCiRvcGVuID0gLTU7DQokZXh0ZW5k
ID0gLTI7DQoNCiMgZ2VuZXJhdGUgdHdvIHJhbmRvbSBETkEgc2VxdWVuY2Vz
IGFzIGFycmF5cw0KDQokc2VxbGVuID0gMTAwOw0KDQpAeCA9IG1hcCAoaW50
KHJhbmQoNCkpLCAxLi4kc2VxbGVuKTsNCkB5ID0gbWFwIChpbnQocmFuZCg0
KSksIDEuLiRzZXFsZW4pOw0KDQojIGJvdW5kYXJ5IGNvbmRpdGlvbnMNCg0K
JGluZiA9IDk4NzY1NDMyMTsNCg0KZm9yICgkaSA9IDA7ICRpIDw9ICRzZXFs
ZW47ICsrJGkpIHsgJCRtYXRjaF9tYXRyaXhbJGldWzBdID0gJCR4X2dhcF9t
YXRyaXhbJGldWzBdID0gJCR5X2dhcF9tYXRyaXhbJGldWzBdID0gLSRpbmYg
fQ0KZm9yICgkaiA9IDA7ICRqIDw9ICRzZXFsZW47ICsrJGopIHsgJCRtYXRj
aF9tYXRyaXhbMF1bJGpdID0gJCR4X2dhcF9tYXRyaXhbMF1bJGpdID0gJCR5
X2dhcF9tYXRyaXhbMF1bJGpdID0gLSRpbmYgfQ0KDQojIG1haW4gbG9vcA0K
DQokZW5kX3NjID0gLSRpbmY7DQoNCmZvciAoJGkgPSAxOyAkaSA8PSAkc2Vx
bGVuOyArKyRpKSB7DQogICAgZm9yICgkaiA9IDE7ICRqIDw9ICRzZXFsZW47
ICsrJGopIHsNCgkkdG1wX3NjID0gJCRtYXRjaF9tYXRyaXhbJGldWyRqXQ0K
CSAgICA9IG1heCAoJCRtYXRjaF9tYXRyaXhbJGktMV1bJGotMV0sDQoJCSAg
ICQkeF9nYXBfbWF0cml4WyRpLTFdWyRqLTFdLA0KCQkgICAkJHlfZ2FwX21h
dHJpeFskaS0xXVskai0xXSwNCgkJICAgMCkgKyAoJHhbJGktMV0gPT0gJHlb
JGotMV0gPyAkbWF0Y2ggOiAkbWlzbWF0Y2gpOw0KCSQkeF9nYXBfbWF0cml4
WyRpXVskal0gPSBtYXggKCQkbWF0Y2hfbWF0cml4WyRpLTFdWyRqXSArICRv
cGVuLCAkJHhfZ2FwX21hdHJpeFskaS0xXVskal0gKyAkZXh0ZW5kKTsNCgkk
JHlfZ2FwX21hdHJpeFskaV1bJGpdID0gbWF4ICgkJG1hdGNoX21hdHJpeFsk
aV1bJGotMV0gKyAkb3BlbiwgJCR5X2dhcF9tYXRyaXhbJGldWyRqLTFdICsg
JGV4dGVuZCk7DQoNCglpZiAoJHRtcF9zYyA+ICRlbmRfc2MpIHsgJGVuZF9z
YyA9ICR0bXBfc2M7ICRlbmRfaSA9ICRpOyAkZW5kX2ogPSAkaiB9DQogICAg
fQ0KfQ0KDQojIHRyYWNlYmFjaw0KDQokaSA9ICRlbmRfaTsNCiRqID0gJGVu
ZF9qOw0KJHN0YXRlID0gJ20nOw0KDQp3aGlsZSAoJHN0YXRlIG5lICdzJykg
ew0KICAgIHVuc2hpZnQgQHRyYWNlYmFjaywgJHN0YXRlOw0KICAgIGlmICgk
c3RhdGUgZXEgJ20nKSB7DQoJJHRtcCA9ICQkbWF0Y2hfbWF0cml4WyRpXVsk
al0gLSAoJHhbJGktMV0gPT0gJHlbJGotMV0gPyAkbWF0Y2ggOiAkbWlzbWF0
Y2gpOw0KCWlmICgkdG1wID09ICQkbWF0Y2hfbWF0cml4WyRpLTFdWyRqLTFd
KSB7ICRzdGF0ZSA9ICdtJyB9DQoJZWxzaWYgKCR0bXAgPT0gJCR4X2dhcF9t
YXRyaXhbJGktMV1bJGotMV0pIHsgJHN0YXRlID0gJ2d4JyB9DQoJZWxzaWYg
KCR0bXAgPT0gJCR5X2dhcF9tYXRyaXhbJGktMV1bJGotMV0pIHsgJHN0YXRl
ID0gJ2d5JyB9DQoJZWxzaWYgKCR0bXAgPT0gMCkgeyAkc3RhdGUgPSAncycg
fQ0KCWVsc2UgeyBkaWUgIlRyYWNlYmFjayBmYWlsZWQiIH0NCgktLSRpOw0K
CS0tJGo7DQogICAgfSBlbHNpZiAoJHN0YXRlIGVxICdneCcpIHsNCgkkdG1w
ID0gJCR4X2dhcF9tYXRyaXhbJGldWyRqXTsNCglpZiAoJHRtcCA9PSAkJG1h
dGNoX21hdHJpeFskaS0xXVskal0gKyAkb3BlbikgeyAkc3RhdGUgPSAnbScg
fQ0KCWVsc2lmICgkdG1wID09ICQkeF9nYXBfbWF0cml4WyRpLTFdWyRqXSAr
ICRleHRlbmQpIHsgJHN0YXRlID0gJ2d4JyB9DQoJZWxzZSB7IGRpZSAiVHJh
Y2ViYWNrIGZhaWxlZCIgfQ0KCS0tJGk7DQogICAgfSBlbHNpZiAoJHN0YXRl
IGVxICdneScpIHsNCgkkdG1wID0gJCR5X2dhcF9tYXRyaXhbJGldWyRqXTsN
CglpZiAoJHRtcCA9PSAkJG1hdGNoX21hdHJpeFskaV1bJGotMV0gKyAkb3Bl
bikgeyAkc3RhdGUgPSAnbSc7IC0tJGogfQ0KCWVsc2lmICgkdG1wID09ICQk
eV9nYXBfbWF0cml4WyRpXVskai0xXSArICRleHRlbmQpIHsgJHN0YXRlID0g
J2d5JzsgLS0kaiB9DQoJZWxzZSB7IGRpZSAiVHJhY2ViYWNrIGZhaWxlZCIg
fQ0KCS0tJGo7DQogICAgfSBlbHNlIHsgZGllICJUcmFjZWJhY2sgZmFpbGVk
IiB9DQp9DQoNCiMgZGlzcGxheSBhbGlnbm1lbnQNCg0KZm9yZWFjaCAkc3Rh
dGUgKEB0cmFjZWJhY2spIHsNCiAgICBpZiAoJHN0YXRlIGVxICdtJykgeyAk
YWxpZ25bMF0gLj0gJHhbJGkrK107ICRhbGlnblsxXSAuPSAkeVskaisrXSB9
DQogICAgZWxzaWYgKCRzdGF0ZSBlcSAnZ3gnKSB7ICRhbGlnblswXSAuPSAk
eFskaSsrXTsgJGFsaWduWzFdIC49ICctJyB9DQogICAgZWxzaWYgKCRzdGF0
ZSBlcSAnZ3knKSB7ICRhbGlnblswXSAuPSAnLSc7ICRhbGlnblsxXSAuPSAk
eVskaisrXSB9DQp9DQoNCmdyZXAgdHIvMDEyMy9hY2d0LywgQGFsaWduOw0K
cHJpbnQgam9pbiAiXG4iLCBAYWxpZ24sICIiOw0KDQojIHN1YnJvdXRpbmVz
DQoNCnN1YiBtYXggeyBteSAkbWF4ID0gc2hpZnQ7IGZvcmVhY2ggKEBfKSB7
ICRtYXggPSAkXyBpZiAkXyA+ICRtYXggfSAkbWF4IH0NCnN1YiBtaW4geyBt
eSAkbWluID0gc2hpZnQ7IGZvcmVhY2ggKEBfKSB7ICRtaW4gPSAkXyBpZiAk
XyA8ICRtaW4gfSAkbWluIH0NCg0K
---559023410-758783491-956016934=:23146--