Opened 12 years ago
Closed 12 years ago
#1663 closed doubt (worksforme)
Tiempo muy alto al compilar serie
Reported by: | Owned by: | Víctor de Buen Remiro | |
---|---|---|---|
Priority: | high | Milestone: | Mantainance |
Component: | TimeAlgebra | Version: | 3.1 |
Severity: | normal | Keywords: | |
Cc: |
Description (last modified by )
Hola Tol, cuando trato de construirme esta serie temporal, el tiempo que necesita para crearla es desorbitado, aproximadamente 20 segundos!.
Además cuando trato de hacer una estimación sea en Estimate o BSR el tiempo de estimación es absurdamente largo. ¿Podéis ayudarme?
Os dejo un ejemplo:
Date DefFirst := y2010; Date DefLast := y2015; TimeSet tmsLV = C-WD(6)-WD(7); TimeSet tmsFinDeMes.Medio = Succ(D(1),-1,tmsLV); TimeSet tmsFinDeMes.Sabado = tmsFinDeMes.Medio*WD(6); TimeSet tmsPreFinDeMes.Sabado = Succ(tmsFinDeMes.Sabado, -1,tmsLV); Real time = Time; Serie serPreFinDeMes.Sabado = CalInd(tmsPreFinDeMes.Sabado ,tmsLV); Real CtrTime(time);
Gracias de antemano
Change History (2)
comment:1 Changed 12 years ago by
Description: | modified (diff) |
---|---|
Status: | new → accepted |
comment:2 Changed 12 years ago by
Resolution: | → worksforme |
---|---|
Status: | accepted → closed |
Type: | defect → doubt |
Note: See
TracTickets for help on using
tickets.
El problema es que estás operando con una expresión del conjunto temporal vacío.
El
TimeSet tmsFinDeMes.Medio
es un subconjunto detmsLV
que excluye a los sábados, por lo queTimeSet tmsFinDeMes.Sabado
, que es su intersección conWD(6)
es necesariamente vacía. El sucesor del vacío en cualquier cosa es el vacío por lo queTimeSet tmsPreFinDeMes.Sabado
lo es también.Las operaciones de sucesión y predecesión de fechas sobre un conjunto vacío se tornan virtualmente infinitas. Si operas sobre
W
que es explícitamente vacío no hay problema porque TOL lo sabe, pero TOL no es capaz de hacer el cálculo simbólico que acabo de exponer para descubrir que un conjunto temporal es vacío, y se intenta defender mediante reglas heurísticas para no caer en ciclos infinitos pero el resultado es terriblemente lento.