Loading included libraries can increase OpenStudio Application Launch Time to 20 minutes
Enhancement Request
I was working with someone who saw 20 minute launch time because of 90.1 2010 and 2013 libraries were loaded.
Detailed Description
I expected to find the library files were older version of OpenStudio but they were up to date. Maybe issue is having two libraries open that may have duplicate object names. (I confirmed some kind of negative interaction. 2010 or 2013 on their own results in OS App load time of about 20 seconds. Both together results in just under 7 minutes to launch)
Possible Implementation
Maybe warn users about loading multiple non-default libraries, or break into smaller building type and template specific files.
I generally just have users use the DOE or DEER version of space type and construction set wizard measures which will build on the fly for specified building type, space type, and template/vintage combination.
When I quit and launched again 7 minute load time went up to 9 minutes, so maybe that is how the other user had gotten to 20? Not sure what would cause it to get progressively slower.
If you add both libraries while looking at the console output with Debug log level, the "problem" is quite clear giving the extremely large number of warnings that pop up very very very fast: It's the duplicated names...
Here's a very tiny extract:
[utilities.idf.Workspace] <-1> Renamed Object of type 'OS:Schedule:Rule' and named 'Schedule Rule 502' to 'Schedule Rule 534' to avoid a name conflict upon WorkspaceObject addition.
[utilities.idf.Workspace] <-1> Renamed Object of type 'OS:Schedule:Rule' and named 'Schedule Rule 501' to 'Schedule Rule 535' to avoid a name conflict upon WorkspaceObject addition.
[utilities.idf.Workspace] <-1> Renamed Object of type 'OS:DefaultSurfaceConstructions' and named 'Default Surface Constructions 252' to 'Default Surface Constructions 3843' to avoid a name conflict upon WorkspaceObject addition.
[utilities.idf.Workspace] <-1> Renamed Object of type 'OS:Schedule:Rule' and named 'Schedule Rule 500' to 'Schedule Rule 536' to avoid a name conflict upon WorkspaceObject addition.
[utilities.idf.Workspace] <-1> Renamed Object of type 'OS:Schedule:Rule' and named 'Schedule Rule 499' to 'Schedule Rule 537' to avoid a name conflict upon WorkspaceObject addition.
[...]
[utilities.idf.Workspace] <-1> Renamed Object of type 'OS:DefaultSubSurfaceConstructions' and named 'Default Sub Surface Constructions 817' to 'Default Sub Surface Constructions 2605' to avoid a name conflict upon WorkspaceObject addition.
[utilities.idf.Workspace] <-1> Renamed Object of type 'OS:DefaultScheduleSet' and named 'LargeHotel GuestRoom7 Schedule Set' to 'LargeHotel GuestRoom7 Schedule Set 1' to avoid a name conflict upon WorkspaceObject addition.
[utilities.idf.Workspace] <-1> Renamed Object of type 'OS:Lights:Definition' and named 'Office WholeBuilding - Md Office Lights Definition' to 'Office WholeBuilding - Md Office Lights Definition 1' to avoid a name conflict upon WorkspaceObject addition.
[utilities.idf.Workspace] <-1> Renamed Object of type 'OS:DefaultSubSurfaceConstructions' and named 'Default Sub Surface Constructions 663' to 'Default Sub Surface Constructions 2606' to avoid a name conflict upon WorkspaceObject addition.
[utilities.idf.Workspace] <-1> Renamed Object of type 'OS:DefaultScheduleSet' and named 'Retail Front_Retail Schedule Set' to 'Retail Front_Retail Schedule Set 1' to avoid a name conflict upon WorkspaceObject addition.
[utilities.idf.Workspace] <-1> Renamed Object of type 'OS:Lights' and named 'LargeHotel GuestRoom7 Lights' to 'LargeHotel GuestRoom7 Lights 1' to avoid a name conflict upon WorkspaceObject addition.
[utilities.idf.Workspace] <-1> Renamed Object of type 'OS:Lights:Definition' and named 'LargeHotel GuestRoom7 Lights Definition' to 'LargeHotel GuestRoom7 Lights Definition 1' to avoid a name conflict upon WorkspaceObject addition.
[utilities.idf.Workspace] <-1> Renamed Object of type 'OS:DefaultSurfaceConstructions' and named 'Default Surface Constructions 1332' to 'Default Surface Constructions 4036' to avoid a name conflict upon WorkspaceObject addition.
[utilities.idf.Workspace] <-1> Renamed Object of type 'OS:DefaultScheduleSet' and named 'LargeHotel GuestRoom6 Schedule Set' to 'LargeHotel GuestRoom6 Schedule Set 1' to avoid a name conflict upon WorkspaceObject addition.
[utilities.idf.Workspace] <-1> Renamed Object of type 'OS:Lights' and named 'LargeHotel GuestRoom6 Lights' to 'LargeHotel GuestRoom6 Lights 1' to avoid a name conflict upon WorkspaceObject addition.
[utilities.idf.Workspace] <-1> Renamed Object of type 'OS:DefaultSurfaceConstructions' and named 'Default Surface Constructions 514' to 'Default Surface Constructions 4037' to avoid a name conflict upon WorkspaceObject addition.
[utilities.idf.Workspace] <-1> Renamed Object of type 'OS:Lights:Definition' and named 'LargeHotel GuestRoom6 Lights Definition' to 'LargeHotel GuestRoom6 Lights Definition 1' to avoid a name conflict upon WorkspaceObject addition.
[utilities.idf.Workspace] <-1> Renamed Object of type 'OS:Schedule:Rule' and named 'Schedule Rule 159' to 'Schedule Rule 869' to avoid a name conflict upon WorkspaceObject addition.
[utilities.idf.Workspace] <-1> Renamed Object of type 'OS:DefaultScheduleSet' and named 'LargeHotel GuestRoom5 Schedule Set' to 'LargeHotel GuestRoom5 Schedule Set 1' to avoid a name conflict upon WorkspaceObject addition.