Groups | Search | Server Info | Keyboard shortcuts | Login | Register
Groups > comp.compilers > #3445
| Path | csiph.com!weretis.net!feeder6.news.weretis.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end |
|---|---|
| From | gah4 <gah4@u.washington.edu> |
| Newsgroups | comp.compilers |
| Subject | Re: Portable Software (was: fledgling assembler programmer) |
| Date | Fri, 31 Mar 2023 12:41:32 -0700 (PDT) |
| Organization | Compilers Central |
| Sender | johnl@iecc.com |
| Approved | comp.compilers@iecc.com |
| Message-ID | <23-04-002@comp.compilers> (permalink) |
| References | <23-03-001@comp.compilers> <23-03-002@comp.compilers> <23-03-003@comp.compilers> <23-03-007@comp.compilers> <23-03-008@comp.compilers> <23-03-012@comp.compilers> <23-03-017@comp.compilers> <23-03-022@comp.compilers> <23-03-029@comp.compilers> <23-03-034@comp.compilers> <23-03-036@comp.compilers> <23-03-041@comp.compilers> |
| MIME-Version | 1.0 |
| Content-Type | text/plain; charset="UTF-8" |
| Content-Transfer-Encoding | 8bit |
| Injection-Info | gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="47315"; mail-complaints-to="abuse@iecc.com" |
| Keywords | interpreter, tools, comment |
| Posted-Date | 01 Apr 2023 04:29:39 EDT |
| X-submission-address | compilers@iecc.com |
| X-moderator-address | compilers-request@iecc.com |
| X-FAQ-and-archives | http://compilers.iecc.com |
| In-Reply-To | <23-03-041@comp.compilers> |
| Xref | csiph.com comp.compilers:3445 |
Show key headers only | View raw
On Friday, March 31, 2023 at 4:42:14 AM UTC-7, Thomas Koenig wrote: > gah4 <ga...@u.washington.edu> schrieb: > > For system like Matlab and Octave, and I believe also for Python, > > or one of many higher math languages, programs should spend > > most of the time in the internal compiled library routines. > They should, but sometimes they don't. > If you run into things not covered by compiled libraries, but which > are compute-intensive, then Matlab and (interpreted) Python run > as slow as molasses, orders of magnitude slower than compiled code. But then there is dynamic linking. I have done it in R, but I believe it also works for Matlab and Python, and is the way many packages are implemented. You write a small C or Fortran program that does the slow part, and call it from interpreted code. And back to my favorite x86 assembler program: rdtsc: rdtsc ret which allows high resolution timing, to find where the program is spending too much time. Some years ago, I did this on a program written by someone else, so I mostly didn't know the structure. Track down which subroutines used too much time, and fix just those. In that case, one big time sink is building up a large matrix one row or one column at a time, which requires a new allocation and copy for each time. Preallocating to the final (if known) size fixes that. But then there were some very simple operations that, as you note, are not included and slow. Small C programs fixed those. There are complications for memory allocation, which I avoid by writing mine to assume (require) that all is already allocated. (snip) > At the company I work for, I'm told each Python project will only > use a certain specified version of Python will never be changed for > fear of incompatibilities - they treat each version as a new > programming language :-| > To bring this back a bit towards compilers - a language definition > is an integral part of compiler writing. If I have heard about that one. It seems that there are non-backward compatible changes from Python 2.x to 3.x. That is, they pretty much are different languages. Tradition on updating a language standard is to maintain, as much as possible, backward compatibility. It isn't always 100%, but often close enough. You can run Fortran 66 program on new Fortran 2018 compilers without all that much trouble. (Much of the actual problem comes with extensions used by the old programs.) [Python's rapid development cycle definitely has its drawbacks. Python 3 is not backward compatible with python 2 (that's why they bumped the major version number) and they ended support for python 2 way too soon. -John]
Back to comp.compilers | Previous | Next — Previous in thread | Next in thread | Find similar
fledgling assembler programmer Alan.Beck@darkrealms.ca (Alan Beck) - 2023-03-21 17:40 -0400
Re: fledgling assembler programmer gah4 <gah4@u.washington.edu> - 2023-03-21 17:23 -0700
Re: fledgling assembler programmer Thomas Koenig <tkoenig@netcologne.de> - 2023-03-22 06:49 +0000
Re: fledgling assembler programmer gah4 <gah4@u.washington.edu> - 2023-03-22 13:31 -0700
Re: fledgling assembler programmer Thomas Koenig <tkoenig@netcologne.de> - 2023-03-23 11:26 +0000
Re: fledgling assembler programmer gah4 <gah4@u.washington.edu> - 2023-03-24 14:17 -0700
Re: ancient PL/I, was fledgling assembler programmer drb@ihatespam.msu.edu (Dennis Boone) - 2023-03-24 22:51 +0000
Re: ancient PL/I, was fledgling assembler programmer gah4 <gah4@u.washington.edu> - 2023-03-24 22:44 -0700
Re: ancient PL/I, was fledgling assembler programmer gah4 <gah4@u.washington.edu> - 2023-03-25 01:27 -0700
Re: fledgling assembler programmer Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2023-03-25 13:07 +0100
Re: fledgling assembler programmer George Neuner <gneuner2@comcast.net> - 2023-03-25 20:54 -0400
Portable Software (was: fledgling assembler programmer) Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2023-03-28 09:21 +0200
Re: Portable Software (was: fledgling assembler programmer) arnold@freefriends.org (Aharon Robbins) - 2023-03-28 14:42 +0000
Re: configuguration tools, Portable Software (was: fledgling assembler programmer) Kaz Kylheku <864-117-4973@kylheku.com> - 2023-03-29 18:33 +0000
Re: configuguration tools, Portable Software (was: fledgling assembler programmer) arnold@skeeve.com (Aharon Robbins) - 2023-03-31 07:10 +0000
Re: configuguration tools, Portable Software (was: fledgling assembler programmer) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2023-04-02 08:56 +0000
Re: Portable Software Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2023-03-31 07:49 +0200
Re: Portable Software anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2023-04-02 10:04 +0000
Re: Portable Software Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2023-04-05 11:23 +0200
Re: Portable Software anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2023-04-05 16:30 +0000
Re: Portable Software Kaz Kylheku <864-117-4973@kylheku.com> - 2023-04-06 08:35 +0000
Re: Portable Software Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2023-04-07 15:35 +0200
Re: Portable Software Thomas Koenig <tkoenig@netcologne.de> - 2023-04-08 18:25 +0000
Re: Portable Software (was: fledgling assembler programmer) gah4 <gah4@u.washington.edu> - 2023-03-28 14:21 -0700
Re: Portable Software (was: fledgling assembler programmer) Kaz Kylheku <864-117-4973@kylheku.com> - 2023-03-29 18:34 +0000
Re: Portable Software (was: fledgling assembler programmer) George Neuner <gneuner2@comcast.net> - 2023-03-28 17:26 -0400
Re: Portable python Software (was: fledgling assembler programmer) George Neuner <gneuner2@comcast.net> - 2023-03-29 13:50 -0400
Re: Portable Software (was: fledgling assembler programmer) gah4 <gah4@u.washington.edu> - 2023-03-29 11:27 -0700
Re: Portable Software (was: fledgling assembler programmer) Thomas Koenig <tkoenig@netcologne.de> - 2023-03-31 05:19 +0000
Re: Portable Software (was: fledgling assembler programmer) gah4 <gah4@u.washington.edu> - 2023-03-31 12:41 -0700
Re: Portable Software (was: fledgling assembler programmer) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2023-03-31 16:34 +0000
Re: fledgling assembler programmer arnold@skeeve.com (Aharon Robbins) - 2023-03-23 13:56 +0000
Re: fledgling assembler programmer anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2023-03-22 10:02 +0000
Re: fledgling assembler programmer David Brown <david.brown@hesbynett.no> - 2023-03-22 14:39 +0100
Re: fledgling assembler programmer George Neuner <gneuner2@comcast.net> - 2023-03-22 14:54 -0400
csiph-web