# A tale of two kernels

**URL:** <https://discourse.haskell.org/t/a-tale-of-two-kernels/13323>\
**Category:** Links\
**Created:** [November 26, 2025, 6:10am UTC](https://discourse.haskell.org/t/a-tale-of-two-kernels/13323 "2025-11-26T06:10:25Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![mchav](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/mchav/32/5143_2.png) [@mchav](https://discourse.haskell.org/u/mchav)\
**Post date:** [November 26, 2025, 6:10am UTC](https://discourse.haskell.org/t/a-tale-of-two-kernels/13323/1 "2025-11-26T06:10:25Z")

</div>

> **[A tale of two kernels](https://www.datahaskell.org/blog/2025/11/25/a-tale-of-two-kernels.html)**
>
> Overview

---

<div class="post-metadata">

**Author:** ![artem](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/artem/32/56_2.png) [@artem](https://discourse.haskell.org/u/artem)\
**Post date:** [November 29, 2025, 1:12am UTC](https://discourse.haskell.org/t/a-tale-of-two-kernels/13323/2 "2025-11-29T01:12:16Z")

</div>

Thanks for pushing data haskell! I have a minor off-topic comment about this blog post and probably the rest of the blog/website: it is really hard to read the text for me. The font is very skinny; the contrast between the text color and the background color is too low; finally, the background color is too bright for my eyes. I’d appreciate it if this issue could be fixed.

---

<div class="post-metadata">

**Author:** ![tonyday567](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/tonyday567/32/1073_2.png) [@tonyday567](https://discourse.haskell.org/u/tonyday567)\
**Post date:** [November 29, 2025, 6:29am UTC](https://discourse.haskell.org/t/a-tale-of-two-kernels/13323/3 "2025-11-29T06:29:17Z")

</div>

On to it. What do you think of the light and dark versions of this page?

> **[posts](https://tonyday567.github.io/posts/)**

---

<div class="post-metadata">

**Author:** ![artem](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/artem/32/56_2.png) [@artem](https://discourse.haskell.org/u/artem)\
**Post date:** [November 29, 2025, 4:37pm UTC](https://discourse.haskell.org/t/a-tale-of-two-kernels/13323/4 "2025-11-29T16:37:43Z")

</div>

Much better, thanks! The light version has no issue to my eye. The dark version has almost everything right except for the contrast: I’d make the font lighter or the background darker (or both). But it’s much easier to read for me already!

---

<div class="post-metadata">

**Author:** ![tonyday567](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/tonyday567/32/1073_2.png) [@tonyday567](https://discourse.haskell.org/u/tonyday567)\
**Post date:** [November 29, 2025, 6:58pm UTC](https://discourse.haskell.org/t/a-tale-of-two-kernels/13323/5 "2025-11-29T18:58:59Z")

</div>

We’re still cleaning up from the last dataHaskell crew. It was the gitter era, and I think we’ve all memory-holed just how skinny fonts got: [https://gitter.im/](https://gitter.im/)

---

<div class="post-metadata">

**Author:** ![augustss](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/augustss/32/887_2.png) [@augustss](https://discourse.haskell.org/u/augustss)\
**Post date:** [November 29, 2025, 8:33pm UTC](https://discourse.haskell.org/t/a-tale-of-two-kernels/13323/6 "2025-11-29T20:33:02Z")

</div>

How do you reach the conclusion that MicroHs is slower than GHCi? Interactive `mhs` runs at the same speed as compiled `mhs`. I tried the follwing benchmark:

```haskell
data T = Leaf Int | Node T T
mkT :: Int -> T; mkT 1 = Leaf 1; mkT n = Node (mkT (n-1)) (mkT (n-1))
sumT (Leaf n) = n; sumT (Node t1 t2) = sumT t1 + sumT t2

```

And `mhs` is about twice as fast as GHCi. I’d be interested to see what benchmark you used and see if I can speed it up.

---

<div class="post-metadata">

**Author:** ![mchav](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/mchav/32/5143_2.png) [@mchav](https://discourse.haskell.org/u/mchav)\
**Post date:** [November 30, 2025, 9:15am UTC](https://discourse.haskell.org/t/a-tale-of-two-kernels/13323/7 "2025-11-30T09:15:50Z")

</div>

I don’t have my laptop with me this weekend so I can’t share the specific example. But on my computer calling some compiled code that does unboxed array computation was slower than calling that same code in ghc. I think in this case ghci was more of a front end than the compute engine. I’m yet to test standalone computations as you’ve done.

Also in the iHaskell vs Xeus Haskell context - iHaskell is a ghc interpreter that wraps some compiled code as in in the ghci case. But xeus seems to ship all of microhs as one big interpreter in WASM which makes the compute difference more noticeable.

So I’m not sure that’s necessarily a microhs thing as it is a delivery method thing.

---

<div class="post-metadata">

**Author:** ![augustss](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/augustss/32/887_2.png) [@augustss](https://discourse.haskell.org/u/augustss)\
**Post date:** [November 30, 2025, 5:59pm UTC](https://discourse.haskell.org/t/a-tale-of-two-kernels/13323/8 "2025-11-30T17:59:00Z")

</div>

Yeah, if most of what you do is calling compiled code then ghc will be a lot faster.
