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, <[email protected]> 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, <[email protected]
>> >> <mailto:[email protected]>> 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, [email protected]
>> >> <mailto:[email protected]> 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
>> >> >> [email protected]
>> >> <mailto:[email protected]>
>> >> >> 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
>> >> > [email protected]
>> >> <mailto:[email protected]>
>> >> > 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
>> >> [email protected]
>> >> <mailto:[email protected]>
>> >> 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
>> >> [email protected]
>> >> 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
>> > [email protected]
>> > 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
>> [email protected]
>> 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
> [email protected]
> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/factor-talk