Очевидно это влияет на производительность рефлексии.
В тех случаях, когда нужны лишь основные данные о типе (имя, namespace,..) — процесс рефлексии ускоряется.
Есть такое. По крайней мере в теории. Одновременно с этим imageresizer вроде как GDI+ использует и ничего.
Хотя вот тоже планирую переделать на WIC — побыстрее будет.
Замечательный проект.
Но настолько умный, что 20% overhead-а не отделаешься.
По ab у меня не получилось меньше 40%. Хотя, может сейчас что-то поменялось у них.
Это так. Но эта проблема относится не только к ресайзу картинок. Примеров тяжёлых серверных сценариев много.
Собственно бороться с флудом надо уже изученным способом — определять источник и банить.
Но в простейшем случае я бы действительно опделели готовый список профилей для ресайза на сайте да и всё.
Другое дело ресайз адаптивный (Picasa Web) — тут только бороться с флудом как таковым.
Тестировал ab.
В 1 — 10 потоков, разницу между отдачей модулем кешированого файла и когда модуль целиком убран (runAllManagedModulesForAllRequests=«false»).
По результатам получается разница в пределах 20%.
Поправьте, если я ошибаюсь.
А между собой то тоже всегда рефлекшн, нэймспейс и эссембли.
А теперь вы можете видеть тоже самое по категориям, странам и дате обновления.
В тех случаях, когда нужны лишь основные данные о типе (имя, namespace,..) — процесс рефлексии ускоряется.
Хотя вот тоже планирую переделать на WIC — побыстрее будет.
Но настолько умный, что 20% overhead-а не отделаешься.
По ab у меня не получилось меньше 40%. Хотя, может сейчас что-то поменялось у них.
На одном ядре отдаётся пимерно 2000 запросов в секунду.
И второе — не всегда можно знать конечный размер картинки.
Собственно бороться с флудом надо уже изученным способом — определять источник и банить.
Но в простейшем случае я бы действительно опделели готовый список профилей для ресайза на сайте да и всё.
Другое дело ресайз адаптивный (Picasa Web) — тут только бороться с флудом как таковым.
В 1 — 10 потоков, разницу между отдачей модулем кешированого файла и когда модуль целиком убран (runAllManagedModulesForAllRequests=«false»).
По результатам получается разница в пределах 20%.