demarches-normaliennes/lib/tasks/benchmarks.rake
2023-01-31 16:39:00 +01:00

41 lines
1.5 KiB
Ruby

namespace :benchmarks do
desc 'Benchmark exports'
task exports: :environment do
p_45964 = Procedure.find(45964)
p_55824 = Procedure.find(55824)
Benchmark.bm do |x|
x.report("Démarche 45964") { ProcedureExportService.new(p_45964, p_45964.dossiers).to_xlsx }
x.report("Démarche 55824") { ProcedureExportService.new(p_55824, p_55824.dossiers).to_xlsx }
end
end
desc 'Benchmark graphql'
task graphql: :environment do
p_45964 = Procedure.find(45964)
p_55824 = Procedure.find(55824)
Benchmark.bm do |x|
x.report("Démarche 45964") { SerializerService.dossiers(p_45964) }
x.report("Démarche 55824") { SerializerService.dossiers(p_55824) }
x.report("Démarches publiques") { SerializerService.demarches_publiques }
end
end
desc 'Benchmark pdf'
task pdf: :environment do
p_45964 = Procedure.find(45964)
p_55824 = Procedure.find(55824)
Benchmark.bm do |x|
x.report("Démarche 45964") { PiecesJustificativesService.generate_dossier_export(p_45964.dossiers) }
x.report("Démarche 55824") { PiecesJustificativesService.generate_dossier_export(p_55824.dossiers.limit(10_000)) }
end
end
desc 'Attestation Template parser'
task attestation_template_parser: :environment do
procedure = Procedure.find(68139)
Benchmark.bm do |x|
x.report("Empty") { TagsSubstitutionConcern::TagsParser.parse('') }
x.report("Démarche 68139") { TagsSubstitutionConcern::TagsParser.parse(procedure.attestation_template.body) }
end
end
end