Slava Pestov | 3 Sep 11:04

Faster loading of sequence implementations

Hi all,

For a long time, loading a vocabulary which defined a new type of
sequence would take forever due to recompilation. With the new
front-end and optimizer, not any more:

( scratchpad ) [ "bit-vectors" require ] time
Loading resource:basis/bit-vectors/bit-vectors.factor
Loading resource:basis/bit-vectors/bit-vectors-docs.factor
:warnings - print 1 semantic warnings.
==== RUNNING TIME

6465 ms

==== GARBAGE COLLECTION

                         Nursery  Aging    Tenured
GC count:                299      45       2
Cumulative GC time (ms): 274      634      631
Longest GC pause (ms):   10       20       419
Average GC pause (ms):   0        14       315
Objects copied:          649567   1345374  1787920
Bytes copied:            32764992 71420704 99889592

Total GC time (ms):      1539
Cards scanned:           275529
Decks scanned:           9426
Code heap literal scans: 33

( scratchpad ) [ "float-arrays" require ] time
(Continue reading)

Kobi Lurie | 3 Sep 11:41

Re: Faster loading of sequence implementations

Hey slava, for perceived speed, what about loading the factor code in 
the environment and loading the documentation in a spawned thread? 
(which will end later in its own time)
This way, it would return immediately after the factor code was loaded. 
which is what the user was probably waiting for.
maybe it will produce a perceived speedup.

Slava Pestov wrote:
> Hi all,
>
> For a long time, loading a vocabulary which defined a new type of
> sequence would take forever due to recompilation. With the new
> front-end and optimizer, not any more:
>
> ( scratchpad ) [ "bit-vectors" require ] time
> Loading resource:basis/bit-vectors/bit-vectors.factor
> Loading resource:basis/bit-vectors/bit-vectors-docs.factor
> :warnings - print 1 semantic warnings.
> ==== RUNNING TIME
>
> 6465 ms
>
> ==== GARBAGE COLLECTION
>
>                           Nursery  Aging    Tenured
> GC count:                299      45       2
> Cumulative GC time (ms): 274      634      631
> Longest GC pause (ms):   10       20       419
> Average GC pause (ms):   0        14       315
> Objects copied:          649567   1345374  1787920
(Continue reading)


Gmane