On 2017-02-01 15:16, John Benediktsson wrote:
> I did that and it's not a huge amount, maybe 10-20%. We need to
> profile and see what else it's doing. Like I said, low hanging fruit
> are aplenty.
> 
> 
>> On Feb 1, 2017, at 12:37 AM, pet...@riseup.net wrote:
>> 
>>> 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
> 
> ------------------------------------------------------------------------------
> 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

I would consider contributing if you tell me the startup time can be cut 
down to 5% of the current one :) That would make the runtime usable for 
short scripts in shell pipelines and such.

-- 
------------
   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

Reply via email to