00:00:00 --- log: started forth/16.03.10 00:08:25 --- quit: ASau (Ping timeout: 250 seconds) 00:21:39 --- quit: karswell (Ping timeout: 244 seconds) 00:36:26 --- quit: ovf (Ping timeout: 268 seconds) 00:36:37 --- quit: ggherdov` (Ping timeout: 250 seconds) 00:41:21 --- join: ovf (sid19068@gateway/web/irccloud.com/x-igyelsrpmqsnezvj) joined #forth 00:43:29 --- join: ggherdov` (sid11402@gateway/web/irccloud.com/x-adhjbgzuzkxdwsrd) joined #forth 00:43:36 --- join: mnemnion (~mnemnion@c-73-223-96-148.hsd1.ca.comcast.net) joined #forth 01:14:12 --- quit: mnemnion (Remote host closed the connection) 01:15:39 --- join: mnemnion (~mnemnion@c-73-223-96-148.hsd1.ca.comcast.net) joined #forth 01:36:59 --- quit: _z (Ping timeout: 260 seconds) 01:43:58 --- join: _z (~z@97-82-100-91.dhcp.mdfd.or.charter.com) joined #forth 02:16:09 --- quit: nighty (Quit: It's time to kick ass and chew bubble gums and I'm all out of gums!) 02:24:47 --- join: true-grue (~true-grue@176.14.216.104) joined #forth 02:42:55 --- quit: proteusguy (Ping timeout: 246 seconds) 02:49:30 --- join: pat_ (~pat@2a01:e35:8b8d:67c0:f9b5:3fdc:96ed:27f2) joined #forth 02:53:04 --- quit: DGASAU (Ping timeout: 246 seconds) 02:55:54 --- join: DGASAU (~user@lmpc.drb.insel.de) joined #forth 02:56:09 --- join: proteusguy (~proteusgu@ppp-110-168-230-94.revip5.asianet.co.th) joined #forth 02:56:09 --- mode: ChanServ set +v proteusguy 02:56:19 --- quit: pat_ (Quit: Leaving) 04:49:19 --- quit: DGASAU (Ping timeout: 276 seconds) 04:52:54 --- join: DGASAU (~user@lmpc.drb.insel.de) joined #forth 05:05:15 --- quit: mnemnion (Remote host closed the connection) 05:15:26 --- quit: _z (Remote host closed the connection) 05:15:40 --- join: little_bit (~tomkl@unaffiliated/tomkl) joined #forth 05:16:08 --- join: _z (~z@97-82-100-91.dhcp.mdfd.or.charter.com) joined #forth 05:25:04 --- quit: clog (Ping timeout: 276 seconds) 05:25:04 --- log: stopped forth/16.03.10 05:25:11 --- log: started forth/16.03.10 05:25:11 --- join: clog (~nef@bespin.org) joined #forth 05:25:11 --- topic: 'Forth Programming | logged by clog at http://bit.ly/91toWN | http://projects.forthworks.com/standards/DPANS/ | www.greenarraychips.com' 05:25:11 --- topic: set by crc!sid2647@gateway/web/irccloud.com/x-incoycbnpesmfspg on [Fri Nov 06 18:58:45 2015] 05:25:11 --- names: list (clog _z little_bit DGASAU +proteusguy true-grue ggherdov` ovf Keshl impomatic nerfur crc Uniju nighty-_ irsol dys rpcope octo_ phadthai koisoke DKordic` malyn carc C-Keen dzho rprimus Quozl` kulp oceanpollen eldre _longines yunfan bluekelp segher diginet2 newcup tangentstorm cantstanya dograt djinni) 05:33:47 --- join: nighty (~nighty@q029220.ppp.asahi-net.or.jp) joined #forth 06:33:58 --- quit: DGASAU (Ping timeout: 276 seconds) 06:36:27 --- join: joneshf-laptop (~joneshf@c-73-220-86-28.hsd1.ca.comcast.net) joined #forth 09:04:13 --- log: started forth/16.03.10 09:04:13 --- join: clog (~nef@bespin.org) joined #forth 09:04:13 --- topic: 'Forth Programming | logged by clog at http://bit.ly/91toWN | http://projects.forthworks.com/standards/DPANS/ | www.greenarraychips.com' 09:04:13 --- topic: set by crc!sid2647@gateway/web/irccloud.com/x-incoycbnpesmfspg on [Fri Nov 06 18:58:45 2015] 09:04:13 --- names: list (clog DGASAU Indecipherable nighty little_bit +proteusguy true-grue ggherdov` ovf Keshl impomatic nerfur crc Uniju nighty-_ irsol dys rpcope octo_ phadthai koisoke DKordic` malyn carc C-Keen dzho rprimus Quozl` kulp oceanpollen eldre _longines yunfan bluekelp segher diginet2 newcup tangentstorm cantstanya dograt djinni) 09:45:37 --- join: Kumool (~kumool@adsl-64-237-235-171.prtc.net) joined #forth 10:07:59 --- quit: Kumool (Ping timeout: 260 seconds) 10:08:37 --- join: Kumool (~kumool@adsl-64-237-235-171.prtc.net) joined #forth 10:16:07 --- join: real-grue (~true-grue@176.14.216.104) joined #forth 10:19:26 --- quit: true-grue (Ping timeout: 264 seconds) 10:55:49 --- quit: dograt (Ping timeout: 250 seconds) 10:56:21 --- join: dograt (~dograt@unaffiliated/dograt) joined #forth 11:03:51 --- quit: dograt (Ping timeout: 244 seconds) 11:06:45 --- join: dograt (~dograt@unaffiliated/dograt) joined #forth 11:17:46 --- quit: dograt (Ping timeout: 246 seconds) 11:31:32 --- join: dograt (~dograt@unaffiliated/dograt) joined #forth 12:00:13 ....... 12:00:36 parsing a 4.7G file in ciforth: 5min 20s 12:01:18 doing that with the same file and same code and the same results, but with iForth: 25s 12:02:23 So what? 12:04:24 so, that's a pretty incredible difference. ciforth is 12.8x slower 12:04:55 and '25s' is a win for me -- it's actually useful for my purposes, but at 5min I would just continue to use the current Perl solution. 12:05:28 --- quit: dograt (Ping timeout: 276 seconds) 12:06:26 --- join: ASau (~user@netbsd/developers/asau) joined #forth 12:12:39 --- join: dograt (~dograt@unaffiliated/dograt) joined #forth 12:19:39 --- join: mat4 (~Claude@ip5b40bd37.dynamic.kabel-deutschland.de) joined #forth 12:24:48 --- join: impomatic_ (~impomatic@145.2.112.87.dyn.plus.net) joined #forth 12:26:05 oceanpollen: the source code of Ciforth is easy modificable. You can replace the linked-list dictionary with a hashed variant if you want. It is not much work (if you do not use dictionaries) 12:26:22 --- join: Zarutian (~zarutian@168-110-22-46.fiber.hringdu.is) joined #forth 12:26:31 --- quit: impomatic (Ping timeout: 244 seconds) 12:26:43 --- nick: impomatic_ -> impomatic 12:27:17 with dictionaries I mean dictionary contexts 12:27:17 that sounds like an idea to increase compilation speed. actually the ciforth results are from a turnkey. no compilation is happening. iforth is compiling everything and loading system libraries first. 12:28:06 anyway, strace suggests that iforth is cheating. still looking into it. 12:28:07 ok, in this case iforth is really a better choice 12:29:28 oceanpollen, mat4: what idea increases compilation speed? 12:29:57 using hash tables for dictionaries 12:31:19 oh, I see. Well that speeds up lookup but I do not know how 'shadowing' of earlier defined words would happen unless one uses an list of dictionaries 12:33:53 * Zarutian is looking at http://bradn123.github.io/literateforth/out/events_0001.html 12:33:53 a typical solution is extending the dictionary headers with a hidden flag and link successive entries to a chain of earlier definations 12:35:43 the hashed entry then link to the last element of a chain 12:36:05 (this have some implications to the search algorithm) 12:40:25 --- quit: ASau (Remote host closed the connection) 12:40:41 --- join: ASau (~user@netbsd/developers/asau) joined #forth 12:46:10 Zarutian: interesting read 12:50:10 mat4: yes but a rather centric on forth systems that live on top of another os or whole system written in C code. 12:52:16 I would prefer the Plan A version of closures than Plan B (refering to that slidedeck) 12:57:32 thinking about it, is propably better to lewt closures be an intrinsic language feature 12:57:42 lewt=let 12:59:45 foo[ (code here) ]foo is not much more work than [: (code here) ;] foo ,and lacks all of the complications of the latter. 13:00:34 and the (code here) is about the same 13:01:34 code 13:02:16 quotations are still nice if you want to catch exceptions thrown by (code here), but I rarely want that. usually it's just walking a data structure, or consuming a stream. 13:02:34 --- quit: Indecipherable (Quit: Too late I heard the howling, that broke your heart at last...) 13:03:12 and yep, not only is iforth cheating, but its cheating is broken. it's actually only reading less than half of the file. 13:03:44 I had to change the code a bit to see that. I'm using a corpus that's just athe same 90MB logs repeated :/ 13:06:24 lol, OK, I fixed it. it's now really really doing the same work. 13:06:28 and oh man, is it slower 13:06:32 the difference is now: 13:06:36 ciforth: 5min 20s. 13:06:46 iforth: 37s. (from 25s) 13:08:28 the 'cheating' in question was iforth mmaping the file I was reading from. you have to opt out of that by modifying R/O etc. with UNBUFFERED before opening the file. 13:09:20 and that feature is buggy. iforth tries to mmap >2GB files, but then doesn't check to see if the read was partial. in my case the file is 4.7GB and iforth was mmaping 4.7GB, filling it with 2GB of the file, and then leaving it at that. 13:10:06 this is bad news though. I was hoping that the speed difference was from the mmap. in that case I can just mmap the file explicitly and get a similar with for ciforth 13:10:50 *similar win. instead it's probably what I thought at first: ciforth is bottlenecked by slow primitives. 13:15:45 so linked-list search times + slower primitives 13:16:30 :- bad combination for source files > 1 Gigabyte 13:16:58 it's not a source file >1GB. it's exim logs. 13:17:20 sorry log files 13:17:29 ciforth is doing no compilation at runtime. 13:17:52 well if you know what I mean. 13:18:28 I'm coding beside reading, doing so tending to forget some minor details 13:19:43 oceanpollen: you are reading these exim logs and doing what kind of stuff? 13:21:15 eliminating noise lines and rewriting meaningful lines so that Perl can load them and stuff them into data structures later on without resort to parsing. 13:21:19 pre-parsing. 13:22:12 exim is some sort of simulation system? 13:22:20 and then Perl just presents the information to someone later on. that code's already written and is fine so it can stay in Perl. but Perl can be quite slow to parse. 13:22:46 exim is an MTA. it sends email, receives email, delivers email to local users. 13:23:02 aah an MailTransferAgent. 13:23:35 so you are intrested in its logs for purposes of knowing what is up with mail traffic 13:23:40 yep. 13:24:13 there's a Perl program. it does the job. I would like to see if a Forth program can preparse the logs to augment the Perl programs' runtime 13:24:45 you are basically looking into ways to speed up the processing then. 13:26:15 and in generally I find performance differences like this of interest because it means I can deliver a project using lina, which is competely freely available, and then say "well if you need to be faster you can spend $100 on iForth" 13:40:12 --- quit: real-grue (Read error: Connection reset by peer) 13:45:13 --- join: proteusguy_satri (~proteusgu@seg75-h05-89-88-184-159.dsl.sta.abo.bbox.fr) joined #forth 14:02:54 --- join: mnemnion (~mnemnion@c-73-223-96-148.hsd1.ca.comcast.net) joined #forth 14:07:15 --- quit: nighty (Quit: It's time to kick ass and chew bubble gums and I'm all out of gums!) 14:21:23 --- quit: mat4 (Quit: Leaving) 14:24:58 --- join: beretta (~beretta@cpe-65-185-42-203.columbus.res.rr.com) joined #forth 14:26:15 --- quit: Zarutian (Quit: Zarutian) 15:38:40 --- quit: dograt (Read error: Connection reset by peer) 15:39:23 --- quit: mnemnion (Remote host closed the connection) 15:39:51 --- join: dograt (~dograt@unaffiliated/dograt) joined #forth 15:54:26 --- join: karswell (~user@55.197.125.91.dyn.plus.net) joined #forth 16:01:06 --- join: mnemnion (~mnemnion@c-73-223-96-148.hsd1.ca.comcast.net) joined #forth 17:44:12 --- quit: karswell (Read error: Connection reset by peer) 17:45:21 --- join: karswell (~user@55.197.125.91.dyn.plus.net) joined #forth 17:46:15 --- quit: mnemnion (Remote host closed the connection) 17:47:23 --- join: mnemnion (~mnemnion@c-73-223-96-148.hsd1.ca.comcast.net) joined #forth 18:00:50 --- quit: Kumool (Ping timeout: 252 seconds) 18:02:33 --- join: Kumool (~kumool@adsl-64-237-235-171.prtc.net) joined #forth 18:49:40 --- quit: mnemnion (Remote host closed the connection) 18:54:11 --- join: mnemnion (~mnemnion@c-73-223-96-148.hsd1.ca.comcast.net) joined #forth 19:01:57 --- quit: mnemnion (Remote host closed the connection) 19:17:26 --- join: mnemnion (~mnemnion@c-73-223-96-148.hsd1.ca.comcast.net) joined #forth 19:42:23 --- join: Keshl_ (~Purple@24.115.181.94.res-cmts.gld.ptd.net) joined #forth 19:42:31 --- quit: Keshl (Read error: Connection reset by peer) 20:29:30 --- quit: little_bit (Quit: leaving) 21:02:55 --- join: Kumool_ (~kumool@adsl-64-237-235-171.prtc.net) joined #forth 21:03:01 --- quit: Kumool (Ping timeout: 276 seconds) 21:14:42 --- quit: mnemnion (Remote host closed the connection) 21:27:09 --- join: mnemnion (~mnemnion@c-73-223-96-148.hsd1.ca.comcast.net) joined #forth 21:36:59 --- quit: mnemnion (Remote host closed the connection) 21:44:37 --- join: mnemnion (~mnemnion@c-73-223-96-148.hsd1.ca.comcast.net) joined #forth 21:50:35 --- quit: proteusguy_satri (Ping timeout: 250 seconds) 21:51:31 --- quit: karswell (Remote host closed the connection) 21:52:11 --- join: karswell` (~user@55.197.125.91.dyn.plus.net) joined #forth 21:57:12 --- quit: beretta (*.net *.split) 22:01:34 --- join: proteusguy_satri (~proteusgu@seg75-h05-89-88-184-159.dsl.sta.abo.bbox.fr) joined #forth 22:03:06 --- join: beretta (~beretta@cpe-65-185-42-203.columbus.res.rr.com) joined #forth 22:13:09 --- quit: Kumool_ (Read error: Connection reset by peer) 22:40:47 --- quit: beretta (Ping timeout: 240 seconds) 22:41:13 --- join: beretta (~beretta@cpe-65-185-42-203.columbus.res.rr.com) joined #forth 23:15:50 --- quit: diginet2 (Quit: diginet has left the building) 23:18:21 --- join: diginet2 (~diginet@107.170.146.29) joined #forth 23:50:46 --- join: true-grue (~true-grue@176.14.216.104) joined #forth 23:59:59 --- log: ended forth/16.03.10