You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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.
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.
The text was updated successfully, but these errors were encountered: