On 2017-02-01 00:19, John Benediktsson wrote: > Part of the startup time is calling all of our "startup hooks", of > which I > have 35 right now in my Factor instance, in all of these vocabularies: > > { > "alien" > "destructors" > "alien.strings" > "io.backend" > "source-files.errors" > "compiler.units" > "vocabs" > "io.files" > "vocabs.loader" > "command-line" > "threads" > "cpu.x86.features" > "io.thread" > "core-foundation.run-loop" > "environment" > "io.backend.unix:signal-pipe-thread" > "io.launcher" > "random.unix" > "bootstrap.random" > "io.sockets:ipv6-supported?" > "openssl" > "tools.crossref" > "cocoa" > "io.files.temp" > "tools.deprecation" > "core-foundation" > "vocabs.cache" > "vocabs.refresh.monitor" > "opengl.gl" > "opengl" > "ui" > "core-text.fonts" > "core-text" > "tools.errors.model" > "ui.tools.error-list" > } > > I'm sure a lot of that could be delayed in smart ways to make startup > time > faster, that's what I meant by low hanging fruit, but also not > something > that anyone is working on right now. > > Best, > John. > > On Mon, Jan 30, 2017 at 12:40 PM, <pet...@riseup.net> wrote: > >> On 2017-01-30 18:14, Timothy Hobbs wrote: >> > If you are on linux, you might try this very new feature: >> > https://criu.org/Main_Page >> > >> > On 01/30/2017 17:29, Jim Mack wrote: >> >> You could also set up factor as a local web server, and send bash >> >> requests to it through a web page, and it would be able to accomplish >> >> them locally (or remotely) and report you the results. It would be a >> >> quick round-trip cycle with great feedback and the ability to bookmark >> >> commands. >> >> >> >> On Sun, Jan 29, 2017 at 1:39 PM, <pet...@riseup.net >> >> <mailto:pet...@riseup.net>> wrote: >> >> >> >> On 2017-01-29 16:20, John Benediktsson wrote: >> >> > It would be nice to improve startup time. I imagine some low >> >> hanging >> >> > fruits if we looked deeply into it. I'll make a note to get that >> >> on my >> >> > list, unless someone looks into it sooner. >> >> > >> >> > >> >> > >> >> >> On Jan 28, 2017, at 2:25 PM, pet...@riseup.net >> >> <mailto:pet...@riseup.net> wrote: >> >> >> >> >> >> I spend a lot of time writing small scripts, often in bash. >> >> That is >> >> >> becoming a more and more painful task as bash is a nice-enough >> >> >> language >> >> >> on the first look but in the end it seems to go out of it's way >> >> to >> >> >> trip >> >> >> you up with every character you type. I don't mean to rant, I >> >> know >> >> >> it's >> >> >> an old language that has to keep a lot of backward >> >> compatibility and >> >> >> it >> >> >> actually still serves very well for what it was designed for, >> >> as long >> >> >> as >> >> >> your script stays <100 lines. Still, there's a lot to be >> >> desired. >> >> >> >> >> >> Factor is a cool language, it's very expressive, mature, has a >> >> lot of >> >> >> libraries and has all sorts of tricks up its sleaves to bend it >> >> to >> >> >> your >> >> >> will (much like lisp in that regard). It would be a fun >> >> experiment to >> >> >> write a library or EDSL (embedded DSL) for bash-like scripting. >> >> >> However >> >> >> there's a bone to be picked: >> >> >> >> >> >> $ time bash -c '' >> >> >> bash -c '' 0.00s user 0.00s system 94% cpu 0.004 total >> >> >> >> >> >> $ time factor-vm -e='' >> >> >> factor-vm -e='' 0.12s user 0.05s system 99% cpu 0.178 total >> >> >> >> >> >> I know one can create a custom image and maybe cut down on the >> >> startup >> >> >> a >> >> >> bit, but my question is - would it be possible to cut it down >> >> to >> >> >> bash's >> >> >> startup time *and* still have all the necessary vocabularies in >> >> it? I >> >> >> don't want to know the startup time with a small image that has >> >> like >> >> >> nothing in it, I can quickly test that myself. I'd need help to >> >> answer >> >> >> - >> >> >> if you imagine the use case I'm talking about, include all the >> >> vocabs >> >> >> that use case would need and make all other possible >> >> optimizations (if >> >> >> there are) without sacrificing too much, can the startup reach >> >> similar >> >> >> times? >> >> >> >> >> >> -- >> >> >> ------------ >> >> >> Peter Nagy >> >> >> ------------ >> >> >> >> >> >> >> >> >> >> ------------------------------------------------------------ >> ------------------ >> >> >> Check out the vibrant tech community on one of the world's most >> >> >> engaging tech sites, SlashDot.org! http://sdm.link/slashdot >> >> >> _______________________________________________ >> >> >> Factor-talk mailing list >> >> >> Factor-talk@lists.sourceforge.net >> >> <mailto:Factor-talk@lists.sourceforge.net> >> >> >> https://lists.sourceforge.net/lists/listinfo/factor-talk >> >> <https://lists.sourceforge.net/lists/listinfo/factor-talk> >> >> > >> >> > >> >> >> >> ------------------------------------------------------------ >> ------------------ >> >> > Check out the vibrant tech community on one of the world's most >> >> > engaging tech sites, SlashDot.org! http://sdm.link/slashdot >> >> > _______________________________________________ >> >> > Factor-talk mailing list >> >> > Factor-talk@lists.sourceforge.net >> >> <mailto:Factor-talk@lists.sourceforge.net> >> >> > https://lists.sourceforge.net/lists/listinfo/factor-talk >> >> <https://lists.sourceforge.net/lists/listinfo/factor-talk> >> >> >> >> Hi John, >> >> >> >> you think you can reach similar startup times? That would be >> >> really >> >> cool. I guess your todo list is rather long though. >> >> >> >> As a side note, are there other concatenative languages you know I >> >> could >> >> look at? >> >> >> >> -- >> >> ------------ >> >> Peter Nagy >> >> ------------ >> >> >> >> >> >> ------------------------------------------------------------ >> ------------------ >> >> Check out the vibrant tech community on one of the world's most >> >> engaging tech sites, SlashDot.org! http://sdm.link/slashdot >> >> _______________________________________________ >> >> Factor-talk mailing list >> >> Factor-talk@lists.sourceforge.net >> >> <mailto:Factor-talk@lists.sourceforge.net> >> >> https://lists.sourceforge.net/lists/listinfo/factor-talk >> >> <https://lists.sourceforge.net/lists/listinfo/factor-talk> >> >> >> >> >> >> >> >> >> >> ------------------------------------------------------------ >> ------------------ >> >> Check out the vibrant tech community on one of the world's most >> >> engaging tech sites, SlashDot.org! http://sdm.link/slashdot >> >> >> >> >> >> _______________________________________________ >> >> Factor-talk mailing list >> >> Factor-talk@lists.sourceforge.net >> >> https://lists.sourceforge.net/lists/listinfo/factor-talk >> > >> > >> > ------------------------------------------------------------ >> ------------------ >> > Check out the vibrant tech community on one of the world's most >> > engaging tech sites, SlashDot.org! http://sdm.link/slashdot >> > _______________________________________________ >> > Factor-talk mailing list >> > Factor-talk@lists.sourceforge.net >> > https://lists.sourceforge.net/lists/listinfo/factor-talk >> >> Thanks for the interesting links/ideas :) >> >> -- >> ------------ >> Peter Nagy >> ------------ >> >> ------------------------------------------------------------ >> ------------------ >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, SlashDot.org! http://sdm.link/slashdot >> _______________________________________________ >> Factor-talk mailing list >> Factor-talk@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/factor-talk >> > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > _______________________________________________ > Factor-talk mailing list > Factor-talk@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/factor-talk
Is there any dumb way for me to test what would the startup time be have I removed all the hooks? That would show what is the actual overhead all the hooks bring. -- ------------ Peter Nagy ------------ ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk