Skip to content

Commit e6c750a

Browse files
Update gh-pages
Store path: /nix/store/bgp4vqhn18pbvpwadh26d81w1nzdmyd3-website
1 parent f959d62 commit e6c750a

File tree

5 files changed

+51
-18
lines changed

5 files changed

+51
-18
lines changed

comparison.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,14 @@ <h1 id="comparison"><a class="header" href="#comparison">Comparison</a></h1>
158158
<li>Plutarch while decoding Data-encoded types is checking for invariants such as hashes lengths, map key ordering etc. which leads to higher start up cost visible in NFT Marketplace validator.</li>
159159
<li>Opshin does expose option to compile without tracing so that is included in the final size. All implementations use traces in their source code but remaining allow to strip it with a compilation flag.</li>
160160
</ul>
161+
<h2 id="versions"><a class="header" href="#versions">Versions</a></h2>
162+
<!-- versions.md -->
163+
<ul>
164+
<li>plutus-tx: 1.40.0.0</li>
165+
<li>plutarch: 1.10.1</li>
166+
<li>aiken: v1.0.24-alpha+unknown</li>
167+
<li>opshin: 0.23.0</li>
168+
</ul>
161169
<h2 id="script-size-bytes"><a class="header" href="#script-size-bytes">Script size (bytes)</a></h2>
162170
<p>Script sizes are compared by compiling each script to CBOR and taking its binary size in bytes. Validators are compiled without traces if language supports it (Opshin does not) and are not passed through any external UPLC optimizer.</p>
163171
<p><img src="./script_size.png" alt="size plot" /></p>

default.nix

Lines changed: 33 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,39 @@
1-
{
1+
{ lib, ... }: {
22
hercules-ci.github-pages.branch = "master";
3-
perSystem = { self', config, ... }: {
4-
hercules-ci.github-pages.settings.contents = config.packages.website;
3+
perSystem = { self', config, pkgs, ... }:
4+
let
5+
findCabalVersion = dep:
6+
(lib.findFirst
7+
(p: p.identifier.name == dep)
8+
(throw "No ${dep} in dependencies")
9+
self'.packages.${"${dep}-implementation-export"}.passthru.config.depends).identifier.version;
510

6-
mdBook = {
7-
website = {
8-
src = ./.;
9-
preBuild = ''
10-
mkdir -p static
11-
cp ${self'.packages.nft-marketplace-specification}/nft-marketplace.pdf static/nft-marketplace-spec.pdf
12-
cp ${self'.packages.dex-specification}/dex.pdf static/constant-product-dex-spec.pdf
13-
cp ${self'.packages.data-files}/* .
11+
versionsFile = pkgs.runCommand "versions.md" { } ''
12+
{ echo - plutus-tx: ${findCabalVersion "plutus-tx"}
13+
echo - plutarch: ${findCabalVersion "plutarch"}
14+
echo - aiken: $(${config.libAiken.packages.aiken}/bin/aiken --version | cut -d ' ' -f 2)
15+
echo - opshin: $(${pkgs.opshin}/bin/opshin --version | cut -d ' ' -f 2)
16+
} > $out
17+
'';
18+
in
19+
{
20+
hercules-ci.github-pages.settings.contents = config.packages.website;
1421

15-
for f in *.md; do
16-
sed --in-place "/<!-- $f -->/r $f" comparison.md
17-
done
18-
'';
22+
mdBook = {
23+
website = {
24+
src = ./.;
25+
preBuild = ''
26+
mkdir -p static
27+
cp ${self'.packages.nft-marketplace-specification}/nft-marketplace.pdf static/nft-marketplace-spec.pdf
28+
cp ${self'.packages.dex-specification}/dex.pdf static/constant-product-dex-spec.pdf
29+
cp ${self'.packages.data-files}/* .
30+
cp ${versionsFile} versions.md
31+
32+
for f in *.md; do
33+
sed --in-place "/<!-- $f -->/r $f" comparison.md
34+
done
35+
'';
36+
};
1937
};
2038
};
21-
};
2239
}

print.html

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,14 @@ <h1 id="introduction"><a class="header" href="#introduction">Introduction</a></h
170170
<li>Plutarch while decoding Data-encoded types is checking for invariants such as hashes lengths, map key ordering etc. which leads to higher start up cost visible in NFT Marketplace validator.</li>
171171
<li>Opshin does expose option to compile without tracing so that is included in the final size. All implementations use traces in their source code but remaining allow to strip it with a compilation flag.</li>
172172
</ul>
173+
<h2 id="versions"><a class="header" href="#versions">Versions</a></h2>
174+
<!-- versions.md -->
175+
<ul>
176+
<li>plutus-tx: 1.40.0.0</li>
177+
<li>plutarch: 1.10.1</li>
178+
<li>aiken: v1.0.24-alpha+unknown</li>
179+
<li>opshin: 0.23.0</li>
180+
</ul>
173181
<h2 id="script-size-bytes"><a class="header" href="#script-size-bytes">Script size (bytes)</a></h2>
174182
<p>Script sizes are compared by compiling each script to CBOR and taking its binary size in bytes. Validators are compiled without traces if language supports it (Opshin does not) and are not passed through any external UPLC optimizer.</p>
175183
<p><img src="./script_size.png" alt="size plot" /></p>

searchindex.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

searchindex.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)