Beispiel #1
0
        protected internal override void Scan()
        {
            long recordsPerCPU = RecordDistributor.CalculateRecordsPerCpu(Store.maxCount(), NumberOfThreads);

            _cacheAccess.prepareForProcessingOfSingleStore(recordsPerCPU);

            QueueDistribution_QueueDistributor <RECORD> distributor = _distribution.distributor(recordsPerCPU, NumberOfThreads);

            distributeRecords(NumberOfThreads, this.GetType().Name + "-" + Name, DEFAULT_QUEUE_SIZE, Store.GetEnumerator(), Progress, Processor, distributor);
        }
Beispiel #2
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Override @SuppressWarnings("unchecked") public void run()
        public override void Run()
        {
            statistics.reset();
            BeforeProcessing(_processor);
            try
            {
                if (_processor.Stage.CacheSlotSizes.Length > 0)
                {
                    _cacheAccess.CacheSlotSizes = _processor.Stage.CacheSlotSizes;
                }
                _cacheAccess.Forward = _processor.Stage.Forward;

                if (_processor.Stage.Parallel)
                {
                    long highId;
                    if (_processor.Stage == CheckStage.Stage1NSPropsLabels)
                    {
                        highId = _storeAccess.NodeStore.HighId;
                    }
                    else if (_processor.Stage == CheckStage.Stage8PSProps)
                    {
                        highId = _storeAccess.PropertyStore.HighId;
                    }
                    else
                    {
                        highId = _storeAccess.NodeStore.HighId;
                    }
                    long recordsPerCPU = RecordDistributor.CalculateRecordsPerCpu(highId, numberOfThreads);
                    QueueDistribution_QueueDistributor <R> distributor = _distribution.distributor(recordsPerCPU, numberOfThreads);
                    _processor.applyFilteredParallel(_store, _progressListener, numberOfThreads, recordsPerCPU, distributor);
                }
                else
                {
                    _processor.applyFiltered(_store, _progressListener);
                }
                _cacheAccess.Forward = true;
            }
            catch (Exception e)
            {
                _progressListener.failed(e);
                throw new Exception(e);
            }
            finally
            {
                AfterProcessing(_processor);
            }
            statistics.print(name);
        }