Свежий swift пакет benchmark для автотестов производительности реализован в виде плагина командной строки и добавляет одноименную команду для взаимодействия с бенчмарками
👉 Подробная документация Swift Package Index DocC.
👉 Поддерживает измерение широкого диапазона выборок при помощи HDR Histogram
👉 Отдельный репозиторий с примерами использования
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
This media is not supported in your browser
VIEW IN TELEGRAM
В этом году WWDC пройдёт с 10 по 14 июня, начало в 20:00 GMT+3. А пока можно подписаться на новый канал
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Принят пропоузал добавляющий возможность настроить логику проверки изоляции для серийного исполнения кода. Это еще один шаг к Swift 6 и безопасному параллелизму. Пропоузал описывает решение проблемы с проверкой изоляции при исполнении асинхронных методов внутри серийных очередей. Сейчас при исполнении асинхронной работы в серийной очереди проверка assumeIsolated фейлится, несмотря на отсутствие возможных проблем с многопоточностью.
В рамках пропоузала описывается что будет добавлен новый механизм сравнения исполнителей, который будет использоваться всеми API-интерфейсами для проверки изоляции в библиотеке параллелизма.
Реализовано через новую функцию в SerialExecutor:
protocol SerialExecutor: Executor {
func checkIsolation()
}
extension SerialExecutor {
public func checkIsolation() {
fatalError("Incorrect actor executor assumption, expected: \(self)")
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
swift-evolution/proposals/0424-custom-isolation-checking-for-serialexecutor.md at main · swiftlang/swift-evolution
This maintains proposals for changes and user-visible enhancements to the Swift Programming Language. - swiftlang/swift-evolution
👍2
Swift Playground - идеальный инструмент для экспериментов со Swift. Почти всегда достаточно синхронного выполнения кода, но иногда хочется проверить что-то с асинхронным выполнением, например, для извлечения данных с сервера. Swift Playground по умолчанию выполняет код синхронно а при выполнении асинхронного кода мы видим вечное исполнение кода "Waiting for tasks to complete...". Чтобы это исправить - достаточно добавить
import PlaygroundSupport
и в коде вызвать:Все! Теперь мы можем тестировать асинхронный swift код и программа завершится корректно после выполнения всех асинхронных задач. Логика похожа на работу с DispatchGroup
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
Рабочая группа по популяризации разработки серверных приложений на Swift подвела промежуточные итоги и огласила цели на 2024 год:
Из того что меня удивило, результаты опроса использующих Swift на сервере:
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4