Jakob Borg
c0d02a65c3
Reduce allocations during iteration
...
Reuses key byte slices to reduce allocations:
benchmark old allocs new allocs delta
Benchmark10kReplace 178112 168615 -5.33%
Benchmark10kUpdateChg 567954 561557 -1.13%
Benchmark10kUpdateSme 238691 228680 -4.19%
Benchmark10kNeed2k 105382 103383 -1.90%
Benchmark10kHaveFullList 60230 60230 +0.00%
Benchmark10kGlobal 237484 227493 -4.21%
benchmark old bytes new bytes delta
Benchmark10kReplace 8725368 7661788 -12.19%
Benchmark10kUpdateChg 58155152 57441025 -1.23%
Benchmark10kUpdateSme 16130875 14996717 -7.03%
Benchmark10kNeed2k 6561685 6338283 -3.40%
Benchmark10kHaveFullList 7611112 7611135 +0.00%
Benchmark10kGlobal 21415056 20300723 -5.20%
2015-05-24 13:08:14 +02:00
Jakob Borg
29da0bc8f5
Be more lenient against errors when deleting ( fixes #1860 )
2015-05-23 23:57:41 +02:00
Jakob Borg
bccf7fc2a8
Merge pull request #1857 from calmh/testhax
...
Refactor integration tests to be a little cleaner and more stable, I hope
2015-05-23 23:57:21 +02:00
Jakob Borg
7b6b5981c4
UPnP discovery results must not be collected in a background goroutine ( fixes #1858 )
2015-05-23 23:27:02 +02:00
Jakob Borg
9463192224
Refactor integration tests to be a little cleaner and more stable, I hope
2015-05-23 23:26:23 +02:00
Jakob Borg
8ed67fe349
Reduce db write cache to (2*) 4 MiB
...
I haven't been able to reproduce any performance advantage of having it
set higher and it reduces the memory footprint a bit.
2015-05-23 21:05:52 +02:00
Jakob Borg
90a1d99785
Reuse a timer instead of allocating a new one in subscription.Poll
...
This is surprisingly memory expensive when Poll gets called a lot, such
as when syncing lots of small files generating itemstarted/itemfinished
events. It's line number three in this heap profile on the
TestBenchmarkManyFiles test:
jb@syno:~/src/github.com/syncthing/syncthing/test (master) $ go tool pprof ../bin/syncthing heap-13194.pprof
Entering interactive mode (type "help" for commands)
(pprof) top
80.91MB of 83.05MB total (97.42%)
Dropped 1024 nodes (cum <= 0.42MB)
Showing top 10 nodes out of 85 (cum >= 1.75MB)
flat flat% sum% cum cum%
32MB 38.53% 38.53% 32.01MB 38.54% github.com/syndtr/goleveldb/leveldb/memdb.New
22.16MB 26.68% 65.21% 22.16MB 26.68% github.com/syndtr/goleveldb/leveldb/util.(*BufferPool).Get
13.02MB 15.68% 80.89% 13.02MB 15.68% time.NewTimer
6.94MB 8.35% 89.24% 6.94MB 8.35% github.com/syndtr/goleveldb/leveldb/memdb.(*DB).Put
3.18MB 3.82% 93.06% 3.18MB 3.82% github.com/calmh/xdr.(*Reader).ReadBytesMaxInto
With this change the allocation is removed entirely.
2015-05-23 20:38:41 +02:00
Jakob Borg
e215cf6fb8
Add some REST API benchmarks
2015-05-23 20:15:54 +02:00
Jakob Borg
e827c0bd94
Run benchmarks in docker-all instead
2015-05-23 15:17:19 +02:00
Jakob Borg
8dd7e4e6b5
Run benchmarks when running tests
2015-05-23 15:08:17 +02:00
Jakob Borg
a2b94f4e06
Build Debian armhf and armel
2015-05-23 13:10:33 +02:00
Jakob Borg
8b0037ffab
Make check-contribs a little more generous in recognizing a copyright header
2015-05-21 21:42:46 +02:00
Jakob Borg
4ab03f3bef
Update CONTRIBUTING to not encourage changing AUTHORS
2015-05-21 20:58:17 +02:00
Jakob Borg
3c3db52f49
Merge pull request #1842 from Zillode/fix-1822
...
Support the creation of top-level folders on Windows (fixes #1822 )
2015-05-21 20:50:52 +02:00
Jakob Borg
5b1e884659
Merge pull request #1847 from Zillode/fix-1833
...
Show date and time for web GUI notification (fixes #1833 )
2015-05-21 20:49:04 +02:00
Jakob Borg
76174d31ce
Merge pull request #1843 from Zillode/fix-1831
...
Set permanent UPnP lease when required
2015-05-21 12:50:48 +02:00
Jakob Borg
12f76b448c
Merge pull request #1826 from AudriusButkevicius/screwflags
...
Don't check interface flags on Windows
2015-05-19 14:59:16 +02:00
Jakob Borg
e4b57a978f
Translation update
2015-05-15 10:46:47 +02:00
Jakob Borg
a3ba3f895c
Further reduce maximum db block cache
2015-05-14 20:59:59 +02:00
Jakob Borg
947a129e12
Use updateLocals to ensure event generation
2015-05-14 08:56:42 +02:00
Jakob Borg
f3fe6a6cbd
Assure existence of a folder marker in the test
2015-05-14 08:46:00 +02:00
Jakob Borg
9d150bef9f
Refactor GetMtime for early return
2015-05-14 08:26:21 +02:00
Jakob Borg
65be18cc93
Merge pull request #1804 from cdhowie/virtual-mtimes
...
Implement virtual mtime support for Android
2015-05-14 08:14:29 +02:00
Jakob Borg
e27ea63900
Add cdhowie
2015-05-14 08:11:02 +02:00
Jakob Borg
053690d885
Don't attempt reschedule with zero interval
...
Can happen on manual rescans of folders with zero interval.
2015-05-13 16:51:08 +02:00
Jakob Borg
b9fc6397a3
Merge pull request #1791 from Zillode/test-master
...
Add unit test for overriding ignored files (fixes #1701 )
2015-05-13 14:50:12 +02:00
Jakob Borg
0b9441e1a4
Reset a namespaced kv-store
2015-05-13 14:41:47 +02:00
Jakob Borg
c6b2ca8b19
Break out usage reporting into a service
2015-05-13 14:39:27 +02:00
Jakob Borg
d898277f62
stindex: add some missing newlines
2015-05-12 11:47:30 +02:00
Jakob Borg
a289cfb986
Only restart global discovery on UPnP change if it was enabled to start with ( fixes #1799 )
2015-05-12 09:48:55 +02:00
Jakob Borg
d603998617
Debian maintainer is release team
2015-05-11 21:59:40 +02:00
Jakob Borg
8bf9f4f5ab
Build debian skeleton
2015-05-11 21:34:43 +02:00
Jakob Borg
2c4e6f2926
wip
2015-05-11 19:04:39 +02:00
Jakob Borg
21fbbc50cd
hax
2015-05-11 18:39:53 +02:00
Jakob Borg
c2f2d8771f
Tweak the database block cache size, and add config for it
2015-05-11 09:08:25 +02:00
Jakob Borg
179c9ee8cc
Merge pull request #1792 from Zillode/tempname
...
Retains part of meaningful filename, added unit test and did a small refactoring
2015-05-10 20:44:55 +02:00
Jakob Borg
eb8a505287
Merge pull request #1774 from Zillode/fix-rename-windows
...
If rename works we are happy (fixes #1767 )
2015-05-10 19:04:03 +02:00
Jakob Borg and Lode Hoste
285dcc30cf
Use md5 hash of filename for temporary file ( fixes #1786 )
2015-05-10 18:57:27 +02:00
Jakob Borg
bcf51aed83
Translation update
2015-05-10 14:59:12 +02:00
Jakob Borg
7f0593cd2d
Set default UPnP lease time to 60 minutes
2015-05-09 22:17:53 +02:00
Jakob Borg
e4c41718d8
Fix upnp mapping name
2015-05-09 20:04:15 +02:00
Jakob Borg
7234553990
Implement upnpSvc.Stop() ( fixes #1782 )
2015-05-09 12:49:58 +02:00
Jakob Borg
5761efdb73
Remove system/editor specific ignores (ref #1778 )
2015-05-08 20:34:06 +02:00
Jakob Borg
1133192a86
Merge remote-tracking branch 'syncthing/pr/1779'
...
* syncthing/pr/1779:
Remove stray VIM swap file
2015-05-08 20:32:02 +02:00
Jakob Borg
24a348f6a8
Use larger files for large file transfer benchmark
2015-05-08 14:59:37 +02:00
Jakob Borg
245bd1eb17
Trigger pull check on remote index updates ( fixes #1765 )
...
Without this, when an index update comes in we only do a new pull if the
remote `localVersion` was increased. But it may not be, because the
index is sent alphabetically and the file with the highest local version
may come first. In that case we'll never do a new pull when the rest of
the index comes in, and we'll be stuck in idle but with lots of out of
sync data.
2015-05-08 10:02:46 +02:00
Jakob Borg
03506db76c
Fix rename with capitalization test
2015-05-08 10:02:19 +02:00
Jakob Borg
cb5ef26020
Revert "Enforce line endings when cloning ( fixes #1766 )"
...
This reverts commit 2361a0dd6e .
2015-05-07 22:55:31 +02:00
Jakob Borg
2493ae4c2c
Merge pull request #1773 from Zillode/fix-browser
...
Do not launch browser when running integration tests
2015-05-07 22:23:47 +02:00
Jakob Borg
2bd88344ad
Merge pull request #1772 from Zillode/fix-lf
...
Enforce line endings when cloning (fixes #1766 )
2015-05-07 22:03:20 +02:00
Jakob Borg
31797a5831
Simplify stindex
2015-05-07 09:59:04 +02:00
Jakob Borg
9308c42cff
Skip boring concurrency test in internal/db
2015-05-07 09:57:49 +02:00
Jakob Borg
5fc0808f28
Set the execute bit on Windows executables ( fixes #1762 )
2015-05-05 21:45:26 +02:00
Jakob Borg
e6866ee980
strings.TrimLeft is not actually TrimPrefix
2015-05-05 13:53:11 +02:00
Jakob Borg
45631d30b0
Merge pull request #1756 from LordLandon/master
...
Fix #1728 by using latest version property
2015-05-04 18:34:34 +02:00
Jakob Borg
df59bc7194
Merge pull request #1747 from Zillode/fix-1743
...
Partial fix for #1743
2015-05-04 10:51:40 +02:00
Jakob Borg
ff4706e450
Merge branch 'pr-1748'
...
* pr-1748:
Reschedule before scan
Use a channel instead of locks
Reschedule the next scan interval (fixes #1591 )
2015-05-04 10:40:14 +02:00
Jakob Borg
fc013bd04c
Add LordLandon
2015-05-04 10:36:40 +02:00
Jakob Borg
67ae7a0b6c
Wait for stdout/stderr to close ( fixes #1754 )
2015-05-03 17:36:01 +02:00
Jakob Borg
bd5a64bac0
Reschedule before scan
2015-05-03 14:18:50 +02:00
Jakob Borg
1bd85d8baf
Use a channel instead of locks
2015-05-03 14:18:32 +02:00
Jakob Borg
33048f88b8
Merge pull request #1752 from alex2108/master
...
Distinguish files with same name but different extension in staggered versioner (fixes #1738 )
2015-05-03 12:32:20 +02:00
Jakob Borg
d0ebf06ff8
Translation update
2015-05-03 08:29:29 +02:00
Jakob Borg
687b249034
Don't create stopped folder in staggered versioning ( fixes #1749 )
2015-05-03 08:22:11 +02:00
Jakob Borg
d1528dcff0
Remove old name conversion from staggered versioning
2015-05-03 08:22:11 +02:00
Jakob Borg
1c31cf6319
Merge pull request #1744 from Zillode/fix-1692
...
Upgrade running Syncthing instances (fixes #1692 )
2015-05-02 15:17:45 +02:00
Jakob Borg
4ff535f883
Twitter link (lazily wrong icon, because not in Glyphicons...)
2015-05-01 23:32:51 +02:00
Jakob Borg
3cbddfe545
Merge pull request #1745 from Zillode/fix-1678
...
Added test for combining case insensitive and negated patterns (fixes #1678 )
2015-05-01 09:20:51 +02:00
Jakob Borg
fb312a71f7
Add verbose logging ( fixes #179 )
2015-04-30 20:47:21 +02:00
Jakob Borg
136d79eaa3
Break out GUI into an API service
2015-04-30 20:36:07 +02:00
Jakob Borg
834336499a
Adaptive database cache size
2015-04-30 20:25:44 +02:00
Jakob Borg
c9da8237df
Report usage statistics after transfer bench
2015-04-30 08:43:57 +02:00
Jakob Borg
756c5a2604
User fewer hasher routines when there are many folders.
2015-04-29 21:26:08 +02:00
Jakob Borg
a9c31652b6
Merge branch 'pr-1725'
...
* pr-1725:
typos and spelling correction
2015-04-29 17:09:30 +02:00
Jakob Borg
60fcaebfdb
Run vet and lint. Make us lint clean.
2015-04-29 10:38:02 +02:00
Jakob Borg
1207d54fdd
Tweak UPnP discovery, avoid non-multicast interfaces ( fixes #1721 )
2015-04-28 22:32:10 +02:00
Jakob Borg
4c6eb137da
Merge pull request #1720 from AudriusButkevicius/ignores
...
Matcher is always there
2015-04-28 11:35:12 +02:00
Jakob Borg
57ec2ff915
Handle conflict with local delete ( fixes #1722 )
2015-04-28 11:34:16 +02:00
Jakob Borg
0642402449
Break out UPnP port mapping into a service
2015-04-28 10:25:25 +02:00
Jakob Borg
f5211b0697
Add some more cache forbidding headers, for various user agents.
2015-04-27 09:08:55 +02:00
Jakob Borg
fd4ea46fd7
Merge pull request #1708 from jarlebring/upnp_close_conn_fix
...
Fix to for routers that cannot handle many open HTTP-connections
2015-04-26 22:54:47 +02:00
Jakob Borg
a17c48aed6
Merge pull request #1705 from AudriusButkevicius/glob
...
Add osutil.Glob to deal with Windows (fixes #1690 )
2015-04-26 18:28:25 +02:00
Jakob Borg
15b87ae297
Merge pull request #1704 from jarlebring/upnp_caps
...
Fix capitalization in HTTP-header in SOAP request (fixes #1696 )
2015-04-26 20:10:14 +09:00
Jakob Borg
02fdf59839
Add jarlebring
2015-04-26 19:40:02 +09:00
Jakob Borg
ff984425a3
Merge pull request #1703 from AudriusButkevicius/page
...
Add pagination to Out of sync item list (fixes #1509 )
2015-04-26 18:42:17 +09:00
Jakob Borg
266a5116a1
Break out connection handling into a service
2015-04-25 23:21:42 +09:00
Jakob Borg
131f2be857
Add audit log feature
2015-04-25 23:20:39 +09:00
Jakob Borg
be7b3a9952
Configurable file pull order (alphabetic, random, by size or age)
2015-04-25 23:20:21 +09:00
Jakob Borg
bb31b1785b
Add a service manager to main (future use)
2015-04-25 23:16:46 +09:00
Jakob Borg
2a60f4b1e9
Add .gitattributes; normalize line endings
2015-04-25 23:16:46 +09:00
Jakob Borg
33a4fb5a1a
Fix folder check tests
2015-04-25 23:16:46 +09:00
Jakob Borg
7bf55dd14f
events.Subscription.Poll does not seem to require locking
...
This is a large source of output from the new lock logging, and it
doesn't seem to accomplish anything useful that I can see. Running
integration with the race detector to make sure...
2015-04-24 11:25:42 +09:00
Jakob Borg
e158f17c2b
Adjust sync test intervals to be less latency sensitive
2015-04-24 11:25:24 +09:00
Jakob Borg
c5027d9478
Merge branch 'pr-1688'
...
* pr-1688:
Minor fixup
Add tests, fix getCaller, replace wg.Done with wg.Wait
2015-04-24 09:43:52 +09:00
Jakob Borg
36c1d82146
Minor fixup
2015-04-24 09:43:40 +09:00
Jakob Borg
43d39844f7
Merge pull request #1685 from AudriusButkevicius/mut
...
Add mutex logging
2015-04-23 21:16:23 +09:00
Jakob Borg
542716e216
Allow major upgrades
2015-04-23 17:13:11 +09:00
Jakob Borg
b35958d024
Avoid spurious request for /qr?text={{myID}} ( fixes #1679 )
2015-04-22 09:37:18 +09:00
Jakob Borg
bf7d84c12a
Clean up REST JSON a little further
2015-04-21 23:28:58 +09:00
Jakob Borg
08c383012f
Loosen the requirements on what can be upgraded to what
2015-04-21 09:06:10 +09:00