sixten icon indicating copy to clipboard operation
sixten copied to clipboard

Performance tracker

Open typesanitizer opened this issue 8 years ago • 3 comments

If I understand correctly, the primary motivation behind Sixten's design of having data unboxed by default is cache performance. As documented in the Readme, this approach creates some runtime overhead as functions need to be passed the sizes of the types, as Sixten doesn't do monomorphization by default. It would be nice if we could add some small benchmarks comparing Sixten to other functional languages, to have a concrete sense of how much the net benefit is.

For the monomorphization case, it would be useful to compare to other imperative languages too and check if it is similar where it ought to be. Since this ought to have similar cache performance, we could also isolate the runtime overhead by comparing the monomorphized benchmark with the ordinary benchmark.

An enhancement of this feature would be keeping track of running times over commits automatically. This would be useful when adding and optimizing new features such as records.

typesanitizer avatar Dec 03 '17 16:12 typesanitizer

Agreed, this would be great to have!

ollef avatar Dec 03 '17 18:12 ollef

I would be really interested in this, since if the difference is insignificant, there is probably no reason to use unboxed representation instead of boxed / lazy one.

AnthonyJacob avatar Mar 01 '18 17:03 AnthonyJacob

Contributions would be very welcome!

ollef avatar Mar 01 '18 18:03 ollef