Deutsch English Français Italiano |
<vhj7nc$2svjh$1@paganini.bofh.team> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder8.news.weretis.net!newsfeed.bofh.team!paganini.bofh.team!not-for-mail From: antispam@fricas.org (Waldek Hebisch) Newsgroups: comp.lang.c Subject: Re: else ladders practice Date: Tue, 19 Nov 2024 23:41:34 -0000 (UTC) Organization: To protect and to server Message-ID: <vhj7nc$2svjh$1@paganini.bofh.team> References: <3deb64c5b0ee344acd9fbaea1002baf7302c1e8f@i2pn2.org> <vg37nr$3bo0c$1@dont-email.me> <vg3b98$3cc8q$1@dont-email.me> <vg5351$3pada$1@dont-email.me> <vg62vg$3uv02$1@dont-email.me> <vgd3ro$2pvl4$1@paganini.bofh.team> <vgdc4q$1ikja$1@dont-email.me> <vgdt36$2r682$2@paganini.bofh.team> <vge8un$1o57r$3@dont-email.me> <vgpi5h$6s5t$1@paganini.bofh.team> <vgtsli$1690f$1@dont-email.me> <vhgr1v$2ovnd$1@paganini.bofh.team> <vhic66$1thk0$1@dont-email.me> <vhins8$1vuvp$1@dont-email.me> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Injection-Date: Tue, 19 Nov 2024 23:41:34 -0000 (UTC) Injection-Info: paganini.bofh.team; logging-data="3047025"; posting-host="WwiNTD3IIceGeoS5hCc4+A.user.paganini.bofh.team"; mail-complaints-to="usenet@bofh.team"; posting-account="9dIQLXBM7WM9KzA+yjdR4A"; User-Agent: tin/2.6.2-20221225 ("Pittyvaich") (Linux/6.1.0-9-amd64 (x86_64)) X-Notice: Filtered by postfilter v. 0.9.3 Bytes: 4645 Lines: 80 Bart <bc@freeuk.com> wrote: > On 19/11/2024 15:51, Bart wrote: >> On 19/11/2024 01:53, Waldek Hebisch wrote: > >> Another example, building 40Kloc interpreter from source then running it >> in memory: >> >> c:\qx>tm \bx\mm -run qq hello >> Compiling qq.m to memory >> Hello, World! 19-Nov-2024 15:38:47 >> TM: 0.11 >> >> c:\qx>tm qq hello >> Hello, World! 19-Nov-2024 15:38:49 >> TM: 0.05 >> >> The second version runs a precompiled EXE. So building from source added >> only 90ms. > > Sorry, that should be 60ms. Running that interpreter from source only > takes 1/16th of a second longer not 1/11th of a second. > > BTW I didn't remark on the range of your (WH's) figures. They spanned 40 > minutes for a build to instant, but it's not clear for which languages > they are, which tools are used and which machines. Or how much work they > have to do to get those faster times, or what work they don't do: I'm > guessing it's not processing 0.5M lines for that fastest time. As I wrote, there are 2 different system, if interesed you can fetch them from github. Build time is just running make, one (typed system) was time make -j 20 > mlogg 2>&1 so build used up to 20 jobs, output went to a file (I am not sure if it was important in this case, but there is 15MB of messages and terminal emulator could take some time to print them). Of course, this after all dependencies were installed and after running 'configure'. Note that parallel build saves substantial time, otherwise it probably would be somewhat more than 6 minutes. For untyped system it was time make > mlogg 2>&1 Shortest time was time make stamp_new_corepop > mlogg3 2>&1 this rebuild only one crucial binary (that involves about 100K wc lines). This is mixed language project, there is runtime support in C (hard to say how much as a single file contains functions for several OS-es but conditionals choose only one OS), assembler files which are macro-processed and passed to assembler. There are header files which are included during multiple compilations. My point was that with machines available to me and with my developement process "full build" time is not a problem. With typed system normal thing is to rebuild a single module, and for some modules it takes several seconds (most are of order of a second). It would be nice to have faster compile time. OTOH my "think time" frequently is much longer than this, so compiler doing less checking could lead to longer time overall. > So it was hard to formulate a response. > > All my timings are either for C or my systems language, running on one > core on the same PC. I do not think I will use your system language. And for C compiler at least currently it does not make big difference to me if your compiler can do 1Mloc or 5Mloc on my machine, both are "pretty fast". What matters more is support of debugging output, supporting targets that I need (like ARM or Risc-V), good diagnostics and optimization. I recently installed TinyC on small Risc-V machine, I think that available memory (64MB all, about 20MB available to user programs) is too small to run gcc or clang. -- Waldek Hebisch