Skip to content
This repository has been archived by the owner on Oct 8, 2021. It is now read-only.

blank line detection #6

Merged
merged 1 commit into from
Feb 10, 2015
Merged

blank line detection #6

merged 1 commit into from
Feb 10, 2015

Conversation

sbromberger
Copy link
Owner

No description provided.

@coveralls
Copy link

Coverage Status

Coverage increased (+0.01%) to 95.6% when pulling f0b7358 on readgraph-hotfix into 47e0d2d on master.

sbromberger added a commit that referenced this pull request Feb 10, 2015
@sbromberger sbromberger merged commit 088e33b into master Feb 10, 2015
@sbromberger sbromberger deleted the readgraph-hotfix branch February 10, 2015 23:00
sbromberger pushed a commit that referenced this pull request Jun 30, 2015
ChrisRackauckas added a commit to ChrisRackauckas/LightGraphs.jl that referenced this pull request Aug 11, 2021
All of the Base Pair constructors are 2 arguments, so the single argument one seems to cause invalidation which then infect the precompilation of all downstream packages. 

Before:

```julia
using SnoopCompile
using DiffEqBase, RecursiveFactorization
invalidations = @Snoopr using OrdinaryDiffEq
length(invalidations) # 61
trees = invalidation_trees(invalidations)

1-element Vector{SnoopCompile.MethodInvalidations}:
 inserting Pair(e::LightGraphs.SimpleGraphs.AbstractSimpleEdge) in LightGraphs.SimpleGraphs at C:\Users\accou\.julia\packages\LightGraphs\IgJif\src\SimpleGraphs\simpleedge.jl:26 invalidated:
   mt_backedges: 1: signature Tuple{Type{Pair}, Vararg{Any}} triggered MethodInstance for (::Base.var"sbromberger#6#7"{Pair})(::Any) (23 children)
   1 mt_cache
```

After:

```julia
length(invalidations) # 14
trees = invalidation_trees(invalidations) # zero
```

This only caused a 0.5 second compile time drop to OrdinaryDiffEq.jl, but it is nice and this should be fairly pervasive since `Pair` is used... well... everywhere. Also, I checked and this `Pair` constructor isn't even documented in the public API and does not seem to be used in the private API (the error messages even avoid using it), so it seems like just removing it is the best idea.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants