Skip to content
This repository has been archived by the owner on Dec 2, 2024. It is now read-only.

Improve performance of validateCardanoTx #808

Open
koslambrou opened this issue Nov 8, 2022 · 0 comments
Open

Improve performance of validateCardanoTx #808

koslambrou opened this issue Nov 8, 2022 · 0 comments
Labels
performance Issues related to performance improvements Tracked Issue is tracked in our internal backlog

Comments

@koslambrou
Copy link
Contributor

koslambrou commented Nov 8, 2022

Description

As a plutus-apps emulator user

I want an efficient version of validateCardanoTx

so that I waste as little time as possible when I run the emulator.

Technical details

After the first investigation of https://input-output.atlassian.net/browse/PLT-1026 (emulator performance regression following merge from next-node to main), validateCardanoTx takes 8% of the time of a whole plutus-use-cases run.

Here is an excerpt of the prof file that illustrates the costs of the calls inside validateCardanoTx:

validateCardanoTx           Ledger.Validation   src/Ledger/Validation.hs:(278,1)-(282,63)   358902        2317    0.0    0.0     3.1    3.7
 onCardanoTx                Ledger.Tx           src/Ledger/Tx.hs:(306,1)-(307,42)           358903        2317    0.0    0.0     3.1    3.7
  hasValidationErrors       Ledger.Validation   src/Ledger/Validation.hs:(215,1)-(223,30)   365388        2252    0.0    0.0     3.1    3.7
   applyTx                  Ledger.Validation   src/Ledger/Validation.hs:(209,1)-(211,83)   365506        2252    0.0    0.0     1.1    1.2
    getTxExUnitsWithLogs    Ledger.Validation   src/Ledger/Validation.hs:(285,1)-(298,97)   366140         863    0.0    0.0     0.7    1.0
@koslambrou koslambrou added Tracked Issue is tracked in our internal backlog performance Issues related to performance improvements labels Nov 8, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
performance Issues related to performance improvements Tracked Issue is tracked in our internal backlog
Projects
None yet
Development

No branches or pull requests

1 participant