4 сравнение генераторов отчётов SSRS и FastReport .NET

18.11.2017

Это заключительная часть нашего сравнительного анализа двух известных генераторов отчетов Microsoft SQL Server Reporting Services и FastReport .NET. Мы уже рассмотрели ранее функциональные возможности, поддерживаемые технологии, объекты отчета и поддерживаемые форматы экспорта отчетов. В довершение анализа будет логичным провести замеры производительности.

Для тестирования возьмем простой отчет со списком из тысячи строк. Для чистоты эксперимента используем один и тот же источник данных в обоих генераторах отчетов. Суть теста – сформировать отчет и экспортировать его в три самых популярных формата: PDF, XLS, DOCX. Измеряем время в миллисекундах.

Тест производительности (1000 строк)

Попытка

SSRS PDF

FR PDF

SSRS XLS

FR XLS

SSRS DOCX

FR DOCX

1

2500

1703

234

875

1484

3297

2

1641

1890

328

562

1140

3219

3

2109

2844

235

844

1172

3219

4

1547

2985

250

843

1000

3360

5

1485

2672

265

875

1063

3297

 Итак, пяти замеров мне кажется достаточно.

1)    Экспорт в PDF. Для SSRS средний показатель 1856 миллисекунд. Для FastReport .NET – 2418 миллисекунд.

SSRS тут явно быстрее. FastReport есть над чем работать.

2)    Экспорт в XLS. SSRS показал среднее время 262 миллисекунды, а FastReport .NET – 800. Тут ничего удивительного. Продукт от Microsoft должен быстрее экспортировать в форматы MS Office.

3)    Экспорт в DOCX. И снова SSRS оказался быстрее, 1172 миллисекунды против 3513 у FastReport .NET. Ситуация ровно такая же, как и в предыдущем экспорте.

Можно признать лидерство в этой дисциплине за SQL Server Reporting Services. Для большей наглядности, результаты замеров приведены на графике:

Если ситуация с PDF экспортом для FastReport не так критична, то в XLSX и DOCX экспорте проигрыш по времени в 3 раза.

Теперь посмотрим на размер получившихся в результате экспорта файлов:

Размер файла экспорта, KB

Экспорт

SSRS

FR

PDF

308

204

XLS

111

551

DOCX

50

64 


Как вы видите, PDF файл уFastReport .NET занимает на треть меньше места, чем у SQL Server Reporting Services. Благодаря большому количеству настроек PDF экспорта в FastReport .NET вы можете добиться минимального размера файла.

Что же касается экспорта в XLS и DOCX, то тут лучшие результаты показал SSRS. Размер XLS файла в пять раз меньше, чем у конкурента! Для DOCX разница не существенна.

Ну что ж, результаты этого теста не однозначны. Выводы сделаем в конце статьи.

А пока, проведем еще один тест – стресс тест. Будем выводить в отчете большое количество строк – 2458524. Согласен, вряд ли такие отчеты будут существовать в реальности, но для нашего теста то, что надо. В качестве СУБД используем MS SQL Server 2016 - родная стихия для SSRS.  

Однако, SQL Server Reporting Services не осилил эту задачу: 

Банально закончилась оперативная память. Как следствие – ошибка: Exception of type 'System.OutOfMemoryException' was thrown. Да, ОЗУ используют и другие программы, но можно же использовать виртуальную память. Из скриншота видно, что нагрузка на диск минимальна, значит файл подкачки не задействуется.

Теперь сформируем такой же отчет в FastReport .NET 2017.2:

Ждать пришлось долго – 40 минут. Но все-таки отчет был построен. Посмотрите на скриншот. Исчерпав всю оперативную память, FastReport .NET задействовал файл подкачки – нагрузка на диск 99%. Поставленная задача выполнена.

Измерения проводились на следующей конфигурации ПК: CPU – Intel Core i5-2450M (2.5GHz), RAM – 8 GB, OS – Windows 10 x64.

Последний этап сравнительного анализа завершен и пора бы завершать сей опус, осталось лишь подвести итоги испытаний по всем трем частям статьи. Давайте по пунктам, заодно вспомним, что было в предыдущих частях.

1)      В начале мы рассмотрели функциональные возможности двух программ. В этом сравнении преимущество сталось за FastReport .NET. Преимущества: поддержка безразмерных страниц отчета, события в отчете, диалоговые формы и возможность изменять уже построенный отчет.

Оценки: SSRS – 0, FastReport .NET – 1.

2)      Далее мы сравнили поддерживаемые технологии. FastReport .NET оказался в лидерах благодаря поддержке ASP .NET Core. Реальных прогнозов по поддержке ASP .NET Core в SSRS пока нет. Есть некоторые «костыли», но это совсем не то, чего бы нам хотелось.

Оценки: SSRS – 0, FastReport .NET – 2.

3)      Поддерживаемые объекты отчета снова показали превосходство FR .NET. На мой взгляд, отсутствие объектов CheckBox и Barcode не простительно для SSRS.

Оценки: SSRS – 0, FastReport .NET – 3.

4)      Экспорты отчета в различные форматы. Reporting Services предоставляет весьма скромный набор поддерживаемых форматов, только самое необходимое. FastReport поразил внушительным набором форматов на любой случай жизни. Это сравнение закрепило лидерство за ним.

Оценки: SSRS – 0, FastReport .NET – 4.

5)      Измерение производительности оценивалось по времени экспортирования отчета в три разных формата: PDF, XLS и DOCX. В этом тесте безоговорочную победу одержал SSRS.

Оценки: SSRS – 1, FastReport .NET – 4.

6)      Размер файла экспорта. Все те же три формата экспорта из предыдущего теста. Здесь FastReport .NET сформировал более компактный PDF файл. А SSRS сгенерировал меньшие файлы с расширением .xls и .docx. Оцениваю, как ничья.

Оценки: SSRS – 2, FastReport .NET – 5.

7)      Стресс-тест на формирование «гигантского» отчета с более чем 2 миллиона строк Reporting Services провалил. Отчет не сформирован. FastReport справился за 40 минут.

Оценки: SSRS – 2, FastReport .NET – 6.

Если подводить итог по моим оценкам, то FastReport .NET уверенно превосходит Reporting Services по многим показателям и вполне бы мог заменить конкурента. Все достоинства продукта перечислять не буду. Скажу лишь, что ему под силу любая задача, связанная с генерацией отчетов.

Однако, я не могу сказать, что Reporting Services плохой генератор отчетов. Он выполняет свои задачи на твердую четверку. Ведь он создан для работы c MS SQL Server. Именно такая связка полностью оправдывает его использование.

 

 

.NET .NET FastReport FastReport SSRS SSRS
10 июля 2026

Как настроить Content Security Policy для отчетов FastReport .NET WEB

Узнайте, как настроить Content Security Policy для отчётов FastReport .NET WEB: обзор директив и значений CSP, изменения в архитектуре FastReport, типичные сценарии обхода и способы защиты.
22 июня 2026

Как настроить отчет с Business Objects из кода и дизайнера в FastReport .NET

В этой статье рассматривается реальный пример создания и использования шаблона отчета .frx для подключения к иерархическим бизнес-объектам в FastReport .NET.
21 апреля 2026

Использование водяных знаков в FastReport VCL

В статье подробно рассмотрели функционал добавления водяных знаков в FastReport VCL — как через визуальный интерфейс, так и программно, с помощью кода на Delphi и в скриптах отчётов.

Не является публичной офертой
© 1998-2026 ООО «Быстрые отчеты»