<p>This is covered pretty nicely in the project README. <a href="https://github.com/Plutonomicon/plutarch#why-plutarch" rel="noreferrer">https://github.com/Plutonomicon/plutarch#why-plutarch</a></p>
<p>In short, Plutus Tx attempts to replicate Haskell-like lazy semantics inside of Untyped Plutus Core, which is strict by default.  Untyped Plutus Core is the compilation target of Plutus which is actually run onchain.</p>
<p>As a result, the plutus interpreter injects a lot of unnecessary code, and makes it very difficult to reason about the time/space complexity of the code that you write.</p>
<p>This is compounded by very low limits for plutus script size, memory, and cpu usage which prevents scripts from running onchain if they are exceeded. As a result, Plutus Tx is only viable for very simple plutus contracts.</p>
<p>Plutarch is 300%+ more efficient on all three of these limits, allowing the same logic to be expressed with less than 1/4 of the resource usage.  it is written using haskell, yet makes no attempt to maintain Haskell's lazy semantics, instead i</p>

CC BY-SA 4.0
2022-02-03T22:01:53.170Z
It looks like your answer got cut short.
Mitchell Turner
CC BY-SA 4.0
2022-02-03T16:54:53.343Z
2022-02-03T16:54:53.343Z
Ben
<p>Is Plutarch a good replacement for Plutus Tx?</p>
<ul>
<li><a href="https://github.com/Plutonomicon/plutarch/blob/master/docs/GUIDE.md" rel="nofollow noreferrer">https://github.com/Plutonomicon/plutarch/blob/master/docs/GUIDE.md</a></li>
</ul>

<plutus><plutustx>
What are the benefits of using Plutarch?
# What are the benefits of using Plutarch?

(Asked by: username_0 on 2022-02-01)

Is Plutarch a good replacement for Plutus Tx?

* <https://github.com/Plutonomicon/plutarch/blob/master/docs/GUIDE.md>

**Tags:** plutus, plutustx

---

## 1 answers

### Answer by username_1 on 2022-02-03. Score: 5

This is covered pretty nicely in the project README. <https://github.com/Plutonomicon/plutarch#why-plutarch>

In short, Plutus Tx attempts to replicate Haskell-like lazy semantics inside of Untyped Plutus Core, which is strict by default. Untyped Plutus Core is the compilation target of Plutus which is actually run onchain.

As a result, the plutus interpreter injects a lot of unnecessary code, and makes it very difficult to reason about the time/space complexity of the code that you write.

This is compounded by very low limits for plutus script size, memory, and cpu usage which prevents scripts from running onchain if they are exceeded. As a result, Plutus Tx is only viable for very simple plutus contracts.

Plutarch is 300%+ more efficient on all three of these limits, allowing the same logic to be expressed with less than 1/4 of the resource usage. it is written using haskell, yet makes no attempt to maintain Haskell's lazy semantics, instead i

> **Comments:**
> **username_2**: It looks like your answer got cut short.  

---

