Comments 4
Количество задач, которые выполняются файберами, огромно — десятки тысяч в секунду. Поэтому добавлять ещё одну абстракцию, которая, как мне кажется, ещё и GC нагружает, не было смысла. Абстракция файберов гораздо тоньше, если так можно выразится.
Такие вещи надо мерять. Вот, например:
IFiberAction — это эксперимент по сокращению нагрузки на GC. Мы не можем управлять процессом создания экшенов в .NET. Поэтому было решено заменить стандартные экшены на экземпляры класса, который реализует интерфейс IFiberAction. Предполагается, что экземпляры таких классов достаются из пула объектов и возвращаются туда сразу же после завершения. Этим и достигается снижение нагрузки на GC.
Есть бенчмарки до/после?
+1
Бенчмарки мы, конечно же, делали, но с точки зрения пинга. Было видно, что он уменьшился буквально миллисекунд на 5, т.е. был 60-65, стал 55-60. Не слишком много.
Измерения делались давно, поэтому сейчас что-либо вменяемое предоставить не могу
Измерения делались давно, поэтому сейчас что-либо вменяемое предоставить не могу
0
Бенчмарки мы, конечно же, делали, но с точки зрения пинга. Было видно, что он уменьшился буквально миллисекунд на 5, т.е. был 60-65, стал 55-60.
Я, наверное, чего-то фундаментально не понимаю в происходящем, если у вас уменьшение нагрузки на GC привело к уменьшению пинга.
0
Sign up to leave a comment.
Многопоточность в Photon