The call stack from ReadSkeletonData() and downward are a json parsing and loading process, which only happens once per SkeletonDataAsset (when GetSkeletonData is called for the first time).
Ideally in a game, you'd want to do this in the loading phase/loading screen.
In your loading screen, call skeletonDataAsset.GetSkeletonData(true)
for each SkeletonDataAsset you want to preload. This means it will no longer go through this process when a component needs it.
CleRIC is also correct that binary data will improve load times. Sometimes drastically, depending on the complexity of your skeleton.