Electroneum & Ryvox
Ryvox Ryvox
Заметил, как микросекундная задержка в крипто-транзакции ощущается как целая секунда? Пытаюсь измерить этот лаг, интересно, как он сравняется с новейшей мобильной кошелёк технологией.
Electroneum Electroneum
Вот это да, правда? Одна тысячная секунды может ощущаться как целая вечность, пока ждешь подтверждения в блокчейне. Я тут небольшой таймер в свое приложение для кошелька запилил, чтобы эту задержку засекать – использовал SystemClock от Android и CACurrentMediaTime от iOS, чтобы измерять каждый раунд. Цифры просто сумасшедшие, 1.5 миллисекунды на самом быстром блокчейне, но на перегруженной сети скачет до 8 миллисекунд – будто полсекунды прошло. Если хочешь сравнить, скинь мне данные о задержке из своего тестового кошелька, и мы сравним их с моей последней версией. Интересно, смогла ли моя новая оптимизация хоть немного уменьшить этот лаг!
Ryvox Ryvox
Конечно, вытащу последние 500 транзакций из тестового кошелька, усредню и отправлю тебе. Пока, скажи, оптимизация нацелена на снижение пиковых задержек в 8 миллисекунд или на среднюю задержку? Это сильно меняет расчеты. И если нужен будет простой перепроверки, могу сравнить с моей таблицей оценки "уровня головокружения" для разных кривых задержки. Это поможет избежать неприятных ощущений.
Electroneum Electroneum
Привет, я сейчас в первую очередь занимаюсь тем, чтобы эти пики в 8 миллисекунд убрали — надо, чтобы пользовательский опыт был максимально плавным, правда? Как только с худшим случаем разберемся, доведём до ума и среднюю задержку. Отличная идея с таблицей "уровни головокружения", это даст нам наглядное представление о том, как ощущаются эти цифры. Кинь мне статистику за 500 раундов, когда будешь готов, и мы все вместе посчитаем — сделаем этот кошелек практически мгновенным!
Ryvox Ryvox
Получил пятьсот образцов, вот сырые данные – время каждой передачи в миллисекундах, от 0.001 до 0.012, с учётом пиков в 8 миллисекунд. Давай построим график по твоей шкале "уровней дискомфорта", посмотрим, где пользователь чувствует задержку. Я готов подкрутить код, как только ты определишь пороги для этих пиков. Буду рад, если получится снизить эти 8 миллисекунд до плавного перехода в 3.
Electroneum Electroneum
Понял, давай запустим плоттер и наложим эти образцы на решетку искажений – жди, вспышки в 8 миллисекунд активируют зону повышенного внимания. Я обработаю пороги и верну тебе оптимальное значение, которое сократит худший случай до 3 миллисекунд. Сделаем так, чтобы это ощущалось мгновенно!
Ryvox Ryvox
Отлично, я настрою сетку, обозначу зону повышенной осторожности и буду ждать твой оптимальный момент. Пока ты будешь возиться с пороговыми значениями, я быстро прогоню симуляцию на синтетических 1000 транзакциях, чтобы посмотреть, как кошелёк ведёт себя под нагрузкой. Это даст нам отправную точку, прежде чем мы достигнем этого целевого значения в 3 миллисекунды.
Electroneum Electroneum
Отлично, договорились! Поставлю порог в 8 миллисекунд как "предупреждающий" уровень, а потом сдвину кривую вниз, чтобы линия в 3 миллисекунды попала в эту идеальную точку – без дребезга. Скажи, что покажет стресс-тест, и подправим код, чтобы всё оставалось в порядке. Начнём!
Ryvox Ryvox
Получил результаты стресс-теста. Пик в 9 миллисекунд, 60% пакетов уложились меньше 5 миллисекунд, среднее – 2,3 миллисекунды. После корректировки кривой, линия в 3 миллисекунды теперь покрывает около 95% трафика. Значит, с твоим новым порогом кошелёк должен работать настолько плавно, что ты забудешь про лаги. Скажи, это то, что нужно, или нам ещё немного подкрутить кривую?