-
Notifications
You must be signed in to change notification settings - Fork 482
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use Agda Haskell lib instead of MAlonzo (#6562)
Co-authored-by: zeme <lorenzo.calegari@iohk.io>
- Loading branch information
1 parent
d7d35f0
commit 6fa1bc9
Showing
15 changed files
with
445 additions
and
188 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,147 @@ | ||
{ repoRoot, inputs, pkgs, system, lib }: | ||
|
||
rec { | ||
|
||
agda-stdlib = agda-packages.standard-library.overrideAttrs (oldAtts: rec { | ||
|
||
version = "1.7.3"; | ||
|
||
src = pkgs.fetchFromGitHub { | ||
repo = "agda-stdlib"; | ||
owner = "agda"; | ||
rev = "v${version}"; | ||
sha256 = "sha256-vtL6VPvTXhl/mepulUm8SYyTjnGsqno4RHDmTIy22Xg="; | ||
}; | ||
|
||
# This is preConfigure is copied from more recent nixpkgs that also | ||
# uses version 1.7 of standard-library. Old nixpkgs (that used 1.4) | ||
# had a preConfigure step that worked with 1.7. Less old nixpkgs | ||
# (that used 1.6) had a preConfigure step that attempts to `rm` | ||
# files that are now in the .gitignore list for 1. | ||
preConfigure = '' | ||
runhaskell GenerateEverything.hs | ||
# We will only build/consider Everything.agda, in particular we don't want Everything*.agda | ||
# do be copied to the store. | ||
rm EverythingSafe.agda | ||
''; | ||
}); | ||
|
||
|
||
# We want to keep control of which version of Agda we use, so we supply our own and override | ||
# the one from nixpkgs. | ||
# | ||
# The Agda builder needs a derivation with: | ||
# - The 'agda' executable | ||
# - The 'agda-mode' executable | ||
# - A 'version' attribute | ||
# | ||
# So we stitch one together here. | ||
# | ||
# Furthermore, the agda builder uses a `ghcWithPackages` that has to have ieee754 available. | ||
# We'd like it to use the same GHC as we have, if nothing else just to avoid depending on | ||
# another GHC from nixpkgs! Sadly, this one is harder to override, and we just hack | ||
# it into pkgs.haskellPackages in a fragile way. Annoyingly, this also means we have to ensure | ||
# we have a few extra packages that it uses in our Haskell package set. | ||
agda-packages = | ||
let | ||
Agda = agda-project.hsPkgs.Agda; | ||
|
||
frankenAgdaBin = pkgs.symlinkJoin { | ||
name = "agda"; | ||
version = Agda.identifier.version; | ||
paths = [ | ||
Agda.components.exes.agda | ||
Agda.components.exes.agda-mode | ||
]; | ||
}; | ||
|
||
frankenAgda = frankenAgdaBin // { | ||
# Newer Agda is built with enableSeparateBinOutput, hence this hacky workaround. | ||
# https://github.com/NixOS/nixpkgs/commit/294245f7501e0a8e69b83346a4fa5afd4ed33ab3 | ||
bin = frankenAgdaBin; | ||
}; | ||
|
||
frankenPkgs = | ||
pkgs // | ||
{ | ||
haskellPackages = pkgs.haskellPackages // | ||
{ | ||
inherit (agda-project) ghcWithPackages; | ||
}; | ||
}; | ||
in | ||
pkgs.agdaPackages.override { | ||
Agda = frankenAgda; | ||
pkgs = frankenPkgs; | ||
}; | ||
|
||
|
||
# Agda is a huge pain. They have a special custom setup that compiles the | ||
# interface files for the Agda that ships with the compiler. These go in | ||
# the data files for the *library*, but they require the *executable* to | ||
# compile them, which depends on the library! They get away with it by | ||
# using the old-style builds and building everything together, we can't | ||
# do that. | ||
# So we work around it: | ||
# - turn off the custom setup | ||
# - manually compile the executable (fortunately it has no extra dependencies!) | ||
# and do the compilation at the end of the library derivation. | ||
# In addition, depending on whether we are cross-compiling or not, the | ||
# compiler-nix-name handed to us by haskell.nix will be different, so we need | ||
# to pass it in. | ||
agda-project-module-patch = { compiler-nix-name }: { | ||
packages.Agda.doHaddock = lib.mkForce false; | ||
packages.Agda.package.buildType = lib.mkForce "Simple"; | ||
packages.Agda.components.library.enableSeparateDataOutput = lib.mkForce true; | ||
packages.Agda.components.library.postInstall = '' | ||
# Compile the executable using the package DB we've just made, which contains | ||
# the main Agda library | ||
${compiler-nix-name} src/main/Main.hs -package-db=$out/package.conf.d -o agda | ||
# Find all the files in $data | ||
shopt -s globstar | ||
files=($data/**/*.agda) | ||
for f in "''${files[@]}" ; do | ||
echo "Compiling $f" | ||
# This is what the custom setup calls in the end | ||
./agda --no-libraries --local-interfaces $f | ||
done | ||
''; | ||
}; | ||
|
||
|
||
agda-project-module-patch-default = agda-project-module-patch { | ||
compiler-nix-name = "ghc"; | ||
}; | ||
|
||
|
||
agda-project-module-patch-musl64 = agda-project-module-patch { | ||
compiler-nix-name = "x86_64-unknown-linux-musl-ghc"; | ||
}; | ||
|
||
|
||
agda-with-stdlib = agda-packages.agda.withPackages [ agda-stdlib ]; | ||
|
||
|
||
agda-project = pkgs.haskell-nix.hackage-project { | ||
name = "Agda"; | ||
version = "2.6.4.3"; | ||
compiler-nix-name = "ghc96"; | ||
cabalProjectLocal = "extra-packages: ieee754, filemanip"; | ||
modules = [ agda-project-module-patch-default ]; | ||
}; | ||
|
||
|
||
# TODO this is a bit of a hack, but it's the only way to get the uplc | ||
# executable to find the metatheory and the stdandard library. | ||
shell-hook-exports = '' | ||
export AGDA_STDLIB_SRC="${agda-stdlib}/src" | ||
export PLUTUS_METHATHEORY_SRC="./plutus-metatheory/src" | ||
''; | ||
|
||
|
||
wrap-program-args = '' | ||
--set AGDA_STDLIB_SRC "${agda-stdlib}/src" \ | ||
--set PLUTUS_METHATHEORY_SRC "./plutus-metatheory/src" | ||
''; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
6fa1bc9
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Possible performance regression was detected for benchmark 'Plutus Benchmarks'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold
1.05
.validation-auction_1-1
256.3
μs180.5
μs1.42
validation-auction_1-2
909.6
μs641.2
μs1.42
validation-auction_1-3
829.8
μs636.6
μs1.30
validation-auction_2-3
1190
μs839.5
μs1.42
validation-auction_2-4
900.9
μs636.7
μs1.41
validation-game-sm-success_1-4
292
μs235.7
μs1.24
validation-multisig-sm-1
493.3
μs415.1
μs1.19
validation-prism-3
528.8
μs368.1
μs1.44
validation-pubkey-1
202.5
μs141.7
μs1.43
validation-stablecoin_1-1
1286
μs900.7
μs1.43
validation-stablecoin_1-2
281.6
μs219.8
μs1.28
validation-decode-auction_1-3
770.7
μs718.8
μs1.07
validation-decode-auction_2-2
772.5
μs536.6
μs1.44
validation-decode-auction_2-3
772.7
μs539.5
μs1.43
validation-decode-auction_2-4
774
μs540.7
μs1.43
validation-decode-auction_2-5
274.7
μs192.9
μs1.42
validation-decode-crowdfunding-success-1
335.2
μs235.3
μs1.42
validation-decode-crowdfunding-success-2
334.4
μs235.7
μs1.42
validation-decode-crowdfunding-success-3
334.3
μs235.4
μs1.42
validation-decode-currency-1
336
μs238
μs1.41
validation-decode-escrow-redeem_1-1
447.1
μs316
μs1.41
validation-decode-escrow-redeem_1-2
440.5
μs364.2
μs1.21
validation-decode-future-settle-early-2
449.1
μs315.5
μs1.42
validation-decode-future-settle-early-3
451.2
μs316.3
μs1.43
validation-decode-future-settle-early-4
977.7
μs684.4
μs1.43
validation-decode-game-sm-success_1-1
750.7
μs535.6
μs1.40
validation-decode-game-sm-success_1-2
231.8
μs197.8
μs1.17
validation-decode-game-sm-success_1-3
656.4
μs527.1
μs1.25
validation-decode-game-sm-success_2-1
558.8
μs528.3
μs1.06
validation-decode-game-sm-success_2-2
169.7
μs160.9
μs1.05
validation-decode-game-sm-success_2-3
565.8
μs527.2
μs1.07
validation-decode-game-sm-success_2-4
232.1
μs163.8
μs1.42
validation-decode-game-sm-success_2-5
750.9
μs529.1
μs1.42
validation-decode-game-sm-success_2-6
232.2
μs164.2
μs1.41
validation-decode-multisig-sm-1
835.5
μs587.8
μs1.42
validation-decode-multisig-sm-2
835.4
μs588.1
μs1.42
validation-decode-multisig-sm-3
833.4
μs587.9
μs1.42
validation-decode-multisig-sm-4
832.6
μs589
μs1.41
validation-decode-multisig-sm-5
817.3
μs588.1
μs1.39
validation-decode-multisig-sm-6
833
μs613.7
μs1.36
validation-decode-stablecoin_1-2
225.4
μs208.9
μs1.08
validation-decode-stablecoin_2-4
178.7
μs160.6
μs1.11
validation-decode-uniswap-4
252.9
μs178.1
μs1.42
validation-decode-uniswap-5
1022
μs722.2
μs1.42
validation-decode-uniswap-6
253.9
μs178.9
μs1.42
validation-decode-vesting-1
389.3
μs327.5
μs1.19
nofib-clausify/formula1
4297
μs3031
μs1.42
nofib-clausify/formula2
5753
μs4065.0000000000005
μs1.42
nofib-clausify/formula3
15660
μs11080
μs1.41
nofib-clausify/formula4
36030
μs25350
μs1.42
nofib-clausify/formula5
72590
μs67120
μs1.08
nofib-primetest/30digits
90270
μs78990
μs1.14
nofib-queens4x4/bt
6683
μs5343
μs1.25
nofib-queens4x4/bjbt1
8109.999999999999
μs7392
μs1.10
nofib-queens5x5/bjbt2
116900
μs97920
μs1.19
nofib-queens5x5/fc
223100
μs173800
μs1.28
marlowe-semantics/0000020002010200020101020201000100010001020101020201010000020102
449.7
μs316.2
μs1.42
marlowe-semantics/0001000101000000010101000001000001010101010100000001000001010000
611.3
μs433.1
μs1.41
marlowe-semantics/0003040402030103010203030303000200000104030002040304020400000102
1454
μs1022.9999999999999
μs1.42
marlowe-semantics/004025fd712d6c325ffa12c16d157064192992faf62e0b991d7310a2f91666b8
1132
μs799.4
μs1.42
marlowe-semantics/0101010001010101010101000100010100000001010000010001000001000101
1285
μs914.1
μs1.41
marlowe-semantics/202d273721330b31193405101e0637202e2a0f1140211c3e3f171e26312b0220
7967
μs5881
μs1.35
marlowe-semantics/21953bf8798b28df60cb459db24843fb46782b19ba72dc4951941fb4c20d2263
495.7
μs349.9
μs1.42
marlowe-semantics/238b21364ab5bdae3ddb514d7001c8feba128b4ddcf426852b441f9a9d02c882
423.6
μs306.3
μs1.38
marlowe-semantics/33c3efd79d9234a78262b52bc6bbf8124cb321a467dedb278328215167eca455
762.7
μs618.6
μs1.23
marlowe-semantics/383683bfcecdab0f4df507f59631c702bd11a81ca3841f47f37633e8aacbb5de
1064
μs751.9
μs1.42
marlowe-semantics/3bb75b2e53eb13f718eacd3263ab4535f9137fabffc9de499a0de7cabb335479
409.7
μs298.3
μs1.37
marlowe-semantics/3db496e6cd39a8b888a89d0de07dace4397878958cab3b9d9353978b08c36d8a
946.7
μs820.6
μs1.15
marlowe-semantics/44a9e339fa25948b48637fe7e10dcfc6d1256319a7b5ce4202cb54dfef8e37e7
421.9
μs299.5
μs1.41
marlowe-semantics/4c3efd13b6c69112a8a888372d56c86e60c232125976f29b1c3e21d9f537845c
1446
μs1016
μs1.42
marlowe-semantics/4d7adf91bfc93cebe95a7e054ec17cfbb912b32bd8aecb48a228b50e02b055c8
978.3
μs689.9
μs1.42
marlowe-semantics/4f9e8d361b85e62db2350dd3ae77463540e7af0d28e1eb68faeecc45f4655f57
557.3
μs394.4
μs1.41
marlowe-semantics/52df7c8dfaa5f801cd837faa65f2fd333665fff00a555ce8c55e36ddc003007a
502.5
μs354.7
μs1.42
marlowe-semantics/53ed4db7ab33d6f907eec91a861d1188269be5ae1892d07ee71161bfb55a7cb7
508.4
μs359.6
μs1.41
marlowe-semantics/55dfe42688ad683b638df1fa7700219f00f53b335a85a2825502ab1e0687197e
423.1
μs300.2
μs1.41
marlowe-semantics/56333d4e413dbf1a665463bf68067f63c118f38f7539b7ba7167d577c0c8b8ce
1093
μs772.4
μs1.42
marlowe-semantics/57728d8b19b0e06412786f3dfed9e1894cd0ad1d2bc2bd497ec0ecb68f989d2b
423.5
μs298.8
μs1.42
marlowe-semantics/5abae75af26f45658beccbe48f7c88e74efdfc0b8409ba1e98f95fa5b6caf999
679.2
μs480.8
μs1.41
marlowe-semantics/5d0a88250f13c49c20e146819357a808911c878a0e0a7d6f7fe1d4a619e06112
1448
μs1016.9999999999999
μs1.42
marlowe-semantics/5e274e0f593511543d41570a4b03646c1d7539062b5728182e073e5760561a66
1422
μs1002.9999999999999
μs1.42
marlowe-semantics/5e2c68ac9f62580d626636679679b97109109df7ac1a8ce86d3e43dfb5e4f6bc
730.3
μs514.8
μs1.42
marlowe-semantics/5f130d19918807b60eab4c03119d67878fb6c6712c28c54f5a25792049294acc
424.2
μs300.7
μs1.41
marlowe-semantics/5f306b4b24ff2b39dab6cdc9ac6ca9bb442c1dc6f4e7e412eeb5a3ced42fb642
1062
μs749.5
μs1.42
marlowe-semantics/5f3d46c57a56cef6764f96c9de9677ac6e494dd7a4e368d1c8dd9c1f7a4309a5
682.2
μs482.5
μs1.41
marlowe-semantics/64c3d5b43f005855ffc4d0950a02fd159aa1575294ea39061b81a194ebb9eaae
846.9
μs653.9
μs1.30
marlowe-semantics/70f65b21b77ddb451f3df9d9fb403ced3d10e1e953867cc4900cc25e5b9dec47
1050
μs778.4
μs1.35
marlowe-semantics/71965c9ccae31f1ffc1d85aa20a356d4ed97a420954018d8301ec4f9783be0d7
661.5
μs468.5
μs1.41
marlowe-semantics/74c67f2f182b9a0a66c62b95d6fac5ace3f7e71ea3abfc52ffbe3ecb93436ea2
1126
μs793.4
μs1.42
marlowe-semantics/7529b206a78becb793da74b78c04d9d33a2540a1abd79718e681228f4057403a
1114
μs787.9
μs1.41
marlowe-semantics/75a8bb183688bce447e00f435a144c835435e40a5defc6f3b9be68b70b4a3db6
962.8
μs688.4
μs1.40
marlowe-semantics/7a758e17486d1a30462c32a5d5309bd1e98322a9dcbe277c143ed3aede9d265f
712.9
μs507.2
μs1.41
marlowe-semantics/7cbc5644b745f4ea635aca42cce5e4a4b9d2e61afdb3ac18128e1688c07071ba
668.5
μs473.4
μs1.41
marlowe-semantics/82213dfdb6a812b40446438767c61a388d2c0cfd0cbf7fd4a372b0dc59fa17e1
1783
μs1269
μs1.41
marlowe-semantics/8c7fdc3da6822b5112074380003524f50fb3a1ce6db4e501df1086773c6c0201
1629
μs1153
μs1.41
marlowe-semantics/8d9ae67656a2911ab15a8e5301c960c69aa2517055197aff6b60a87ff718d66c
496
μs350.2
μs1.42
marlowe-semantics/96e1a2fa3ceb9a402f2a5841a0b645f87b4e8e75beb636692478ec39f74ee221
424.2
μs300.8
μs1.41
marlowe-semantics/9fabc4fc3440cdb776b28c9bb1dd49c9a5b1605fe1490aa3f4f64a3fa8881b25
1436
μs1016
μs1.41
marlowe-semantics/a85173a832db3ea944fafc406dfe3fa3235254897d6d1d0e21bc380147687bd5
511.2
μs363
μs1.41
marlowe-semantics/a9a853b6d083551f4ed2995551af287880ef42aee239a2d9bc5314d127cce592
722
μs511.2
μs1.41
marlowe-semantics/acb9c83c2b78dabef8674319ad69ba54912cd9997bdf2d8b2998c6bfeef3b122
916.5
μs648.9
μs1.41
marlowe-semantics/acce04815e8fd51be93322888250060da173eccf3df3a605bd6bc6a456cde871
387.6
μs274.1
μs1.41
marlowe-semantics/ad6db94ed69b7161c7604568f44358e1cc11e81fea90e41afebd669e51bb60c8
816.6
μs580.9
μs1.41
marlowe-semantics/b21a4df3b0266ad3481a26d3e3d848aad2fcde89510b29cccce81971e38e0835
1893
μs1346
μs1.41
marlowe-semantics/b50170cea48ee84b80558c02b15c6df52faf884e504d2c410ad63ba46d8ca35c
1069
μs757.2
μs1.41
marlowe-semantics/bb5345bfbbc460af84e784b900ec270df1948bb1d1e29eacecd022eeb168b315
1340
μs950.4
μs1.41
marlowe-semantics/c4bb185380df6e9b66fc1ee0564f09a8d1253a51a0c0c7890f2214df9ac19274
1037
μs734.2
μs1.41
marlowe-semantics/c9efcb705ee057791f7c18a1de79c49f6e40ba143ce0579f1602fd780cabf153
1144
μs812
μs1.41
marlowe-semantics/ccab11ce1a8774135d0e3c9e635631b68af9e276b5dabc66ff669d5650d0be1c
1373
μs1000.9999999999999
μs1.37
marlowe-semantics/cdb9d5c233b288a5a9dcfbd8d5c1831a0bb46eec7a26fa31b80ae69d44805efc
1195
μs874.4
μs1.37
marlowe-semantics/ced1ea04649e093a501e43f8568ac3e6b37cd3eccec8cac9c70a4857b88a5eb8
1176
μs833.7
μs1.41
marlowe-semantics/cf542b7df466b228ca2197c2aaa89238a8122f3330fe5b77b3222f570395d9f5
680.9
μs615.4
μs1.11
marlowe-role-payout/01dcc372ea619cb9f23c45b17b9a0a8a16b7ca0e04093ef8ecce291667a99a4c
227.4
μs161
μs1.41
marlowe-role-payout/0201020201020000020000010201020001020200000002010200000101010100
259.7
μs183.9
μs1.41
marlowe-role-payout/0202010002010100020102020102020001010101020102010001010101000100
241.8
μs171
μs1.41
marlowe-role-payout/0303020000020001010201060303040208070100050401080304020801030001
244.1
μs172.2
μs1.42
marlowe-role-payout/031d56d71454e2c4216ffaa275c4a8b3eb631109559d0e56f44ea8489f57ba97
287.5
μs203.3
μs1.41
marlowe-role-payout/03d730a62332c51c7b70c16c64da72dd1c3ea36c26b41cd1a1e00d39fda3d6cc
272.1
μs192.1
μs1.42
marlowe-role-payout/0403020000030204010000030001000202010101000304030001040404030100
252
μs178.5
μs1.41
marlowe-role-payout/0405010105020401010304080005050800040301010800080207080704020206
277.6
μs196.2
μs1.41
marlowe-role-payout/041a2c3b111139201a3a2c173c392b170e16370d300f2d28342d0f2f0e182e01
276.8
μs195.8
μs1.41
marlowe-role-payout/04f592afc6e57c633b9c55246e7c82e87258f04e2fb910c37d8e2417e9db46e5
321.5
μs227.5
μs1.41
marlowe-role-payout/057ebc80922f16a5f4bf13e985bf586b8cff37a2f6fe0f3ce842178c16981027
236
μs167.4
μs1.41
marlowe-role-payout/06317060a8e488b1219c9dae427f9ce27918a9e09ee8ac424afa33ca923f7954
250.7
μs177.7
μs1.41
marlowe-role-payout/07658a6c898ad6d624c37df1e49e909c2e9349ba7f4c0a6be5f166fe239bfcae
230.3
μs162.9
μs1.41
marlowe-role-payout/0e97c9d9417354d9460f2eb35018d3904b7b035af16ab299258adab93be0911a
262.4
μs185.5
μs1.41
marlowe-role-payout/0f010d040810040b10020e040f0e030b0a0d100f0c080c0c05000d04100c100f
275.2
μs194.6
μs1.41
marlowe-role-payout/1138a04a83edc0579053f9ffa9394b41df38230121fbecebee8c039776a88c0c
243.8
μs172
μs1.42
marlowe-role-payout/121a0a1b12030616111f02121a0e070716090a0e031c071419121f141409031d
234.8
μs165.5
μs1.42
marlowe-role-payout/159e5a1bf16fe984b5569be7011b61b5e98f5d2839ca7e1b34c7f2afc7ffb58e
240.1
μs169.6
μs1.42
marlowe-role-payout/195f522b596360690d04586a2563470f2214163435331a6622311f7323433f1c
232.4
μs164.3
μs1.41
marlowe-role-payout/1a20b465d48a585ffd622bd8dc26a498a3c12f930ab4feab3a5064cfb3bc536a
259.4
μs183.3
μs1.42
marlowe-role-payout/211e1b6c10260c4620074d2e372c260d38643a3d605f63772524034f0a4a7632
247.9
μs175.2
μs1.41
marlowe-role-payout/21a1426fb3fb3019d5dc93f210152e90b0a6e740ef509b1cdd423395f010e0ca
261.2
μs184.8
μs1.41
marlowe-role-payout/224ce46046fab9a17be4197622825f45cc0c59a6bd1604405148e43768c487ef
243.3
μs171.9
μs1.42
marlowe-role-payout/371c10d2526fc0f09dbe9ed59e44dcd949270b27dc42035addd7ff9f7e0d05e7
226.6
μs197.8
μs1.15
marlowe-role-payout/3897ef714bba3e6821495b706c75f8d64264c3fdaa58a3826c808b5a768c303d
244.8
μs173.1
μs1.41
marlowe-role-payout/4121d88f14387d33ac5e1329618068e3848445cdd66b29e5ba382be2e02a174a
276.9
μs196.1
μs1.41
marlowe-role-payout/ff38b1ec89952d0247630f107a90cbbeb92ecbfcd19b284f60255718e4ec7548
283.2
μs198.9
μs1.42
This comment was automatically generated by workflow using github-action-benchmark.
CC: @IntersectMBO/plutus-core