Спасибо. Так как мне нужно еще считать моду, я использую первый вариант - держу SortedDictionary, в котором хранятся пары число->частота числа.
Но с тем возникают проблемы: 1) Если диапазон поступающих чисел большой, то и этот словарь начинает сильно расти. 2) Для поиска медианы в таком словаре нужно проходить по нему циклом, а цикл по словарю медленный.
Но вот цикличного затирания буфера я не замечаю: сервер отправляет в секунду 50000 пакетов по 12 байт, клиент читает 1 пакет в секунду и у клиента буфер 65536 байт, то есть за секунду буфер должен был перезаписаться и пакеты должны были начать теряться, но этого не происходит.
Namynnuz,
Это тестовое задание, его просили не распространять, поэтому я не могу его написать. По заданию, нужно преобразовать произвольное лямбда-выражение определённым образом. Наверное, мне что-то не досказали?
Namynnuz,
Задача такая - на входе произвольная лямбда, мне нужно изменить её определённым образом(оптимизировать). Я думал, что Expression Tree не может создавать лямбды из нескольких выражений e => {var a=...;var b=...; return r;}. Теперь нашел информацию о BlockExpression, если я правильно понимаю, его помощью можно сделать лямбду из нескольких выражений. Сейчас проблема стоит в том, как работать с произвольными лямбдами.
Дело в том, что генерация файла довольно долгая. Я запускаю анимацию в событии beforeSendвыключаю её в событии complete. Но если сделать location.replace(url_to_file), то как поймать момент окончания скачивания файла?
Дмитрий Ковальский,
Думаю, запрос всё-таки делается синхронно. Если я правильно понимаю, при событии onClick делается POST-запрос на текущую страницу. Если мы в обработчике не производим манипуляций с объектом response, то происходит обновление текущей страницы в браузере. Если мы пишем и делаем response.End, то обновления страницы не происходит.
По поводу WebForms - проект мне достался от уволившегося программиста, до этого я с вебом дел не имел. Проект довольно большой, а правки довольно редки, поэтому его переписывать врядли нужно.
Страница перезагружается, если браузер переходит на другой урл. Но в событии onClick генерится файл, пишется в тело запроса и возвращается через response.End(); При этом страница не перезагружается, а выдается диалог на сохранение файла. И анимация продолжает висеть.
Можно частично уменьшить требования к памяти, способами из моего ответа