Mark Rowe
dcd36a4f99
Eliminate quadratic behavior in SourceWatcher::poll_once!
.
...
Both `Array#reject` and `Array#include?` have linear time
complexity. This results in quadratic time complexity when
`Array#include?` is called within `Array#reject`'s block. Using
`Array`'s difference operator gives the same result in linear time.
In a site with ~14,000 files, this drops the time taken by some calls to
`SourceWatcher::poll_once!` from ~15 seconds each to just a few
milliseconds.
2016-08-11 00:24:42 -07:00
Peter Suschlik
1581bfc27e
Convert latency
option to a Fixnum ( #1928 )
...
As @vill pointed out in https://github.com/middleman/middleman/issues/1866#issuecomment-222869287
passing `--watcher-latency=2` fails because the gem `listen` expects `latency` to be an `Fixnum`.
This commit fixes this issue.
2016-06-01 14:19:13 -07:00
Thomas Reynolds
0f2bc1e0ea
Minor perf tweaks
2016-04-21 16:12:33 -07:00
Thomas Reynolds
16c82fe57a
Really fix #1864
2016-03-27 14:12:32 -07:00
Thomas Reynolds
737e6f5e64
expand_path on custom source directories. Fixes #1823
2016-03-02 12:54:14 -08:00
Thomas Reynolds
3f18efeed9
split up util module, fix some rubocop complaints
2016-01-31 14:13:52 -08:00
Thomas Reynolds
598d72480f
Fix slow server boot. It was recursing through node_modules and .git on initial boot
2016-01-28 16:45:54 -08:00
Thomas Reynolds
c7a4618166
Perf work and Parallel builds
2016-01-22 15:57:07 -08:00
Thomas Reynolds
b8c0fd34e7
additional perf work
2016-01-22 14:25:02 -08:00
Thomas Reynolds
92d96f6604
typo
2016-01-21 10:19:52 -08:00
Thomas Reynolds
5586784947
Add some options to watcher to opt out of features later
2016-01-20 13:34:12 -08:00
Thomas Reynolds
6d1c3562a7
Differentiate polling from find_new_files to remove double reads in build mode
2016-01-20 12:20:27 -08:00
Thomas Reynolds
ffa662a917
Add system-wide file read cache
2016-01-20 11:50:25 -08:00
Jim Dalton
dc3eac9e96
Use correct type for removed paths passed to update
2016-01-16 11:58:00 -08:00
Thomas Reynolds
d82ac590db
Cop
2016-01-14 11:21:42 -08:00
Thomas Reynolds
5f8beba4b3
Perf
2016-01-14 11:05:41 -08:00
Thomas Reynolds
ae15d203a8
Fix some tests
2015-11-28 19:32:45 -08:00
Thomas Reynolds
e47b0ae29a
import_file and import_path APIs. Addresses #1632
2015-11-28 18:03:05 -08:00
Thomas Reynolds
16b997498b
Generic related files check
2015-11-28 16:48:08 -08:00
Thomas Reynolds
dd0ee24ca3
Work around Listen :only weirdness. Addresses #1637
2015-11-27 15:26:46 -08:00
Thomas Reynolds
4594f46fb8
Minor tweak to #1695
2015-11-27 14:16:55 -08:00
Johnny Shields
13a14d43d4
In SourceWatcher, add a subroutine to find files which should be considered "also dirty" when a given file is touched.
2015-11-27 15:20:20 +09:00
Thomas Reynolds
fdabd87957
merge in fixes from stable
2015-09-17 13:53:43 -07:00
Thomas Reynolds
409a892da7
Forward port some stable changes
2015-09-17 09:41:17 -07:00
Thomas Reynolds
9886e04a95
Patch around seemingly invalid logic in Listen v3
2015-08-17 14:28:15 -07:00
Thomas Reynolds
e64954fbff
Finish porting to new callbacks manager
2015-05-03 15:38:23 -07:00
Thomas Reynolds
2403fa2d81
Merge stable
2015-04-26 11:32:47 -07:00
Thomas Reynolds
c87e2e026e
Rubocop tweaks
2015-04-26 11:13:29 -07:00
Thomas Reynolds
55c5a46440
Update contracts gem. #1494
2015-04-24 10:26:42 -07:00
Steven Sloan
3b1a00cf47
allow setting a destination_dir for SourceWatchers
...
This change lets a source be defined with a destination directory. That way we can mount a source (say a gem’s ‘doc’ directory) in a namespace and worry less about name collisions with files in other sources.
2015-04-17 16:46:39 -04:00
Thomas Reynolds
26c6f453f3
Add file watcher :only option
2015-02-26 17:08:40 -08:00
Thomas Reynolds
c94e5d0f4d
Merge from stable
2015-02-24 11:16:16 -08:00
Thomas Reynolds
e4b7d4fff0
begin prepping beta.1
2015-02-07 13:38:29 -08:00
Thomas Reynolds
ee4c68b03c
prep alpha, backwards compat
2014-12-23 14:54:21 -08:00
Thomas Reynolds
d8e8b06cb6
merge v3
2014-11-19 09:04:56 -08:00
Thomas Reynolds
c7922c4a35
move actual type detection to sprockets
2014-10-18 12:56:52 -05:00
Thomas Reynolds
6a3d2e7e4e
slightly better types debug message
2014-10-18 12:50:18 -05:00
Thomas Reynolds
d0a9f01b2f
Treat source file types more like tags, allow a set of them
2014-10-18 12:45:49 -05:00
Thomas Reynolds
445443cffc
Add a bit of laziness
2014-10-15 14:25:06 -05:00
Thomas Reynolds
84acb50b02
Optimize globbed file lookups, fixes nasty performance regression
2014-08-24 17:10:25 -07:00
Thomas Reynolds
bedf235ff6
Multiple Source watchers
2014-07-20 18:57:22 -07:00