Commit Graph

41 Commits

Author SHA1 Message Date
Tobias Koppers 9c8098c635
Merge pull request #6370 from webpack/remove_v3_deprecated
Remove v3 deprecated APIs
2018-01-24 09:43:10 +01:00
Florent Cailhol 7b8fa112e0 Remove v3 deprecated APIs 2018-01-23 23:25:01 +01:00
Evan Scott 1f29fa9b51 perf: refactor various timestamp caches into ES6 Maps
This change satisfies https://github.com/webpack/webpack/issues/6234
which desires to change the timestamp caches from plain objects to
the ES6 Map type to avoid deopts, since v8 expects things to be
added to Maps but objects are only fast if properties aren't added
dynamically after initial assignment.
2018-01-23 02:30:22 -05:00
Tobias Koppers 0206949075 remove unused code 2018-01-21 11:12:36 +01:00
Tobias Koppers fabd1abb41 improvements from review by @ooflorent 2018-01-20 11:28:45 +01:00
Tobias Koppers 18ae73dad4 Refactor chunk graph
Chunks are now always in ChunkGroups
ChunkGroups have parents and children, Chunks no longer have this
AsyncDependenciesBlocks point to a ChunkGroup instead of a list of chunks
Entrypoint is now a ChunkGroup (extends from it)
move stuff graph modification methods into GraphHelpers
Change chunk id recording to source-based
Chunks have parents, siblings and children in Stats
rename AutomaticCommonsChunksPlugin to SplitChunksPlugin
add request property to origin (ChunkGroup)
remove moveToParent from AggressiveMergingPlugin
fix issues with AggressiveSplittingPlugin
remove CommonsChunkPlugin
add optimization.runtimeChunk (RuntimeChunkPlugin)
fix a filename bug for initial chunks
remove extract-text-webpack-plugin from test suite
add DebugHash to help debugging hash issues
fix issues with entry modules in different chunk as runtime
redo optimization.splitChunks options
Compilation.entrypoints is now a Map
Compilation.chunkGroups has been added
remove some unittests
update examples
update tests with CommonsChunkPlugin
2018-01-19 19:21:30 +01:00
Tobias Koppers 2126f085b1
Merge pull request #6286 from ooflorent/sortable_set_cache
Reduce SortableSet memory consumption
2018-01-12 10:57:10 +01:00
Florent Cailhol a4fec7932e Reduce SortableSet memory consumption 2018-01-11 16:01:24 +01:00
Tobias Koppers 0404564468 ensure that items are not enqueued twice
Use nice SetIterator trick
2018-01-11 13:37:29 +01:00
Tobias Koppers 84a3b2cd17
Merge pull request #6146 from EugeneHlushko/feature-xxhashjs
Feature: Non-crypto hashing algorithm and opt-in through config
2017-12-21 08:48:52 +01:00
EugeneHlushko 62395cf6dd Feature: Non-crypto hashing algorithm opt-in through config: make linters happy again 2017-12-20 14:30:36 +02:00
EugeneHlushko 26257bc0f5 Feature: Non-crypto hashing algorithm opt-in through config: use non-native hash example 2017-12-20 12:29:00 +02:00
Cody Ogden f5b57f4764 Extract TrackingSet class from the Parser.js module.
@TheLarkInn suggested this class be extracted from this file during the live stream tonight. A similar class was removed and placed in the  directory.
- Created
2017-12-20 01:37:49 -06:00
EugeneHlushko 307566a7a1 Feature: Add an option to provide output.hashFunction as a function 2017-12-19 19:53:08 +02:00
Tobias Koppers 0376a321de recycle nodes in Queue 2017-12-01 11:27:02 +01:00
Tobias Koppers 7e8936c64e make formatter happy 2017-11-23 11:47:22 +01:00
Tobias Koppers 6b40b1699e inline flush, reduce bulk size 2017-11-23 11:45:48 +01:00
Tobias Koppers a0ef93f939 aggregate all crypto hash usages into util/createHash
try to avoid calling hash.update with short strings
2017-11-23 11:09:17 +01:00
Tobias Koppers 4c4121b948 fix test and lint issues 2017-11-19 09:06:40 +01:00
Tobias Koppers 2ff9b53754 Use StackedSetMap for better performance 2017-11-19 00:50:10 +01:00
Tobias Koppers 5e39ec46ee Allow to override resolve configuration 2017-11-18 08:12:35 +01:00
Tobias Koppers 1b28c93eaf renamed methods 2017-11-06 12:15:23 +01:00
Tobias Koppers 801138a3b3 allow caching in sortable set and use it 2017-11-03 10:17:08 +01:00
Tobias Koppers 814c894168 Merge branch 'master' into next
# Conflicts:
#	lib/optimize/CommonsChunkPlugin.js
#	test/statsCases/limit-chunk-count-plugin/expected.txt
#	test/statsCases/named-chunks-plugin-async/expected.txt
#	test/statsCases/optimize-chunks/expected.txt
2017-10-16 10:47:17 +02:00
Tobias Koppers 11e28793fa improve performance by doing a breath-first traversal in the chunk graph
This is faster because shorter paths usually have less modules available.
This allows to reach minimal modules faster
2017-10-12 20:03:36 +02:00
Tobias Koppers 07992cf588 fix sorting issue 2017-09-22 17:23:49 +02:00
Tobias Koppers 6bd937d768 make things consitent 2017-09-22 14:07:28 +02:00
Tobias Koppers f53c0ceb84 Merge pull request #5322 from webpack/performance/parser
Parser performance improvements
2017-09-11 12:41:28 +02:00
Tobias Koppers 66385458a6 use marker objects to support any value in StackedSetMap 2017-08-11 16:38:17 +02:00
Tobias Koppers f9bf8a9085 Limit the number of parallel processed modules
fixes #3164
fixes #3166
2017-08-11 16:11:17 +02:00
Tobias Koppers 25805470c1 move StackedSetMap into separate file 2017-08-11 12:30:33 +02:00
Tobias Koppers 0a540b4147 added semis 2017-07-18 09:10:00 +02:00
Tobias Koppers c061c33e0f reduce number of calls to Map 2017-07-18 08:48:39 +02:00
asolove 648d78dab5 Fix lint failure. 2017-07-17 23:06:59 -06:00
asolove 3f1b7e624c Store relative path cache on compilation to avoid leaking memory. 2017-07-17 23:06:59 -06:00
asolove 164ce366c0 Cache module relative paths to speed up builds with lots of modules & chunks.
It seems like AggressiveSplittingPlugin generates relative paths for each (module,chunk) pair, so it was taking up a lot of time.
2017-07-17 23:06:59 -06:00
Tim Sebastian 5f16dd8554 clean up SortableSet
- remove unnecessary _isSorted flag
- remove clear-override as an empty set is "sorted"
- early return on empty sets
2017-06-21 08:12:22 +10:00
Tim Sebastian 7a99930d81 optimize sortableSet to prevent unnecessary sorting 2017-06-19 22:20:10 +10:00
Tim Sebastian 0eaa84748d add SortableSet as a new collection type 2017-06-18 10:41:58 +10:00
Tim Sebastian 2bff188fa3 make paths for records agnostic of OS 2017-04-07 23:37:42 +10:00
Tim Sebastian ed51e2ff2c unify makeRelative method used in aggresivesplittingplugin and recordsidsplugin 2017-04-05 23:38:15 +10:00