Re: [Chicken-hackers] [PATCH] Improve irregex matching performance a lot by adding two type declarations

2015-12-14 Thread Jörg F . Wittenberger
Am 12.12.2015 um 16:13 schrieb John Cowan: > Peter Bex scripsit: > >> Maybe this is a good feature to add: a way to indicate that a type >> declaration for the argument types to a procedure declared elsewhere >> should be considered an assumption in the procedure body. This way >> it would not

Re: [Chicken-hackers] [PATCH] Improve irregex matching performance a lot by adding two type declarations

2015-12-13 Thread Jörg F . Wittenberger
Am 12.12.2015 um 20:28 schrieb Peter Bex: >>> Maybe this is a good feature to add: a way to indicate that a type >>> > > declaration for the argument types to a procedure declared elsewhere >>> > > should be considered an assumption in the procedure body. >> > >> > I'm afraid that I don't quite

Re: [Chicken-hackers] [PATCH] Improve irregex matching performance a lot by adding two type declarations

2015-12-12 Thread John Cowan
Peter Bex scripsit: > Maybe this is a good feature to add: a way to indicate that a type > declaration for the argument types to a procedure declared elsewhere > should be considered an assumption in the procedure body. This way > it would not only affect callers, but also the procedure itself,

Re: [Chicken-hackers] [PATCH] Improve irregex matching performance a lot by adding two type declarations

2015-12-12 Thread Peter Bex
On Wed, Dec 09, 2015 at 08:59:17AM +0100, Peter Bex wrote: > On Tue, Dec 08, 2015 at 10:35:35PM +0100, felix.winkelm...@bevuta.com wrote: > > > Now, if you look at the patch you'll see that it changes irregex-core.scm, > > > which means it creates a "fork" against that part of the code in

Re: [Chicken-hackers] [PATCH] Improve irregex matching performance a lot by adding two type declarations

2015-12-12 Thread Dan Leslie
> And even if there are other Schemes with type hints (I'd love to hear if > I've overlooked any!), I doubt they use a compatible syntax to ours, > which means a wrapper macro would be pretty hairy. Off the top of my head, there is also Kawa[0]. > Maybe this is a good feature to add: a way to

Re: [Chicken-hackers] [PATCH] Improve irregex matching performance a lot by adding two type declarations

2015-12-12 Thread Peter Bex
On Sat, Dec 12, 2015 at 09:47:14AM -0800, Dan Leslie wrote: > > > And even if there are other Schemes with type hints (I'd love to hear if > > I've overlooked any!), I doubt they use a compatible syntax to ours, > > which means a wrapper macro would be pretty hairy. > > Off the top of my head,

Re: [Chicken-hackers] [PATCH] Improve irregex matching performance a lot by adding two type declarations

2015-12-12 Thread John Cowan
Peter Bex scripsit: > I can't say I find the documentation very clear, but it looks like it > doesn't really use these declarations to optimize code (which is the > goal of this patch). It does, actually, specifically for JVM primitive types. However, there are no external type declarations,

Re: [Chicken-hackers] [PATCH] Improve irregex matching performance a lot by adding two type declarations

2015-12-08 Thread Peter Bex
On Tue, Dec 08, 2015 at 10:35:35PM +0100, felix.winkelm...@bevuta.com wrote: > > Now, if you look at the patch you'll see that it changes irregex-core.scm, > > which means it creates a "fork" against that part of the code in upstream. > > I don't see a way to declare the type from the "outside",

Re: [Chicken-hackers] [PATCH] Improve irregex matching performance a lot by adding two type declarations

2015-12-08 Thread Peter Bex
On Wed, Dec 09, 2015 at 01:30:47AM +0100, Kooda wrote: > On Tue, Dec 08, 2015 at 10:12:46PM +0100, Peter Bex wrote: > > Using the unpatched version: > > 1.336s CPU time, 0.028s GC time (major), 600061/2562 mutations > > (total/tracked), 11/2823 GCs (major/minor) > > > > Using the patched

[Chicken-hackers] [PATCH] Improve irregex matching performance a lot by adding two type declarations

2015-12-08 Thread Peter Bex
Hi all, I've done some benchmarking of the irregex unit and I found that the single most performance-critical part of the code is "cset-contains?". This procedure is used to check the current character in the input string against the regex DFA state's transition table while matching the input,

Re: [Chicken-hackers] [PATCH] Improve irregex matching performance a lot by adding two type declarations

2015-12-08 Thread felix . winkelmann
> Now, if you look at the patch you'll see that it changes irregex-core.scm, > which means it creates a "fork" against that part of the code in upstream. > I don't see a way to declare the type from the "outside", in irregex.scm, > unless we also copy that code body as a macro, but that feels