/
mariadavydova
/
Coursework_2026
Обзор
Документация
Войти
/
mariadavydova
/
Coursework_2026
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
test_ruby_performance.rb
43 строки
1 KB
mariadavydova
загрузка файлов
30 апр 2026, 20:42
Верифицирован
30 апр 2026, 20:42
af72564
Код
Авторство
О чём код?
#!/usr/bin/env ruby # test_ruby_performance.rb - быстрый тест производительности require_relative 'blind_signature_rb' puts "="*70 puts "💎 БЫСТРЫЙ ТЕСТ ПРОИЗВОДИТЕЛЬНОСТИ RUBY" puts "="*70 # Тест разных размеров ключей [1024, 2048, 4096].each do |size| puts "\n🔑 Тестирование RSA-#{size}..." # Генерация ключей gen_time = Benchmark.realtime { BlindSignatureRuby.new(size) } puts " Генерация ключа: #{gen_time.round(2)} сек" bs = BlindSignatureRuby.new(size) # Тест 50 подписей times = [] 50.times do |i| message_int = BlindSignatureRuby.prepare_message("test_#{i}", "user_#{i}", rand(1_000_000)) time = Benchmark.realtime do blinded, r = bs.blind_message(message_int) blinded_sig = bs.sign_blinded(blinded) BlindSignatureRuby.unblind_signature(blinded_sig, r, bs.public_key.n.to_i) end times << time * 1000 end avg = times.sum / times.size puts " Среднее время: #{avg.round(2)} мс" puts " Подписей/сек: #{(1000.0 / avg).round(1)}" end puts "\n" + "="*70 puts "📊 СРАВНЕНИЕ С PYTHON" puts "="*70 puts " Python (RSA-2048): ~55 мс, ~18 подписей/сек" puts " Ruby (RSA-2048): ~#{`ruby -e "require 'benchmark'; puts Benchmark.realtime { require 'openssl'; OpenSSL::PKey::RSA.generate(2048) }"`} сек"