hi,
I think I am happe now with the API for binary operators,
To see where I am heading, consider the bitvector implementation. Here is
e.g. how logxor is implemented
s1 logior s2 -> s2
(define (supervector-logxor! s1 s2)
(supervector-binary
;; The general case
logxor
;; The s1 part
A problem is that Guile doesn't really provide a god set of fast rank 1 ops.
None of them have strides!=1 for example (this is ok for regular vectors, but
it hurts for general arrays), and some are missing start/end or you have to
write wrappers yourself, like for the typed vectors (other than
I did some test ands wingo's superb compiler is about equally fast for a
hand made scheme loop as the automatic dispatch for getter and setter. It
e.g. can copy from
e.g. u8 to i16 in about 100 op's / second using native byte order. However
compiling it in C lead to nasty 2 Go ops / second. So for
When I made this code work I will start examine the impact of the design. I
suspect that it will, for complex cases
if not compiled be way slower then the compiled part and this is really the
hot path. For one thing, we will create 2 closures that
allocates memory at each iteration if not inlined.
> On 8 Sep 2021, at 04:04, Stefan Israelsson Tampe
> wrote:
>
...
> So using get-setter typically means
> ((get-setter #f bin1 #f
>(lambda (set) (set v 2 val)))
>
>#:is-endian 'little ;; only consider little endian setters like I
> know
>#:is-unsigned #t ;;
Today I added structure to support supervectors of scheme values and
refactored the code with a nice macrology. So now we
have an infrastructure that the compiler can compile to very efficient
code. All loop must be dispatched to the type of ref and set
operations. But the good part is that this se
Further developments are now in, features are (guided somewhat by how the
memory in linux/unix is managed and current guile strings)
1. chunked vectors e.g. we dived the vector in areas with different
properties
2. optionally typed e.g. we consider a vector of u32 etc of data so there
is a not
On Thu, Sep 02, 2021 at 12:11:12PM -0700, Matt Wette wrote:
> maybe guile could consider regexp's in scheme
> seeĀ https://ds26gte.github.io/pregexp/index.html
This would have other advantages (e.g. suspendable match
off a port), right?
Cheers
- t
signature.asc
Description: Digital signature
maybe guile could consider regexp's in scheme
seeĀ https://ds26gte.github.io/pregexp/index.html
On 9/2/21 8:45 AM, Stefan Israelsson Tampe wrote:
Hi guilers!
My next project is to explore a more advanced bytevector structure
than today's bytevectors.
I think that having this infrastructure in
Oh I just created the project, you can follow it here:
https://gitlab.com/tampe/stis-supervectors
On Thu, Sep 2, 2021 at 5:45 PM Stefan Israelsson Tampe <
stefan.ita...@gmail.com> wrote:
> Hi guilers!
>
> My next project is to explore a more advanced bytevector structure than
> today's bytevecto
10 matches
Mail list logo