Loading lib/jsduck/app.rb +4 −4 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ require 'jsduck/class_formatter' require 'jsduck/class' require 'jsduck/relations' require 'jsduck/inherit_doc' require 'jsduck/parallel_wrap' require 'jsduck/util/parallel' require 'jsduck/logger' require 'jsduck/assets' require 'jsduck/util/json' Loading Loading @@ -37,7 +37,7 @@ module JsDuck @opts = opts # Sets the nr of parallel processes to use. # Set to 0 to disable parallelization completely. ParallelWrap.in_processes = @opts.processes Util::Parallel.in_processes = @opts.processes # Turn JSON pretty-printing on/off Util::Json.pretty = @opts.pretty_json end Loading Loading @@ -106,7 +106,7 @@ module JsDuck # Parses the files in parallel using as many processes as available CPU-s def parallel_parse(filenames) ParallelWrap.map(filenames) do |fname| Util::Parallel.map(filenames) do |fname| Logger.instance.log("Parsing", fname) begin Source::File.new(Util::IO.read(fname), fname, @opts) Loading Loading @@ -171,7 +171,7 @@ module JsDuck # Don't format types when exporting class_formatter.include_types = !@opts.export # Format all doc-objects in parallel formatted_classes = ParallelWrap.map(@relations.classes) do |cls| formatted_classes = Util::Parallel.map(@relations.classes) do |cls| files = cls[:files].map {|f| f[:filename] }.join(" ") Logger.instance.log("Markdown formatting #{cls[:name]}", files) begin Loading lib/jsduck/class_writer.rb +3 −3 Original line number Diff line number Diff line require 'jsduck/parallel_wrap' require 'jsduck/util/parallel' require 'jsduck/logger' require 'jsduck/util/json' require 'jsduck/util/stdout' Loading @@ -24,13 +24,13 @@ module JsDuck private def write_stdout json = ParallelWrap.map(@relations.classes) {|cls| @exporter.export(cls) }.compact json = Util::Parallel.map(@relations.classes) {|cls| @exporter.export(cls) }.compact Util::Stdout.instance.add(json) end def write_dir(dir, extension) FileUtils.mkdir(dir) ParallelWrap.each(@relations.classes) do |cls| Util::Parallel.each(@relations.classes) do |cls| filename = dir + "/" + cls[:name] + extension Logger.instance.log("Writing docs", filename) json = @exporter.export(cls) Loading lib/jsduck/guide_writer.rb +2 −2 Original line number Diff line number Diff line require 'jsduck/parallel_wrap' require 'jsduck/util/parallel' require 'jsduck/logger' require 'jsduck/util/stdout' require 'fileutils' Loading Loading @@ -29,7 +29,7 @@ module JsDuck def write_dir(dir, extension) FileUtils.mkdir(dir) unless File.exists?(dir) ParallelWrap.each(all_guides) do |guide| Util::Parallel.each(all_guides) do |guide| filename = dir + "/" + guide["name"] + extension Logger.instance.log("Writing guide", filename) json = @exporter.export_guide(guide) Loading lib/jsduck/importer.rb +2 −2 Original line number Diff line number Diff line require 'jsduck/util/json' require 'jsduck/null_object' require 'jsduck/logger' require 'jsduck/parallel_wrap' require 'jsduck/util/parallel' module JsDuck Loading Loading @@ -35,7 +35,7 @@ module JsDuck # Reads in data from all .json files in directory def read(ver) # Map list of files into pairs of (classname, members-hash) pairs = ParallelWrap.map(Dir[ver[:path] + "/*.json"]) do |filename| pairs = Util::Parallel.map(Dir[ver[:path] + "/*.json"]) do |filename| JsDuck::Logger.instance.log("Importing #{ver[:version]}", filename) json = Util::Json.read(filename) [json["name"], members_id_index(json)] Loading lib/jsduck/parallel_wrap.rbdeleted 100644 → 0 +0 −32 Original line number Diff line number Diff line require 'parallel' module JsDuck # Wrapper around the parallel gem that falls back to simple # Array#map and Array#each when :in_processes => 0 specified. class ParallelWrap @@in_processes = nil # Sets globally the nr of processes to use. def self.in_processes=(n) @@in_processes = n end def self.each(arr, &block) if @@in_processes == 0 arr.each &block else Parallel.each(arr, {:in_processes => @@in_processes}, &block) end end def self.map(arr, &block) if @@in_processes == 0 arr.map &block else Parallel.map(arr, {:in_processes => @@in_processes}, &block) end end end end Loading
lib/jsduck/app.rb +4 −4 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ require 'jsduck/class_formatter' require 'jsduck/class' require 'jsduck/relations' require 'jsduck/inherit_doc' require 'jsduck/parallel_wrap' require 'jsduck/util/parallel' require 'jsduck/logger' require 'jsduck/assets' require 'jsduck/util/json' Loading Loading @@ -37,7 +37,7 @@ module JsDuck @opts = opts # Sets the nr of parallel processes to use. # Set to 0 to disable parallelization completely. ParallelWrap.in_processes = @opts.processes Util::Parallel.in_processes = @opts.processes # Turn JSON pretty-printing on/off Util::Json.pretty = @opts.pretty_json end Loading Loading @@ -106,7 +106,7 @@ module JsDuck # Parses the files in parallel using as many processes as available CPU-s def parallel_parse(filenames) ParallelWrap.map(filenames) do |fname| Util::Parallel.map(filenames) do |fname| Logger.instance.log("Parsing", fname) begin Source::File.new(Util::IO.read(fname), fname, @opts) Loading Loading @@ -171,7 +171,7 @@ module JsDuck # Don't format types when exporting class_formatter.include_types = !@opts.export # Format all doc-objects in parallel formatted_classes = ParallelWrap.map(@relations.classes) do |cls| formatted_classes = Util::Parallel.map(@relations.classes) do |cls| files = cls[:files].map {|f| f[:filename] }.join(" ") Logger.instance.log("Markdown formatting #{cls[:name]}", files) begin Loading
lib/jsduck/class_writer.rb +3 −3 Original line number Diff line number Diff line require 'jsduck/parallel_wrap' require 'jsduck/util/parallel' require 'jsduck/logger' require 'jsduck/util/json' require 'jsduck/util/stdout' Loading @@ -24,13 +24,13 @@ module JsDuck private def write_stdout json = ParallelWrap.map(@relations.classes) {|cls| @exporter.export(cls) }.compact json = Util::Parallel.map(@relations.classes) {|cls| @exporter.export(cls) }.compact Util::Stdout.instance.add(json) end def write_dir(dir, extension) FileUtils.mkdir(dir) ParallelWrap.each(@relations.classes) do |cls| Util::Parallel.each(@relations.classes) do |cls| filename = dir + "/" + cls[:name] + extension Logger.instance.log("Writing docs", filename) json = @exporter.export(cls) Loading
lib/jsduck/guide_writer.rb +2 −2 Original line number Diff line number Diff line require 'jsduck/parallel_wrap' require 'jsduck/util/parallel' require 'jsduck/logger' require 'jsduck/util/stdout' require 'fileutils' Loading Loading @@ -29,7 +29,7 @@ module JsDuck def write_dir(dir, extension) FileUtils.mkdir(dir) unless File.exists?(dir) ParallelWrap.each(all_guides) do |guide| Util::Parallel.each(all_guides) do |guide| filename = dir + "/" + guide["name"] + extension Logger.instance.log("Writing guide", filename) json = @exporter.export_guide(guide) Loading
lib/jsduck/importer.rb +2 −2 Original line number Diff line number Diff line require 'jsduck/util/json' require 'jsduck/null_object' require 'jsduck/logger' require 'jsduck/parallel_wrap' require 'jsduck/util/parallel' module JsDuck Loading Loading @@ -35,7 +35,7 @@ module JsDuck # Reads in data from all .json files in directory def read(ver) # Map list of files into pairs of (classname, members-hash) pairs = ParallelWrap.map(Dir[ver[:path] + "/*.json"]) do |filename| pairs = Util::Parallel.map(Dir[ver[:path] + "/*.json"]) do |filename| JsDuck::Logger.instance.log("Importing #{ver[:version]}", filename) json = Util::Json.read(filename) [json["name"], members_id_index(json)] Loading
lib/jsduck/parallel_wrap.rbdeleted 100644 → 0 +0 −32 Original line number Diff line number Diff line require 'parallel' module JsDuck # Wrapper around the parallel gem that falls back to simple # Array#map and Array#each when :in_processes => 0 specified. class ParallelWrap @@in_processes = nil # Sets globally the nr of processes to use. def self.in_processes=(n) @@in_processes = n end def self.each(arr, &block) if @@in_processes == 0 arr.each &block else Parallel.each(arr, {:in_processes => @@in_processes}, &block) end end def self.map(arr, &block) if @@in_processes == 0 arr.map &block else Parallel.map(arr, {:in_processes => @@in_processes}, &block) end end end end