Производительность мудрая, которая лучше подходит для группирования классов, структур, перечислений и т. Д. - PullRequest
0 голосов
/ 13 сентября 2018

Что лучше:

Вариант 1: иметь их всех (по типу, например, Enums) в одном файле

OR

Вариант 2: наличие 1 файла на каждый (по типу: например, Enums)

Ниже приведен пример в соответствии с параметрами:

Вариант 1

Enums.swift

enum Mood {
    case Happy
    case Sad
}

enum World {
    case Round
    case Flat
}

Вариант 2

Mood.swift

enum Mood {
    case Happy
    case Sad
}

World.swift

enum World {
    case Round
    case Flat
}

1 Ответ

0 голосов
/ 13 сентября 2018

В видео парень из Uber говорит, что, когда они помещают все свои модели в один файл, время сборки значительно сокращается.

ссылка на видео: https://www.skilled.io/u/swiftsummit/swift-with-a-hundred-engineers

Наконец, мы начали объединять файлы и обнаружили, что объединение всех наших 200 моделей в один файл уменьшило время компиляции с 1 минуты 35 секунд до всего 17 секунд. Таким образом, мы говорим: «Держись, это интересно, объединение всего в одно делает это намного быстрее». Причина этого заключается в том, что, насколько мне известно, компилятор выполняет проверку типов для каждого отдельного файла. Поэтому, если вы породили 200 процессов компиляторов Swift, необходимо 200 раз проверить все остальные файлы и убедиться, что вы используете правильные типы. Таким образом, объединение всего в одно делает это намного быстрее.

...