pythoncad-developer Mailing List for PythonCAD (Page 13)
CAD Application entire developed in Python
Status: Beta
Brought to you by:
matteoboscolo
You can subscribe to this list here.
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(5) |
Nov
|
Dec
(13) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2010 |
Jan
(30) |
Feb
(65) |
Mar
(32) |
Apr
(42) |
May
(32) |
Jun
(18) |
Jul
(4) |
Aug
(30) |
Sep
(31) |
Oct
(28) |
Nov
(4) |
Dec
(40) |
2011 |
Jan
(18) |
Feb
|
Mar
(1) |
Apr
|
May
(1) |
Jun
(4) |
Jul
|
Aug
|
Sep
(3) |
Oct
|
Nov
|
Dec
|
2012 |
Jan
(7) |
Feb
(3) |
Mar
|
Apr
(3) |
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <mat...@bo...> - 2010-03-03 09:38:21
|
Hi Yagnesh, Those query where available in the old version ...I whose using it for the snap feature without know it ..:-) We are just choose the think that are good in r37 for porting in r38 to have the best Pythoncad .. Regards, Matteo ----- Original Message ----- Da : Yagnesh Desai <yn...@gm...> A : pyt...@li... Oggetto : Re: [Pythoncad-developer] New kernel Data : Wed, 3 Mar 2010 14:28:15 +0530 > Were these queries not available in theR37- - - - - - - - > - -Best regardsYagnesh DesaiSave a tree...please don't > print this e-mail.On Tue, Mar 2, 2010 at 10:12 PM, Matteo > Boscolo<mat...@bo...> wrote:> Hi gertwing > ,>> We need to spatial queries like "give me all entities > within (or outside) a> rectangle", needed for a zoom or > select functions.> Or "give me the nearest entities from a > given point", needed for snap and> selection functions.> > ok>> May be you can create this structure in memory at > startup looking of the> bounding box â¦>> Let me know if > having the bbox information in the entity table is still> > necessary ..>>>>> I donâtâ know how to improve this > code>> ..>>>> The name of the layer is inside>> the pickle > entity .. so I need to get all the layer and then ask to > the>> unpickle elemente the name ..>>>> We can store the > entity type>> with the name like this âLAYER_MAINâ or > âLAYER_PIPEâ>> but I do not like this sort of naming > conversion for the entity type.>>>> Any idea?>> We > must do the selection based on Id's.> The id is the > primary key and is indexed.>> When the drawing is opened > PythonCAD retrieved all layers from the database,> this is > done by the pyKadKernel.getEntityFromType('LAYER').> The > layer name is presented to the user, the record id is used > internally by> PythonCAD.> When a single layer record is > needed the id of the record is used to query> the > database.>> So instead of> def getEntLayer(self, > layerName)> we use> def getEntLayer(self, layerId)>> This > way we make full use of the database indexes and it will > be lightning> fast.> ok>> I was thinking to load in memory > at startup all the layer tree for fast> access to the data > ⦠and create a class for manage all the layers..>>>> > Regards,>> Matteo>>>> > ---------------------------------------------------------- > --------------------> Download Intel® Parallel Studio > Eval> Try the new software tools for yourself. Speed > compiling, find bugs> proactively, and fine-tune > applications for parallel performance.> See why Inte l > Parallel Studio got high marks during beta.> > http://p.sf.net/sfu/intel-sw-dev> > _______________________________________________> > Pythoncad-developer mailing list> > Pyt...@li...> > https://lists.sourceforge.net/lists/listinfo/pythoncad-developer>>------------------------------------------------------------------------------Download > Intel® Parallel Studio EvalTry the new software tools > for yourself. Speed compiling, find bugsproactively, and > fine-tune applications for parallel performance.See why > Intel Parallel Studio got high marks during > beta.http://p.sf.net/sfu/intel-sw-dev_____________________ > __________________________Pythoncad-developer mailing > lis...@li...https://lists > .sourceforge.net/lists/listinfo/pythoncad-developer |
From: Matteo B. <mat...@bo...> - 2010-03-03 09:02:08
|
Hi Gertwin, Actually for storing the undo history I use this system: Each time I create a new entity I add a record at the pycadundo table, (Just one for bulk operation as we have discuss for improve performance), and I write the pycad_undo_id value in the entity table too. Each time I make an undo redo I write in this table a new record.. so I can easily go up and down in the undo history. at the some time I set pycad_undo_visible in the entity table to 0 or 1 Use case for entity operation : New entity: Create a new record in undo table Create a new record in entity table + pycad_undo_visible=1 + add undo index Update an existing entity: Create a new record in undo table Mark the Updatete row in the entity Table with pycad_undo_visible=0 Create a new record in the entity table + pycad_undo_visible=1 + add undo index this two row in the entity table have the some pycad_entity_id Delete Entity: Create a new record in undo table Mark the Deleted row in the entity Table with pycad_undo_visible=0 Use case for Undo: Create a new record in undo table putting in the pycad_incremental_id the right id (I have a global class variable to store this information) make it -1 Set in the pycad_ent_table the pycad_undo_visible=0 for all the entity that have the pycad_incremental_id that match before make -1 Use case for Redo: Similar to Undo but put pycad_undo_visible=1 to the entity that need it Stop redo at the end of undo :-) Use case for Clear undo History: Delete all the record from entity table with pycad_undo_visible=0 set all undo id to -1 (it means no undo id) delete all record from undo table. This is what I'm trying to do with the undo operation... Now I have to finish to develop this system and introduce the version feature on it. In case of version we can provide this basic operation: NewEntity: pycad_entity_state="Working" Modifies an entity: pycad_entity_state="Working" Release: pycad_entity_state in the pycadEnt table ="Released" all the previous record with some pycad_entity_id with pycad_entity_state="Working" will be deleted may be we need to add a new column with the revision index all the undo operation related to the deleted record will be deleted too (so no undo operation can be performed after an release may be undo clear history can be used ...). Have you any suggestions or comment ? It's what you have in mind too ? I wold like to get a list of command and operation that the kernel have to perform to do such a feature... Thank in advance.. Regards, Matteo |
From: Yagnesh D. <yn...@gm...> - 2010-03-03 08:58:24
|
Were these queries not available in the R37 - - - - - - - - - - Best regards Yagnesh Desai Save a tree...please don't print this e-mail. On Tue, Mar 2, 2010 at 10:12 PM, Matteo Boscolo <mat...@bo...> wrote: > Hi gertwing, > > We need to spatial queries like "give me all entities within (or outside) a > rectangle", needed for a zoom or select functions. > Or "give me the nearest entities from a given point", needed for snap and > selection functions. > ok > > May be you can create this structure in memory at startup looking of the > bounding box … > > Let me know if having the bbox information in the entity table is still > necessary .. > > > >> I don’t’ know how to improve this code >> .. >> >> The name of the layer is inside >> the pickle entity .. so I need to get all the layer and then ask to the >> unpickle elemente the name .. >> >> We can store the entity type >> with the name like this ‘LAYER_MAIN’ or “LAYER_PIPE” >> but I do not like this sort of naming conversion for the entity type. >> >> Any idea? > > We must do the selection based on Id's. > The id is the primary key and is indexed. > > When the drawing is opened PythonCAD retrieved all layers from the database, > this is done by the pyKadKernel.getEntityFromType('LAYER'). > The layer name is presented to the user, the record id is used internally by > PythonCAD. > When a single layer record is needed the id of the record is used to query > the database. > > So instead of > def getEntLayer(self, layerName) > we use > def getEntLayer(self, layerId) > > This way we make full use of the database indexes and it will be lightning > fast. > ok > > I was thinking to load in memory at startup all the layer tree for fast > access to the data … and create a class for manage all the layers.. > > > > Regards, > > Matteo > > > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > Pythoncad-developer mailing list > Pyt...@li... > https://lists.sourceforge.net/lists/listinfo/pythoncad-developer > > |
From: Matteo B. <mat...@bo...> - 2010-03-02 17:08:57
|
Hi gertwing, We need to spatial queries like "give me all entities within (or outside) a rectangle", needed for a zoom or select functions. Or "give me the nearest entities from a given point", needed for snap and selection functions. ok May be you can create this structure in memory at startup looking of the bounding box . Let me know if having the bbox information in the entity table is still necessary .. > I don't' know how to improve this code > .. > > The name of the layer is inside > the pickle entity .. so I need to get all the layer and then ask to the > unpickle elemente the name .. > > We can store the entity type > with the name like this 'LAYER_MAIN' or "LAYER_PIPE" > but I do not like this sort of naming conversion for the entity type. > > Any idea? We must do the selection based on Id's. The id is the primary key and is indexed. When the drawing is opened PythonCAD retrieved all layers from the database, this is done by the pyKadKernel.getEntityFromType('LAYER'). The layer name is presented to the user, the record id is used internally by PythonCAD. When a single layer record is needed the id of the record is used to query the database. So instead of def getEntLayer(self, layerName) we use def getEntLayer(self, layerId) This way we make full use of the database indexes and it will be lightning fast. ok I was thinking to load in memory at startup all the layer tree for fast access to the data . and create a class for manage all the layers.. Regards, Matteo |
From: Matteo B. <mat...@bo...> - 2010-03-02 12:45:49
|
Hi Gertwin, I did some test some other test on the kernel, I did a test with a range(20) and dose are the some snapshot of the performance I will upload the full list in the repository under doc. Points: Create n: 1 entity in : 0.192669240889s Create n: 10 entity in : 0.192708602967s Create n: 100 entity in : 0.207776577425s Create n: 1000 entity in : 0.530273074414s Create n: 10000 entity in : 2.41335700763s Create n: 100000 entity in : 20.8602226952s Segments: Create n: 1 entity in : 0.298260581232s Create n: 10 entity in : 0.200354686547s Create n: 100 entity in : 0.249579959568s Create n: 1000 entity in : 0.599696655293s Create n: 10000 entity in : 2.80115262432s Create n: 100000 entity in : 26.3285308746s Get n: 666675 layer entity in : 1.23441743055s Points: Create n: 1 entity in : 0.259156068499s Create n: 10 entity in : 0.200110384957s Create n: 100 entity in : 0.303241167599s Create n: 1000 entity in : 0.559650447637s Create n: 10000 entity in : 2.37919371918s Create n: 100000 entity in : 21.035202105s Segments: Create n: 1 entity in : 0.235618401771s Create n: 10 entity in : 0.259450000535s Create n: 100 entity in : 0.322424618412s Create n: 1000 entity in : 0.655466729418s Create n: 10000 entity in : 2.86765571018s Create n: 100000 entity in : 25.1232110043s Get n: 3777797 layer entity in : 6.99834978768s Points: Create n: 1 entity in : 0.266752949482s Create n: 10 entity in : 0.234509418019s Create n: 100 entity in : 0.304314639912s Create n: 1000 entity in : 0.496553465039s Create n: 10000 entity in : 2.36063150464s Create n: 100000 entity in : 20.4707541902s Segments: Create n: 1 entity in : 0.216650158839s Create n: 10 entity in : 0.223914601406s Create n: 100 entity in : 0.295246815202s Create n: 1000 entity in : 0.494107026345s Create n: 10000 entity in : 2.74090468601s Create n: 100000 entity in : 24.6029371811s Get n: 4888912 layer entity in : 9.19867110203s Space on disk 1.19 GB Regards, Matteo |
From: Matteo B. <mat...@bo...> - 2010-03-02 09:09:26
|
Hi Gertwin, You have produced a lot of code, I am still behind, no the interface code does not display anything yet. Take your time, it's not a job this . so we do what we can and when we can . I think also that the pickle of larger objects will take more time. Maybe with polylines containing a large number of points it will take longer to load into the database. I think the some .. We can create a entityPoint table as you suggest .. So when we create a new entity instead of picling the array of point we will insert in a separate table ..like this .. Id | idEnt | x | y | z I Will do some test to see what is fast . I am satisfied with the performance so far, I still think it is a good decision to use a database. Me too . But I would like to see it in action J I don't think insertion of entities in a database containing 2 million entities will take more time than an empty database. Also query a large database must not be slow otherwise the indexes are not on the right columns. You are right but I do not know the performance of sqlite .. At this moment I am writing the code to populate the quadtrees from the PyCadDbKernel. I made a copy of the quadtree Art has implemented, for the time being these are in memory, maybe at a later stage we can put them in the db. How do you need the quad tree structure ? It's not so clear for me the use that you want do to of the quad tree . If It's used for intersection or to retrieve an entity from the user interface I think we do not need it .. I add the bbox (Need to finish it) for each entity so with a simple select we can get all the entity near a picked point in the user interface .. For my construction of the display lists I need a function that retrieves all layers from the database. You can use pyKadKernel.getEntityFromType('LAYER') this retrieve all the layer in the db (I need to improve this function . actually takes all the revision of all the layer .. I need to improve this select with more constraint). I would like to discuss with you regarding the undo and versioning of the entity. I will sent to you an e mail with this thread. I did not see such a function, maybe I overlooked it, otherwise I try to implement it tomorrow evening in the PyCadDbKernel. It's olready there use pyKadKernel.getEntityFromType('LAYER') I have some remarks on your code, please don't take this personally. I think that we can grow each other .. so please make all the remarks that you want I know this is still test code and maybe you already aware of it. For instance this member from PyCadDbKernel: def getEntLayer(self,layerName): """ get the pycadent of type layer """ self.__logger.debug('getEntLayer') _settingsObjs=self.getEntityFromType('LAYER') if len(_settingsObjs)<=0: raise EntityMissing,"No Layer object in the db" else: >> for sto in _settingsObjs: >> _setts=sto.getConstructionElements() >> for i in _setts: >> if _setts[i].name==self.__settings.layerName: >> return sto else: raise EntityMissing,"Layer name %s missing"%str(layerName) After the function getEntityFromType that queries the database there is a nested loop that picks the right entity. This implies that there are multiple records selected from the database. If we want to support MySQL in the future this means all those selected records are transported from the database server to the client computer. To get the best possible performance if we need one record from the database, build a query that selects only one record. I don't' know how to improve this code .. The name of the layer is inside the pickle entity .. so I need to get all the layer and then ask to the unpickle elemente the name .. We can store the entity type with the name like this 'LAYER_MAIN' or "LAYER_PIPE" but I do not like this sort of naming conversion for the entity type. Any idea? Also please use more understandable variable names so I can see what they mean. For me it is hard to understand what _setts and sto stands for. Now I have to look into the members getEntityFromType and getConstructionElements to get an idea. Yes you are right that part of code is very bad ..:-) .. I did it very fast . I will take more attention on naming .. Regards, Matteo Op schreef Matteo Boscolo <mat...@bo...>: > Hi Gertwin, > > > > I had implemented the layer creation and now the entity are written in > > the entity table, undo table and layer table .. > > here you have some performance test > > > > Create pycad object > > Points: > > Create n: 1 entity in : 0.0s > > Create n: 10 entity in : 0.0s > > Create n: 100 entity in : 0.02s > > Create n: 1000 entity in : 0.18s > > Create n: 10000 entity in : 1.77s > > Create n: 100000 entity in : 18.09s > > Segments: > > Create n: 1 entity in : 0.0s > > Create n: 10 entity in : 0.0s > > Create n: 100 entity in : 0.02s > > Create n: 1000 entity in : 0.22s > > Create n: 10000 entity in : 2.03s > > Create n: 100000 entity in : 21.91s > > Script terminated. > > > > Create pycad object > > Points: > > Create n: 1 entity in : 0.0s > > Create n: 10 entity in : 0.01s > > Create n: 100 entity in : 0.03s > > Create n: 1000 entity in : 0.17s > > Create n: 10000 entity in : 1.75s > > Create n: 100000 entity in : 18.58s > > Segments: > > Create n: 1 entity in : 0.0s > > Create n: 10 entity in : 0.0s > > Create n: 100 entity in : 0.02s > > Create n: 1000 entity in : 0.23s > > Create n: 10000 entity in : 2.09s > > Create n: 100000 entity in : 22.44s > > Script terminated. > > > > At the end of the script we have the following entity in the db > > pycadent 691117 > > pycadrel 691115 > > pycadundo 56 > for a single bulk operation. > > > > As you can see the performance are stable even if we already have more > > that 690000 entity... > > > > I think for the normal operation we do not have any problem for speed > > storing entity. > > > > I would like to do more test and see what append if we have more that > > 2.000.000 entity .. that could be the case with all the undo and so an. > > > > as you can see the time for storing segment is more than storing > > points ... > > may be this time is due to the pickling ... > > > > now you can get the entire child entity id from the kernel using the > > > > pycadkernel.getLayerChild(LayerName) > > def getChildrenIds(self,entityParentId): > > """ > > Get the children id of a relation > > """ > > _outObj=[] > > _sqlGet="""SELECT pycad_child_id > > FROM pycadrel > > WHERE pycad_parent_id=%s"""%str(entityParentId) > > _rows=self.makeSelect(_sqlGet) > > _dbEntRow=self.makeSelect(_sqlGet) > > if _dbEntRow is not None: > > for _row in _dbEntRow: > > _outObj.append(_row[0]) > > return _outObj > > > > Get n: 691115 layer entity in : 1.33s > > this is the time that it need to do such an operation. > > > > Fill free to add function to my class if you need it .. > > > > This is the first version .. so please add comment and improvements on > > my work.. > > > > Regards, > > Matteo > > > > > > > > > > > |
From: Matteo B. <mat...@bo...> - 2010-03-01 08:11:59
|
Hi Gertwin, I had implemented the layer creation and now the entity are written in the entity table, undo table and layer table .. here you have some performance test Create pycad object Points: Create n: 1 entity in : 0.0s Create n: 10 entity in : 0.0s Create n: 100 entity in : 0.02s Create n: 1000 entity in : 0.18s Create n: 10000 entity in : 1.77s Create n: 100000 entity in : 18.09s Segments: Create n: 1 entity in : 0.0s Create n: 10 entity in : 0.0s Create n: 100 entity in : 0.02s Create n: 1000 entity in : 0.22s Create n: 10000 entity in : 2.03s Create n: 100000 entity in : 21.91s Script terminated. Create pycad object Points: Create n: 1 entity in : 0.0s Create n: 10 entity in : 0.01s Create n: 100 entity in : 0.03s Create n: 1000 entity in : 0.17s Create n: 10000 entity in : 1.75s Create n: 100000 entity in : 18.58s Segments: Create n: 1 entity in : 0.0s Create n: 10 entity in : 0.0s Create n: 100 entity in : 0.02s Create n: 1000 entity in : 0.23s Create n: 10000 entity in : 2.09s Create n: 100000 entity in : 22.44s Script terminated. At the end of the script we have the following entity in the db pycadent 691117 pycadrel 691115 pycadundo 56 <- this is due to the bulk operation that just store an id for a single bulk operation. As you can see the performance are stable even if we already have more that 690000 entity... I think for the normal operation we do not have any problem for speed storing entity. I would like to do more test and see what append if we have more that 2.000.000 entity .. that could be the case with all the undo and so an. as you can see the time for storing segment is more than storing points ... may be this time is due to the pickling ... now you can get the entire child entity id from the kernel using the pycadkernel.getLayerChild(LayerName) def getChildrenIds(self,entityParentId): """ Get the children id of a relation """ _outObj=[] _sqlGet="""SELECT pycad_child_id FROM pycadrel WHERE pycad_parent_id=%s"""%str(entityParentId) _rows=self.makeSelect(_sqlGet) _dbEntRow=self.makeSelect(_sqlGet) if _dbEntRow is not None: for _row in _dbEntRow: _outObj.append(_row[0]) return _outObj Get n: 691115 layer entity in : 1.33s this is the time that it need to do such an operation. Fill free to add function to my class if you need it .. This is the first version .. so please add comment and improvements on my work.. Regards, Matteo |
From: <mat...@bo...> - 2010-02-22 14:12:32
|
Hi gertwin, I did other test in Linux and Windows here you can find the results. Python 2.6 Pythoncad Point Creation Intel Core(TM) Duo Cpu 2.4Ghz Ram 4 GB Test Made on Linux Debian(Testing) Create n: 1 entity in : 0.0s Create n: 10 entity in : 0.0s Create n: 100 entity in : 0.0s Create n: 1000 entity in : 0.12s Create n: 10000 entity in : 1.14s Create n: 100000 entity in : 12.89s Create n: 100000 entity in : 13.55s Test Made on Windows7 Create n: 1 entity in : 0.214576866551s Create n: 1 entity in : 0.173324376996s Create n: 1 entity in : 0.247212019176s Create n: 1 entity in : 0.282934968863s Create n: 10 entity in : 0.255009594547s Create n: 100 entity in : 0.293140486851s Create n: 1000 entity in : 0.463024517973s Create n: 10000 entity in : 1.54535450623s Create n: 100000 entity in : 11.9223061998s Create n: 100000 entity in : 11.8991265432s Regard, Matteo |
From: Yagnesh D. <yn...@gm...> - 2010-02-19 14:50:21
|
http://matplotlib.sourceforge.net/ has custom made look and feel of their sourceforge project page it must be possible to host the existing dokuwiki files and create the new website at http://pythoncad.sourceforge.net/ - - - Best regards Yagnesh Desai Save a tree...please don't print this e-mail. |
From: Yagnesh D. <yn...@gm...> - 2010-02-19 14:41:13
|
Friends; If we have single commit it is ok to avoid the undo if we are doing import. But in case its realtime operation each commit must be undone. - - - Best regards Yagnesh Desai Save a tree...please don't print this e-mail. |
From: <mat...@bo...> - 2010-02-19 13:21:46
|
Hi Gertwin, > The commit is very expensive for single updates. > Is it possible to let the program control the commit? Yes this is the code for the bulk operation .. kr=PyCadDbKernel() startTime=time.clock() nEnt=100 kr.startMassiveCreation() <-here i start bulkOperation for i in range(nEnt): basePoint=Point(10,i) kr.saveEntity(basePoint) kr.performCommit() <- here i perform the commit endTime=time.clock()-startTime In this case the commit was made at the end ..... So in case of dxf import we can use this strategy to speed up the load of the data. In this way no undo will be written ... so I have to think at something else to record the undo for all the entitys. May be I can create a relation table from undo end Entitys to link one undoId with more entitys. Regards, Matteo > > Also when the user wants to undo this action all modified > elements are undone, not a single element per undo. > > Regards, > Gertwin > > > Op 19 feb. 2010 12:33 schreef > "mat...@bo..." > > <mat...@bo...>: Hi Gertwin, > > > I Did some mistakes on time calculation > > > those are the updated values > > > > > > > Test made on w$7 os: > > > No Bulk Operation (with commit and undo enable) > > > Create n: 1 entity in : 0.1890149854s > > > Create n: 10 entity in : 1.0234820464s > > > Create n: 100 entity in : 10.5052122664s > > > > > BulkOperation (Commit at the end and undo disable) > > > Create n: 1 entity in : 0.193075697126s > > > Create n: 10 entity in : 0.190634392615s > > > Create n: 100 entity in : 0.196410349659s > > > Create n: 1000 entity in : 0.320889925233s > > > Create n: 10000 entity in : 1.33172048646s > > > Create n: 100000 entity in : 11.4102046186s > > > > > I don't think that we can have best performance ..than > this > > > . > > > > > Regards, > > > Matteo > > > > > ----- Original Message ----- > > > Da : "mat...@bo..." > > > mat...@bo...> > > > A : Matteo Boscolo > > > mat...@bo...>,ger...@gm... > > > Cc: pyt...@li... > > > Oggetto : Re: [Pythoncad-developer] New testing kernel > > > Data : Fri, 19 Feb 2010 10:36:41 +0100 > > > > > > I Gertwin, > > > > > > > > I have done some modification at the kernel structure > to > > > > improve the performance > > > > and here there is the test. > > > > > > > > We need to inprove the performance on the single > operation > > > > 0.4 for a single operation is too mutch... I think > that i > > > > can improve the code do get 0.0007 s > > > > for single entity > > > > > > > > Test made on w$7 os: > > > > Old style Performance test > > > > Create n: 1 entity in : 0.479778374389s > > > > Create n: 10 entity in : 4.9313876202s > > > > Create n: 100 entity in : 49.298951129s > > > > > > > > New style performance test > > > > Create n: 1 entity in : 0.000770127605866s > > > > Create n: 10 entity in : 0.00181878469585s > > > > Create n: 100 entity in : 0.0115031393396s > > > > Create n: 1000 entity in : 0.110898375245s > > > > Create n: 10000 entity in : 1.06068519964s > > > > Create n: 100000 entity in : 10.6621433079s > > > > > > > > Regards, > > > > Matteo > > > > > > > > ----- Original Message ----- > > > > Da : Matteo Boscolo mat...@bo...> > > > > A : ger...@gm... > > > > Cc: pyt...@li... > > > > Oggetto : Re: [Pythoncad-developer] New testing kernel > > > > Data : Wed, 17 Feb 2010 16:14:39 +0000 > > > > > > > > > Hi Gertwin, > > > > > I have done the first test on writing a pythoncad > point > > > > > in to the db structure. > > > > > It takes 0.25 s for one entity ... > > > > > > > > > > Suppose to have a dxf with 100000 entities ...it's > > > > > around 7 our on my dual core 2.4 GHz machine ... > > > > > > > > > > Could you please have a look at my code ..may be > I've > > > > > made some conceptual errors.. > > > > > > > > > > Now at each insert I perform a commit ... may be for > > > > > massive import this slow down the performance .. > > > > > We can think of something for massive operation... > that > > > > > make the commit at the end of the import and do not > > > > > write infos into the undo .. > > > > > > > > > > Let me know.. > > > > > > > > > > Regards > > > > > Matteo > > > > > > > > > > > > > > > 0.25*100000/60/60 > > > > > On Tue, 2010-02-16 at 22:15 +0000, > > > > > > ger...@gm... wrote: I started with > > > > > > commenting out all the old "Image class" related > code > > > > > > but the old "Image class" is used every where. I > will > > > > > > start with new interface code and only copy those > > > > > > parts that are needed from the old code. > > > > > > Regards, > > > > > > Gertwin > > > > > > > > > > > > > > > > > > Op schreef Matteo Boscolo > > > > > > > mat...@bo...>: > > > > > > > > > > > > > > > 2) Or I can start with a new main window + > > > > > > viewport for the test and > > > > > > > > > > > > > > > later copy the code that is needed from the > old > > > > > > > version into it. > > > > > > > > Maybe the second option is more efficient in > the > > > > > > > end. > > > > > > > I will take more than a week to have something > that > > > > > > > work properly to > > > > > > > make some test. > > > > > > > > > > > > > > so you cad think at the best way to write your > code. > > > > > > > > > > > > > > > > > > > > > > > > > > > > Let me know... > > > > > > > > > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > > > > > Matteo > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Op schreef Matteo Boscolo > > > > > > > mat...@bo...>: > > > > > > > > > Hi Gertwin, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I am going to adjust the existing > interface > > > > > > > (viewport) code to > > > > > > > > work > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > with your kernel module. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > After that we can do some performance > tests. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ok let me know when you have finish ... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Why are there 2 database connections? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > The first is made in PyCadDbKernel, the > second > > > > > > > is made in > > > > > > > > PyCadUndoDb. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I have made some more modification that I > will > > > > > > commit tomorrow and > > > > > > > > > > > > > > > all > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > will be clear ... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'm changing costantly the kernel module to > > > > > > perform all the feature > > > > > > > > > > > > > > > that > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > we have discuss.. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > If I have more questions during the > adjusting > > > > > > > the existing > > > > > > > > interface > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > code, I will post them in this thread. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thats good .. we need to find the best > solution > > > > > > for our product.. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Matteo > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Gertwin > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Op schreef Matteo Boscolo > > > > > > > mat...@bo...>: > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi All, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Today I have committed the new testing > > > > > > > version of the kernel > > > > > > > > using > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > sqlite db. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > You can find it in the git unde > > > > > > > Generic\kernel > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This is just a working model for doing > some > > > > > > > performance and > > > > > > > > feature > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > test. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > If the test that we are gonna to do well > be > > > > > > good in performance > > > > > > > > > > > > > > > and > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > feature, we well introduce it under R38. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This new way to store the information on > a > > > > > > db will help us to > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > improve > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > our solution with the following > capability: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 1) possibility to have the drawing with > all > > > > > > > the technical > > > > > > > > revisions. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2) very easy to develop new feature > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 3) possibility to have a file stored in > an > > > > > > mysql db(distribute > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > enviroment) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 4) force access of some part of the > drawing > > > > > > > with group\user > > > > > > > > policy > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > |
From: <ger...@gm...> - 2010-02-19 12:49:01
|
Hi Matteo, I like the performance of the bulk operation, I think that is fast enough. The commit is very expensive for single updates. Is it possible to let the program control the commit? What I mean is, when the user wants to copy 100 elements, the program must commit all those 100 updates and inserts in one single commit. Maybe something like this. If we have our own transaction object that contains a list of modified elements. The program can add elements to this transaction object. The program calls a commit function in the kernel with the transaction object as parameter. The kernel can commit all the elements within the transaction object in one single commit. start pseudo code: # get transaction from kernel trans_object = kernel.getNewTransaction() # add modified elements to the list trans_object.addModifiedElement(element1) trans_object.addModifiedElement(element2) trans_object.addModifiedElement(element3) ... trans_object.addModifiedElement(elementN) # commit the changes in a single commit kernel.commit(trans_object) end pseudo code. Also when the user wants to undo this action all modified elements are undone, not a single element per undo. Regards, Gertwin Op 19 feb. 2010 12:33 schreef "mat...@bo..." <mat...@bo...>: > Hi Gertwin, > I Did some mistakes on time calculation > those are the updated values > Test made on w$7 os: > No Bulk Operation (with commit and undo enable) > Create n: 1 entity in : 0.1890149854s > Create n: 10 entity in : 1.0234820464s > Create n: 100 entity in : 10.5052122664s > BulkOperation (Commit at the end and undo disable) > Create n: 1 entity in : 0.193075697126s > Create n: 10 entity in : 0.190634392615s > Create n: 100 entity in : 0.196410349659s > Create n: 1000 entity in : 0.320889925233s > Create n: 10000 entity in : 1.33172048646s > Create n: 100000 entity in : 11.4102046186s > I don't think that we can have best performance ..than this > . > Regards, > Matteo > ----- Original Message ----- > Da : "mat...@bo..." > mat...@bo...> > A : Matteo Boscolo > mat...@bo...>,ger...@gm... > Cc: pyt...@li... > Oggetto : Re: [Pythoncad-developer] New testing kernel > Data : Fri, 19 Feb 2010 10:36:41 +0100 > > I Gertwin, > > > > I have done some modification at the kernel structure to > > improve the performance > > and here there is the test. > > > > We need to inprove the performance on the single operation > > 0.4 for a single operation is too mutch... I think that i > > can improve the code do get 0.0007 s > > for single entity > > > > Test made on w$7 os: > > Old style Performance test > > Create n: 1 entity in : 0.479778374389s > > Create n: 10 entity in : 4.9313876202s > > Create n: 100 entity in : 49.298951129s > > > > New style performance test > > Create n: 1 entity in : 0.000770127605866s > > Create n: 10 entity in : 0.00181878469585s > > Create n: 100 entity in : 0.0115031393396s > > Create n: 1000 entity in : 0.110898375245s > > Create n: 10000 entity in : 1.06068519964s > > Create n: 100000 entity in : 10.6621433079s > > > > Regards, > > Matteo > > > > ----- Original Message ----- > > Da : Matteo Boscolo mat...@bo...> > > A : ger...@gm... > > Cc: pyt...@li... > > Oggetto : Re: [Pythoncad-developer] New testing kernel > > Data : Wed, 17 Feb 2010 16:14:39 +0000 > > > > > Hi Gertwin, > > > I have done the first test on writing a pythoncad point > > > in to the db structure. > > > It takes 0.25 s for one entity ... > > > > > > Suppose to have a dxf with 100000 entities ...it's > > > around 7 our on my dual core 2.4 GHz machine ... > > > > > > Could you please have a look at my code ..may be I've > > > made some conceptual errors.. > > > > > > Now at each insert I perform a commit ... may be for > > > massive import this slow down the performance .. > > > We can think of something for massive operation... that > > > make the commit at the end of the import and do not > > > write infos into the undo .. > > > > > > Let me know.. > > > > > > Regards > > > Matteo > > > > > > > > > 0.25*100000/60/60 > > > On Tue, 2010-02-16 at 22:15 +0000, > > > > ger...@gm... wrote: I started with > > > > commenting out all the old "Image class" related code > > > > but the old "Image class" is used every where. I will > > > > start with new interface code and only copy those > > > > parts that are needed from the old code. > > > > Regards, > > > > Gertwin > > > > > > > > > > > > Op schreef Matteo Boscolo > > > > > mat...@bo...>: > > > > > > > > > > > 2) Or I can start with a new main window + > > > > viewport for the test and > > > > > > > > > > > later copy the code that is needed from the old > > > > > version into it. > > > > > > Maybe the second option is more efficient in the > > > > > end. > > > > > I will take more than a week to have something that > > > > > work properly to > > > > > make some test. > > > > > > > > > > so you cad think at the best way to write your code. > > > > > > > > > > > > > > > > > > > > Let me know... > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > Matteo > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Op schreef Matteo Boscolo > > > > > mat...@bo...>: > > > > > > > Hi Gertwin, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I am going to adjust the existing interface > > > > > (viewport) code to > > > > > > work > > > > > > > > > > > > > > > > > > > > > > > > > with your kernel module. > > > > > > > > > > > > > > > > > > > > > > > > > After that we can do some performance tests. > > > > > > > > > > > > > > > > > > > > > > > > ok let me know when you have finish ... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Why are there 2 database connections? > > > > > > > > > > > > > > > > > > > > > > > > > The first is made in PyCadDbKernel, the second > > > > > is made in > > > > > > PyCadUndoDb. > > > > > > > > > > > > > > > > > > > > > > > > I have made some more modification that I will > > > > commit tomorrow and > > > > > > > > > > > all > > > > > > > > > > > > > > > > > > > > > > > > will be clear ... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'm changing costantly the kernel module to > > > > perform all the feature > > > > > > > > > > > that > > > > > > > > > > > > > > > > > > > > > > > > we have discuss.. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > If I have more questions during the adjusting > > > > > the existing > > > > > > interface > > > > > > > > > > > > > > > > > > > > > > > > > code, I will post them in this thread. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thats good .. we need to find the best solution > > > > for our product.. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > > > > > > > > > > > > > > > Matteo > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > > > > > > > > > > > > > > > > Gertwin > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Op schreef Matteo Boscolo > > > > > mat...@bo...>: > > > > > > > > > > > > > > > > > > > > > Hi All, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Today I have committed the new testing > > > > > version of the kernel > > > > > > using > > > > > > > > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > sqlite db. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > You can find it in the git unde > > > > > Generic\kernel > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This is just a working model for doing some > > > > > performance and > > > > > > feature > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > test. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > If the test that we are gonna to do well be > > > > good in performance > > > > > > > > > > > and > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > feature, we well introduce it under R38. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This new way to store the information on a > > > > db will help us to > > > > > > > > > > > > > > > > > > > > > > > > > improve > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > our solution with the following capability: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 1) possibility to have the drawing with all > > > > > the technical > > > > > > revisions. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2) very easy to develop new feature > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 3) possibility to have a file stored in an > > > > mysql db(distribute > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > enviroment) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 4) force access of some part of the drawing > > > > > with group\user > > > > > > policy > > > > > > > > > > > > > > > > > > > > > > > |
From: <mat...@bo...> - 2010-02-19 11:33:30
|
Hi Gertwin, I Did some mistakes on time calculation those are the updated values Test made on w$7 os: No Bulk Operation (with commit and undo enable) Create n: 1 entity in : 0.1890149854s Create n: 10 entity in : 1.0234820464s Create n: 100 entity in : 10.5052122664s BulkOperation (Commit at the end and undo disable) Create n: 1 entity in : 0.193075697126s Create n: 10 entity in : 0.190634392615s Create n: 100 entity in : 0.196410349659s Create n: 1000 entity in : 0.320889925233s Create n: 10000 entity in : 1.33172048646s Create n: 100000 entity in : 11.4102046186s I don't think that we can have best performance ..than this . Regards, Matteo ----- Original Message ----- Da : "mat...@bo..." <mat...@bo...> A : Matteo Boscolo <mat...@bo...>,ger...@gm... Cc: pyt...@li... Oggetto : Re: [Pythoncad-developer] New testing kernel Data : Fri, 19 Feb 2010 10:36:41 +0100 > I Gertwin, > > I have done some modification at the kernel structure to > improve the performance > and here there is the test. > > We need to inprove the performance on the single operation > 0.4 for a single operation is too mutch... I think that i > can improve the code do get 0.0007 s > for single entity > > Test made on w$7 os: > Old style Performance test > Create n: 1 entity in : 0.479778374389s > Create n: 10 entity in : 4.9313876202s > Create n: 100 entity in : 49.298951129s > > New style performance test > Create n: 1 entity in : 0.000770127605866s > Create n: 10 entity in : 0.00181878469585s > Create n: 100 entity in : 0.0115031393396s > Create n: 1000 entity in : 0.110898375245s > Create n: 10000 entity in : 1.06068519964s > Create n: 100000 entity in : 10.6621433079s > > Regards, > Matteo > > ----- Original Message ----- > Da : Matteo Boscolo <mat...@bo...> > A : ger...@gm... > Cc: pyt...@li... > Oggetto : Re: [Pythoncad-developer] New testing kernel > Data : Wed, 17 Feb 2010 16:14:39 +0000 > > > Hi Gertwin, > > I have done the first test on writing a pythoncad point > > in to the db structure. > > It takes 0.25 s for one entity ... > > > > Suppose to have a dxf with 100000 entities ...it's > > around 7 our on my dual core 2.4 GHz machine ... > > > > Could you please have a look at my code ..may be I've > > made some conceptual errors.. > > > > Now at each insert I perform a commit ... may be for > > massive import this slow down the performance .. > > We can think of something for massive operation... that > > make the commit at the end of the import and do not > > write infos into the undo .. > > > > Let me know.. > > > > Regards > > Matteo > > > > > > 0.25*100000/60/60 > > On Tue, 2010-02-16 at 22:15 +0000, > > > ger...@gm... wrote: I started with > > > commenting out all the old "Image class" related code > > > but the old "Image class" is used every where. I will > > > start with new interface code and only copy those > > > parts that are needed from the old code. > > > Regards, > > > Gertwin > > > > > > > > > Op schreef Matteo Boscolo > > > > <mat...@bo...>: > > > > > > > > > 2) Or I can start with a new main window + > > > viewport for the test and > > > > > > > > > later copy the code that is needed from the old > > > > version into it. > > > > > Maybe the second option is more efficient in the > > > > end. > > > > I will take more than a week to have something that > > > > work properly to > > > > make some test. > > > > > > > > so you cad think at the best way to write your code. > > > > > > > > > > > > > > > > Let me know... > > > > > > > > > > > > > > > > Regards, > > > > > > > > Matteo > > > > > > > > > > > > > > > > > > > > > > > > > > Op schreef Matteo Boscolo > > > > mat...@bo...>: > > > > > > Hi Gertwin, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I am going to adjust the existing interface > > > > (viewport) code to > > > > > work > > > > > > > > > > > > > > > > > > > > > with your kernel module. > > > > > > > > > > > > > > > > > > > > > After that we can do some performance tests. > > > > > > > > > > > > > > > > > > > > ok let me know when you have finish ... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Why are there 2 database connections? > > > > > > > > > > > > > > > > > > > > > The first is made in PyCadDbKernel, the second > > > > is made in > > > > > PyCadUndoDb. > > > > > > > > > > > > > > > > > > > > I have made some more modification that I will > > > commit tomorrow and > > > > > > > > > all > > > > > > > > > > > > > > > > > > > > will be clear ... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'm changing costantly the kernel module to > > > perform all the feature > > > > > > > > > that > > > > > > > > > > > > > > > > > > > > we have discuss.. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > If I have more questions during the adjusting > > > > the existing > > > > > interface > > > > > > > > > > > > > > > > > > > > > code, I will post them in this thread. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thats good .. we need to find the best solution > > > for our product.. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > > > > > > > > > > > Matteo > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > > > > > > > > > > > > Gertwin > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Op schreef Matteo Boscolo > > > > mat...@bo...>: > > > > > > > > > > > > > > > > > > Hi All, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Today I have committed the new testing > > > > version of the kernel > > > > > using > > > > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > sqlite db. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > You can find it in the git unde > > > > Generic\kernel > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This is just a working model for doing some > > > > performance and > > > > > feature > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > test. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > If the test that we are gonna to do well be > > > good in performance > > > > > > > > > and > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > feature, we well introduce it under R38. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This new way to store the information on a > > > db will help us to > > > > > > > > > > > > > > > > > > > > > improve > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > our solution with the following capability: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 1) possibility to have the drawing with all > > > > the technical > > > > > revisions. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2) very easy to develop new feature > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 3) possibility to have a file stored in an > > > mysql db(distribute > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > enviroment) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 4) force access of some part of the drawing > > > > with group\user > > > > > policy > > > > > > > > > > > > > > > > > > > > > (will > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > be develop after merging with the r38 code) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 5) improve performance in opening drawing > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 6) improve performance during scale pan > > > > action > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Any comment are really appreciated. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Matteo > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ps: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Actually the code is store in one single > > > file, I need to split > > > > > > > > > it > > > > > > > > > > > > > > > > > > > > > into > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > more module .../ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ---------------------------------------------------------- > > > > > -------------------- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > SOLARIS 10 is the OS for Data Centers - > > > provides features such > > > > > > > > > as > > > > > > > > > > > > > > > > > > > > > DTrace, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Predictive Self Healing and Award Winning > > > ZFS. Get Solaris 10 > > > > > > > > > NOW > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > http://p.sf.net/sfu/solaris-dev2dev > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Pythoncad-developer mailing list > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Pyt...@li... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://lists.sourceforge.net/lists/listinfo/pythoncad-developer > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ---------------------------------------------------------- > > > > > -------------------- > > > > > > > > > > > > SOLARIS 10 is the OS for Data Centers - > > > provides features such as > > > > > > > > > DTrace, > > > > > > > > > > > > > > > > > > > > > Predictive Self Healing and Award Winning ZFS. > > > Get Solaris 10 NOW > > > > > > > > > > > > > > > > > > > > > http://p.sf.net/sfu/solaris-dev2dev > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > Pythoncad-developer mailing list > > > > > > > > > Pyt...@li... > > > > > > > > > > > > https://lists.sourceforge.net/lists/listinfo/pythoncad-developer > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ---------------------------------------------------------- > > -------------------- SOLARIS 10 is the OS for Data > Centers - provides features such as DTrace, Predictive > > Self Healing and Award Winning ZFS. Get Solaris 10 NOW > > http://p.sf.net/sfu/solaris-dev2dev > > _______________________________________________ > > Pythoncad-developer mailing list > > Pyt...@li... > > > https://lists.sourceforge.net/lists/listinfo/pythoncad-developer |
From: <mat...@bo...> - 2010-02-19 09:36:51
|
I Gertwin, I have done some modification at the kernel structure to improve the performance and here there is the test. We need to inprove the performance on the single operation 0.4 for a single operation is too mutch... I think that i can improve the code do get 0.0007 s for single entity Test made on w$7 os: Old style Performance test Create n: 1 entity in : 0.479778374389s Create n: 10 entity in : 4.9313876202s Create n: 100 entity in : 49.298951129s New style performance test Create n: 1 entity in : 0.000770127605866s Create n: 10 entity in : 0.00181878469585s Create n: 100 entity in : 0.0115031393396s Create n: 1000 entity in : 0.110898375245s Create n: 10000 entity in : 1.06068519964s Create n: 100000 entity in : 10.6621433079s Regards, Matteo ----- Original Message ----- Da : Matteo Boscolo <mat...@bo...> A : ger...@gm... Cc: pyt...@li... Oggetto : Re: [Pythoncad-developer] New testing kernel Data : Wed, 17 Feb 2010 16:14:39 +0000 > Hi Gertwin, > I have done the first test on writing a pythoncad point in > to the db structure. > It takes 0.25 s for one entity ... > > Suppose to have a dxf with 100000 entities ...it's around > 7 our on my dual core 2.4 GHz machine ... > > Could you please have a look at my code ..may be I've made > some conceptual errors.. > > Now at each insert I perform a commit ... may be for > massive import this slow down the performance .. > We can think of something for massive operation... that > make the commit at the end of the import and do not write > infos into the undo .. > > Let me know.. > > Regards > Matteo > > > 0.25*100000/60/60 > On Tue, 2010-02-16 at 22:15 +0000, ger...@gm... > > wrote: I started with commenting out all the old "Image > > class" related code but the old "Image class" is used > > every where. I will start with new interface code and > > only copy those parts that are needed from the old code. > > > > Regards, > > Gertwin > > > > > > Op schreef Matteo Boscolo <mat...@bo...>: > > > > > > > > > > 2) Or I can start with a new main window + viewport > > for the test and > > > > > > > later copy the code that is needed from the old > > > version into it. > > > > Maybe the second option is more efficient in the > > > end. > > > I will take more than a week to have something that > > > work properly to > > > make some test. > > > > > > so you cad think at the best way to write your code. > > > > > > > > > > > > Let me know... > > > > > > > > > > > > Regards, > > > > > > Matteo > > > > > > > > > > > > > > > > > > > > Op schreef Matteo Boscolo > > > mat...@bo...>: > > > > > Hi Gertwin, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I am going to adjust the existing interface > > > (viewport) code to > > > > work > > > > > > > > > > > > > > > > > with your kernel module. > > > > > > > > > > > > > > > > > After that we can do some performance tests. > > > > > > > > > > > > > > > > ok let me know when you have finish ... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Why are there 2 database connections? > > > > > > > > > > > > > > > > > The first is made in PyCadDbKernel, the second > > > is made in > > > > PyCadUndoDb. > > > > > > > > > > > > > > > > I have made some more modification that I will > > commit tomorrow and > > > > > > > all > > > > > > > > > > > > > > > > will be clear ... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'm changing costantly the kernel module to > > perform all the feature > > > > > > > that > > > > > > > > > > > > > > > > we have discuss.. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > If I have more questions during the adjusting > > > the existing > > > > interface > > > > > > > > > > > > > > > > > code, I will post them in this thread. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thats good .. we need to find the best solution > > for our product.. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > > > > > > > Matteo > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > > > > > > > > Gertwin > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Op schreef Matteo Boscolo > > > mat...@bo...>: > > > > > > > > > > > > > > > Hi All, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Today I have committed the new testing version > > > of the kernel > > > > using > > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > sqlite db. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > You can find it in the git unde Generic\kernel > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This is just a working model for doing some > > > performance and > > > > feature > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > test. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > If the test that we are gonna to do well be > > good in performance > > > > > > > and > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > feature, we well introduce it under R38. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This new way to store the information on a db > > will help us to > > > > > > > > > > > > > > > > > improve > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > our solution with the following capability: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 1) possibility to have the drawing with all > > > the technical > > > > revisions. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2) very easy to develop new feature > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 3) possibility to have a file stored in an > > mysql db(distribute > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > enviroment) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 4) force access of some part of the drawing > > > with group\user > > > > policy > > > > > > > > > > > > > > > > > (will > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > be develop after merging with the r38 code) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 5) improve performance in opening drawing > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 6) improve performance during scale pan action > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Any comment are really appreciated. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Matteo > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ps: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Actually the code is store in one single file, > > I need to split > > > > > > > it > > > > > > > > > > > > > > > > > into > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > more module .../ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ---------------------------------------------------------- > > > -------------------- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > SOLARIS 10 is the OS for Data Centers - > > provides features such > > > > > > > as > > > > > > > > > > > > > > > > > DTrace, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Predictive Self Healing and Award Winning ZFS. > > Get Solaris 10 > > > > > > > NOW > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > http://p.sf.net/sfu/solaris-dev2dev > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Pythoncad-developer mailing list > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Pyt...@li... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://lists.sourceforge.net/lists/listinfo/pythoncad-developer > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ---------------------------------------------------------- > > > -------------------- > > > > > > > > > > > > > > SOLARIS 10 is the OS for Data Centers - provides > > features such as > > > > > > > DTrace, > > > > > > > > > > > > > > > > > Predictive Self Healing and Award Winning ZFS. > > Get Solaris 10 NOW > > > > > > > > > > > > > > > > > http://p.sf.net/sfu/solaris-dev2dev > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > Pythoncad-developer mailing list > > > > > > > Pyt...@li... > > > > > > > > https://lists.sourceforge.net/lists/listinfo/pythoncad-developer > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ---------------------------------------------------------- > -------------------- SOLARIS 10 is the OS for Data Centers > - provides features such as DTrace, Predictive Self > Healing and Award Winning ZFS. Get Solaris 10 NOW > http://p.sf.net/sfu/solaris-dev2dev > _______________________________________________ > Pythoncad-developer mailing list > Pyt...@li... > https://lists.sourceforge.net/lists/listinfo/pythoncad-developer |
From: Matteo B. <mat...@bo...> - 2010-02-17 18:04:31
|
Hi Gertwin, I did other test on the new pykernel and i have implemented a method to stop to write in the undo table (Usu foul in case of dxf import). This is the result in the linux with the some machine ...(i have dual boot) I Takes 0.01 second without undo and 0.02 second with undo 0.01*100000/60 ==15 Minutes (That is not very fast)...but better than 7h Regards, Matteo Get New id in : 0.01s Create PyCadEnt in : 0.0s Save PyCadEnt in : 0.0s Create n: 1 entity in : 0.01s Script terminated. /media/Dati/Matteo/personale/programming/python/PythonCadR38NG/pythoncad/PythonCAD/Generic/Kernel/pycadkernel.py Get New id in : 0.01s Create PyCadEnt in : 0.0s Save PyCadEnt in : 0.0s Create n: 1 entity in : 0.01s Script terminated. /media/Dati/Matteo/personale/programming/python/PythonCadR38NG/pythoncad/PythonCAD/Generic/Kernel/pycadkernel.py Get New id in : 0.01s Create PyCadEnt in : 0.0s Save PyCadEnt in : 0.0s getNextUndo in : 0.01s Create n: 1 entity in : 0.02s Script terminated. /media/Dati/Matteo/personale/programming/python/PythonCadR38NG/pythoncad/PythonCAD/Generic/Kernel/pycadkernel.py Get New id in : 0.0s Create PyCadEnt in : 0.0s Save PyCadEnt in : 0.0s getNextUndo in : 0.01s Create n: 1 entity in : 0.01s On Tue, 2010-02-16 at 22:15 +0000, ger...@gm... wrote: > I started with commenting out all the old "Image class" related code > but the old "Image class" is used every where. > I will start with new interface code and only copy those parts that > are needed from the old code. > > Regards, > Gertwin > > > Op schreef Matteo Boscolo <mat...@bo...>: > > > > > > > 2) Or I can start with a new main window + viewport for the test > and > > > > > later copy the code that is needed from the old version into it. > > > > > Maybe the second option is more efficient in the end. > > > > I will take more than a week to have something that work properly to > > > > make some test. > > > > so you cad think at the best way to write your code. > > > > > > > > Let me know... > > > > > > > > Regards, > > > > Matteo > > > > > > > > > > > > > > Op schreef Matteo Boscolo mat...@bo...>: > > > > > > Hi Gertwin, > > > > > > > > > > > > > > > > > > > > > > > > > I am going to adjust the existing interface (viewport) code to > > > > > work > > > > > > > > > > > > > with your kernel module. > > > > > > > > > > > > > After that we can do some performance tests. > > > > > > > > > > > > ok let me know when you have finish ... > > > > > > > > > > > > > > > > > > > > > > > > > Why are there 2 database connections? > > > > > > > > > > > > > The first is made in PyCadDbKernel, the second is made in > > > > > PyCadUndoDb. > > > > > > > > > > > > I have made some more modification that I will commit tomorrow > and > > > > > all > > > > > > > > > > > > will be clear ... > > > > > > > > > > > > > > > > > > > > > > > > I'm changing costantly the kernel module to perform all the > feature > > > > > that > > > > > > > > > > > > we have discuss.. > > > > > > > > > > > > > > > > > > > > > > > > > If I have more questions during the adjusting the existing > > > > > interface > > > > > > > > > > > > > code, I will post them in this thread. > > > > > > > > > > > > > > > > > > > > > > > > > Thats good .. we need to find the best solution for our > product.. > > > > > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > > > Matteo > > > > > > > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > > > > Gertwin > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Op schreef Matteo Boscolo mat...@bo...>: > > > > > > > > > > > > > > Hi All, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Today I have committed the new testing version of the kernel > > > > > using > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > > > > > > > > sqlite db. > > > > > > > > > > > > > > > > > > > > > > > > > > > > You can find it in the git unde Generic\kernel > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This is just a working model for doing some performance and > > > > > feature > > > > > > > > > > > > > > > > > > > > > > > > > > > > test. > > > > > > > > > > > > > > > > > > > > > > > > > > > > If the test that we are gonna to do well be good in > performance > > > > > and > > > > > > > > > > > > > > > > > > > > > > > > > > > > feature, we well introduce it under R38. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This new way to store the information on a db will help us > to > > > > > > > > > > > > > improve > > > > > > > > > > > > > > > > > > > > > > > > > > > > our solution with the following capability: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 1) possibility to have the drawing with all the technical > > > > > revisions. > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2) very easy to develop new feature > > > > > > > > > > > > > > > > > > > > > > > > > > > > 3) possibility to have a file stored in an mysql > db(distribute > > > > > > > > > > > > > > > > > > > > > > > > > > > > enviroment) > > > > > > > > > > > > > > > > > > > > > > > > > > > > 4) force access of some part of the drawing with group\user > > > > > policy > > > > > > > > > > > > > (will > > > > > > > > > > > > > > > > > > > > > > > > > > > > be develop after merging with the r38 code) > > > > > > > > > > > > > > > > > > > > > > > > > > > > 5) improve performance in opening drawing > > > > > > > > > > > > > > > > > > > > > > > > > > > > 6) improve performance during scale pan action > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Any comment are really appreciated. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > > > > > > > > > > > > > > > > > > > Matteo > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ps: > > > > > > > > > > > > > > > > > > > > > > > > > > > > Actually the code is store in one single file, I need to > split > > > > > it > > > > > > > > > > > > > into > > > > > > > > > > > > > > > > > > > > > > > > > > > > more module .../ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > > > > > > > > > > > > > > > > > > > > > > > > > SOLARIS 10 is the OS for Data Centers - provides features > such > > > > > as > > > > > > > > > > > > > DTrace, > > > > > > > > > > > > > > > > > > > > > > > > > > > > Predictive Self Healing and Award Winning ZFS. Get Solaris > 10 > > > > > NOW > > > > > > > > > > > > > > > > > > > > > > > > > > > > http://p.sf.net/sfu/solaris-dev2dev > > > > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > > > > > > > > > > > > > > > > > > > > > > Pythoncad-developer mailing list > > > > > > > > > > > > > > > > > > > > > > > > > > > > Pyt...@li... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://lists.sourceforge.net/lists/listinfo/pythoncad-developer > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > > > > > > > > > > SOLARIS 10 is the OS for Data Centers - provides features such > as > > > > > DTrace, > > > > > > > > > > > > > Predictive Self Healing and Award Winning ZFS. Get Solaris 10 > NOW > > > > > > > > > > > > > http://p.sf.net/sfu/solaris-dev2dev > > > > > > > > > > > > > _______________________________________________ > > > > > Pythoncad-developer mailing list > > > > > Pyt...@li... > > > > > https://lists.sourceforge.net/lists/listinfo/pythoncad-developer > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > |
From: Matteo B. <mat...@bo...> - 2010-02-17 15:14:54
|
Hi Gertwin, I have done the first test on writing a pythoncad point in to the db structure. It takes 0.25 s for one entity ... Suppose to have a dxf with 100000 entities ...it's around 7 our on my dual core 2.4 GHz machine ... Could you please have a look at my code ..may be I've made some conceptual errors.. Now at each insert I perform a commit ... may be for massive import this slow down the performance .. We can think of something for massive operation... that make the commit at the end of the import and do not write infos into the undo .. Let me know.. Regards Matteo 0.25*100000/60/60 On Tue, 2010-02-16 at 22:15 +0000, ger...@gm... wrote: > I started with commenting out all the old "Image class" related code > but the old "Image class" is used every where. > I will start with new interface code and only copy those parts that > are needed from the old code. > > Regards, > Gertwin > > > Op schreef Matteo Boscolo <mat...@bo...>: > > > > > > > 2) Or I can start with a new main window + viewport for the test > and > > > > > later copy the code that is needed from the old version into it. > > > > > Maybe the second option is more efficient in the end. > > > > I will take more than a week to have something that work properly to > > > > make some test. > > > > so you cad think at the best way to write your code. > > > > > > > > Let me know... > > > > > > > > Regards, > > > > Matteo > > > > > > > > > > > > > > Op schreef Matteo Boscolo mat...@bo...>: > > > > > > Hi Gertwin, > > > > > > > > > > > > > > > > > > > > > > > > > I am going to adjust the existing interface (viewport) code to > > > > > work > > > > > > > > > > > > > with your kernel module. > > > > > > > > > > > > > After that we can do some performance tests. > > > > > > > > > > > > ok let me know when you have finish ... > > > > > > > > > > > > > > > > > > > > > > > > > Why are there 2 database connections? > > > > > > > > > > > > > The first is made in PyCadDbKernel, the second is made in > > > > > PyCadUndoDb. > > > > > > > > > > > > I have made some more modification that I will commit tomorrow > and > > > > > all > > > > > > > > > > > > will be clear ... > > > > > > > > > > > > > > > > > > > > > > > > I'm changing costantly the kernel module to perform all the > feature > > > > > that > > > > > > > > > > > > we have discuss.. > > > > > > > > > > > > > > > > > > > > > > > > > If I have more questions during the adjusting the existing > > > > > interface > > > > > > > > > > > > > code, I will post them in this thread. > > > > > > > > > > > > > > > > > > > > > > > > > Thats good .. we need to find the best solution for our > product.. > > > > > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > > > Matteo > > > > > > > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > > > > Gertwin > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Op schreef Matteo Boscolo mat...@bo...>: > > > > > > > > > > > > > > Hi All, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Today I have committed the new testing version of the kernel > > > > > using > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > > > > > > > > sqlite db. > > > > > > > > > > > > > > > > > > > > > > > > > > > > You can find it in the git unde Generic\kernel > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This is just a working model for doing some performance and > > > > > feature > > > > > > > > > > > > > > > > > > > > > > > > > > > > test. > > > > > > > > > > > > > > > > > > > > > > > > > > > > If the test that we are gonna to do well be good in > performance > > > > > and > > > > > > > > > > > > > > > > > > > > > > > > > > > > feature, we well introduce it under R38. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This new way to store the information on a db will help us > to > > > > > > > > > > > > > improve > > > > > > > > > > > > > > > > > > > > > > > > > > > > our solution with the following capability: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 1) possibility to have the drawing with all the technical > > > > > revisions. > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2) very easy to develop new feature > > > > > > > > > > > > > > > > > > > > > > > > > > > > 3) possibility to have a file stored in an mysql > db(distribute > > > > > > > > > > > > > > > > > > > > > > > > > > > > enviroment) > > > > > > > > > > > > > > > > > > > > > > > > > > > > 4) force access of some part of the drawing with group\user > > > > > policy > > > > > > > > > > > > > (will > > > > > > > > > > > > > > > > > > > > > > > > > > > > be develop after merging with the r38 code) > > > > > > > > > > > > > > > > > > > > > > > > > > > > 5) improve performance in opening drawing > > > > > > > > > > > > > > > > > > > > > > > > > > > > 6) improve performance during scale pan action > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Any comment are really appreciated. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > > > > > > > > > > > > > > > > > > > Matteo > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ps: > > > > > > > > > > > > > > > > > > > > > > > > > > > > Actually the code is store in one single file, I need to > split > > > > > it > > > > > > > > > > > > > into > > > > > > > > > > > > > > > > > > > > > > > > > > > > more module .../ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > > > > > > > > > > > > > > > > > > > > > > > > > SOLARIS 10 is the OS for Data Centers - provides features > such > > > > > as > > > > > > > > > > > > > DTrace, > > > > > > > > > > > > > > > > > > > > > > > > > > > > Predictive Self Healing and Award Winning ZFS. Get Solaris > 10 > > > > > NOW > > > > > > > > > > > > > > > > > > > > > > > > > > > > http://p.sf.net/sfu/solaris-dev2dev > > > > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > > > > > > > > > > > > > > > > > > > > > > Pythoncad-developer mailing list > > > > > > > > > > > > > > > > > > > > > > > > > > > > Pyt...@li... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://lists.sourceforge.net/lists/listinfo/pythoncad-developer > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > > > > > > > > > > SOLARIS 10 is the OS for Data Centers - provides features such > as > > > > > DTrace, > > > > > > > > > > > > > Predictive Self Healing and Award Winning ZFS. Get Solaris 10 > NOW > > > > > > > > > > > > > http://p.sf.net/sfu/solaris-dev2dev > > > > > > > > > > > > > _______________________________________________ > > > > > Pythoncad-developer mailing list > > > > > Pyt...@li... > > > > > https://lists.sourceforge.net/lists/listinfo/pythoncad-developer > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > |
From: <ger...@gm...> - 2010-02-16 22:16:06
|
I started with commenting out all the old "Image class" related code but the old "Image class" is used every where. I will start with new interface code and only copy those parts that are needed from the old code. Regards, Gertwin Op schreef Matteo Boscolo <mat...@bo...>: > > 2) Or I can start with a new main window + viewport for the test and > > later copy the code that is needed from the old version into it. > > Maybe the second option is more efficient in the end. > I will take more than a week to have something that work properly to > make some test. > so you cad think at the best way to write your code. > Let me know... > Regards, > Matteo > > > > Op schreef Matteo Boscolo mat...@bo...>: > > > Hi Gertwin, > > > > > > > > > > > > > I am going to adjust the existing interface (viewport) code to > > work > > > > > > > with your kernel module. > > > > > > > After that we can do some performance tests. > > > > > > ok let me know when you have finish ... > > > > > > > > > > > > > Why are there 2 database connections? > > > > > > > The first is made in PyCadDbKernel, the second is made in > > PyCadUndoDb. > > > > > > I have made some more modification that I will commit tomorrow and > > all > > > > > > will be clear ... > > > > > > > > > > > > I'm changing costantly the kernel module to perform all the feature > > that > > > > > > we have discuss.. > > > > > > > > > > > > > If I have more questions during the adjusting the existing > > interface > > > > > > > code, I will post them in this thread. > > > > > > > > > > > > > Thats good .. we need to find the best solution for our product.. > > > > > > > > > > > > Regards, > > > > > > Matteo > > > > > > > > > > > > > > Regards, > > > > > > > Gertwin > > > > > > > > > > > > > > > > > > > > > Op schreef Matteo Boscolo mat...@bo...>: > > > > > > > > Hi All, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Today I have committed the new testing version of the kernel > > using > > > > > > > the > > > > > > > > > > > > > > > > sqlite db. > > > > > > > > > > > > > > > > You can find it in the git unde Generic\kernel > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This is just a working model for doing some performance and > > feature > > > > > > > > > > > > > > > > test. > > > > > > > > > > > > > > > > If the test that we are gonna to do well be good in performance > > and > > > > > > > > > > > > > > > > feature, we well introduce it under R38. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This new way to store the information on a db will help us to > > > > > > > improve > > > > > > > > > > > > > > > > our solution with the following capability: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 1) possibility to have the drawing with all the technical > > revisions. > > > > > > > > > > > > > > > > 2) very easy to develop new feature > > > > > > > > > > > > > > > > 3) possibility to have a file stored in an mysql db(distribute > > > > > > > > > > > > > > > > enviroment) > > > > > > > > > > > > > > > > 4) force access of some part of the drawing with group\user > > policy > > > > > > > (will > > > > > > > > > > > > > > > > be develop after merging with the r38 code) > > > > > > > > > > > > > > > > 5) improve performance in opening drawing > > > > > > > > > > > > > > > > 6) improve performance during scale pan action > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Any comment are really appreciated. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > > > > > > > Matteo > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ps: > > > > > > > > > > > > > > > > Actually the code is store in one single file, I need to split > > it > > > > > > > into > > > > > > > > > > > > > > > > more module .../ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > > > > > > > > > > > > > SOLARIS 10 is the OS for Data Centers - provides features such > > as > > > > > > > DTrace, > > > > > > > > > > > > > > > > Predictive Self Healing and Award Winning ZFS. Get Solaris 10 > > NOW > > > > > > > > > > > > > > > > http://p.sf.net/sfu/solaris-dev2dev > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > > > > > > > > > > Pythoncad-developer mailing list > > > > > > > > > > > > > > > > Pyt...@li... > > > > > > > > > > > > > > > > https://lists.sourceforge.net/lists/listinfo/pythoncad-developer > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > > > > SOLARIS 10 is the OS for Data Centers - provides features such as > > DTrace, > > > > > > > Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW > > > > > > > http://p.sf.net/sfu/solaris-dev2dev > > > > > > > _______________________________________________ > > Pythoncad-developer mailing list > > Pyt...@li... > > https://lists.sourceforge.net/lists/listinfo/pythoncad-developer > > > > > > > > > > > > > > > |
From: Matteo B. <mat...@bo...> - 2010-02-16 21:30:50
|
> 2) Or I can start with a new main window + viewport for the test and > later copy the code that is needed from the old version into it. > Maybe the second option is more efficient in the end. I will take more than a week to have something that work properly to make some test. so you cad think at the best way to write your code. Let me know... Regards, Matteo > > Op schreef Matteo Boscolo <mat...@bo...>: > > Hi Gertwin, > > > > > > > > > I am going to adjust the existing interface (viewport) code to > work > > > > > with your kernel module. > > > > > After that we can do some performance tests. > > > > ok let me know when you have finish ... > > > > > > > > > Why are there 2 database connections? > > > > > The first is made in PyCadDbKernel, the second is made in > PyCadUndoDb. > > > > I have made some more modification that I will commit tomorrow and > all > > > > will be clear ... > > > > > > > > I'm changing costantly the kernel module to perform all the feature > that > > > > we have discuss.. > > > > > > > > > If I have more questions during the adjusting the existing > interface > > > > > code, I will post them in this thread. > > > > > > > > > Thats good .. we need to find the best solution for our product.. > > > > > > > > Regards, > > > > Matteo > > > > > > > > > > Regards, > > > > > Gertwin > > > > > > > > > > > > > > > Op schreef Matteo Boscolo mat...@bo...>: > > > > > > Hi All, > > > > > > > > > > > > > > > > > > > > > > > > Today I have committed the new testing version of the kernel > using > > > > > the > > > > > > > > > > > > sqlite db. > > > > > > > > > > > > You can find it in the git unde Generic\kernel > > > > > > > > > > > > > > > > > > > > > > > > This is just a working model for doing some performance and > feature > > > > > > > > > > > > test. > > > > > > > > > > > > If the test that we are gonna to do well be good in performance > and > > > > > > > > > > > > feature, we well introduce it under R38. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This new way to store the information on a db will help us to > > > > > improve > > > > > > > > > > > > our solution with the following capability: > > > > > > > > > > > > > > > > > > > > > > > > 1) possibility to have the drawing with all the technical > revisions. > > > > > > > > > > > > 2) very easy to develop new feature > > > > > > > > > > > > 3) possibility to have a file stored in an mysql db(distribute > > > > > > > > > > > > enviroment) > > > > > > > > > > > > 4) force access of some part of the drawing with group\user > policy > > > > > (will > > > > > > > > > > > > be develop after merging with the r38 code) > > > > > > > > > > > > 5) improve performance in opening drawing > > > > > > > > > > > > 6) improve performance during scale pan action > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Any comment are really appreciated. > > > > > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > > > Matteo > > > > > > > > > > > > > > > > > > > > > > > > ps: > > > > > > > > > > > > Actually the code is store in one single file, I need to split > it > > > > > into > > > > > > > > > > > > more module .../ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > > > > > > > > > SOLARIS 10 is the OS for Data Centers - provides features such > as > > > > > DTrace, > > > > > > > > > > > > Predictive Self Healing and Award Winning ZFS. Get Solaris 10 > NOW > > > > > > > > > > > > http://p.sf.net/sfu/solaris-dev2dev > > > > > > > > > > > > _______________________________________________ > > > > > > > > > > > > Pythoncad-developer mailing list > > > > > > > > > > > > Pyt...@li... > > > > > > > > > > > > https://lists.sourceforge.net/lists/listinfo/pythoncad-developer > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > > SOLARIS 10 is the OS for Data Centers - provides features such as > DTrace, > > > > > Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW > > > > > http://p.sf.net/sfu/solaris-dev2dev > > > > > _______________________________________________ > Pythoncad-developer mailing list > Pyt...@li... > https://lists.sourceforge.net/lists/listinfo/pythoncad-developer > > > > > > > > > > |
From: <ger...@gm...> - 2010-02-16 21:20:16
|
1) I can do it quick and dirty, leave all the old code and add some new code. At some time we must remove all the "dead" code. 2) Or I can start with a new main window + viewport for the test and later copy the code that is needed from the old version into it. Maybe the second option is more efficient in the end. Regards, Gertwin Op schreef Matteo Boscolo <mat...@bo...>: > Hi Gertwin, > > I am going to adjust the existing interface (viewport) code to work > > with your kernel module. > > After that we can do some performance tests. > ok let me know when you have finish ... > > Why are there 2 database connections? > > The first is made in PyCadDbKernel, the second is made in PyCadUndoDb. > I have made some more modification that I will commit tomorrow and all > will be clear ... > I'm changing costantly the kernel module to perform all the feature that > we have discuss.. > > If I have more questions during the adjusting the existing interface > > code, I will post them in this thread. > > > Thats good .. we need to find the best solution for our product.. > Regards, > Matteo > > > > Regards, > > Gertwin > > > > > > Op schreef Matteo Boscolo mat...@bo...>: > > > Hi All, > > > > > > > > > > > > Today I have committed the new testing version of the kernel using > > the > > > > > > sqlite db. > > > > > > You can find it in the git unde Generic\kernel > > > > > > > > > > > > This is just a working model for doing some performance and feature > > > > > > test. > > > > > > If the test that we are gonna to do well be good in performance and > > > > > > feature, we well introduce it under R38. > > > > > > > > > > > > > > > > > > This new way to store the information on a db will help us to > > improve > > > > > > our solution with the following capability: > > > > > > > > > > > > 1) possibility to have the drawing with all the technical revisions. > > > > > > 2) very easy to develop new feature > > > > > > 3) possibility to have a file stored in an mysql db(distribute > > > > > > enviroment) > > > > > > 4) force access of some part of the drawing with group\user policy > > (will > > > > > > be develop after merging with the r38 code) > > > > > > 5) improve performance in opening drawing > > > > > > 6) improve performance during scale pan action > > > > > > > > > > > > > > > > > > Any comment are really appreciated. > > > > > > > > > > > > Regards, > > > > > > Matteo > > > > > > > > > > > > ps: > > > > > > Actually the code is store in one single file, I need to split it > > into > > > > > > more module .../ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > > > SOLARIS 10 is the OS for Data Centers - provides features such as > > DTrace, > > > > > > Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW > > > > > > http://p.sf.net/sfu/solaris-dev2dev > > > > > > _______________________________________________ > > > > > > Pythoncad-developer mailing list > > > > > > Pyt...@li... > > > > > > https://lists.sourceforge.net/lists/listinfo/pythoncad-developer > > > > > > ------------------------------------------------------------------------------ > > SOLARIS 10 is the OS for Data Centers - provides features such as > DTrace, > > Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW > > http://p.sf.net/sfu/solaris-dev2dev > > _______________________________________________ Pythoncad-developer > mailing list Pyt...@li... > https://lists.sourceforge.net/lists/listinfo/pythoncad-developer |
From: Matteo B. <mat...@bo...> - 2010-02-16 20:57:29
|
Hi Gertwin, > I am going to adjust the existing interface (viewport) code to work > with your kernel module. > After that we can do some performance tests. ok let me know when you have finish ... > Why are there 2 database connections? > The first is made in PyCadDbKernel, the second is made in PyCadUndoDb. I have made some more modification that I will commit tomorrow and all will be clear ... I'm changing costantly the kernel module to perform all the feature that we have discuss.. > If I have more questions during the adjusting the existing interface > code, I will post them in this thread. > Thats good .. we need to find the best solution for our product.. Regards, Matteo > > Regards, > Gertwin > > > Op schreef Matteo Boscolo <mat...@bo...>: > > Hi All, > > > > > > > > Today I have committed the new testing version of the kernel using > the > > > > sqlite db. > > > > You can find it in the git unde Generic\kernel > > > > > > > > This is just a working model for doing some performance and feature > > > > test. > > > > If the test that we are gonna to do well be good in performance and > > > > feature, we well introduce it under R38. > > > > > > > > > > > > This new way to store the information on a db will help us to > improve > > > > our solution with the following capability: > > > > > > > > 1) possibility to have the drawing with all the technical revisions. > > > > 2) very easy to develop new feature > > > > 3) possibility to have a file stored in an mysql db(distribute > > > > enviroment) > > > > 4) force access of some part of the drawing with group\user policy > (will > > > > be develop after merging with the r38 code) > > > > 5) improve performance in opening drawing > > > > 6) improve performance during scale pan action > > > > > > > > > > > > Any comment are really appreciated. > > > > > > > > Regards, > > > > Matteo > > > > > > > > ps: > > > > Actually the code is store in one single file, I need to split it > into > > > > more module .../ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > SOLARIS 10 is the OS for Data Centers - provides features such as > DTrace, > > > > Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW > > > > http://p.sf.net/sfu/solaris-dev2dev > > > > _______________________________________________ > > > > Pythoncad-developer mailing list > > > > Pyt...@li... > > > > https://lists.sourceforge.net/lists/listinfo/pythoncad-developer > > > ------------------------------------------------------------------------------ > SOLARIS 10 is the OS for Data Centers - provides features such as DTrace, > Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW > http://p.sf.net/sfu/solaris-dev2dev > _______________________________________________ Pythoncad-developer mailing list Pyt...@li... https://lists.sourceforge.net/lists/listinfo/pythoncad-developer |
From: <ger...@gm...> - 2010-02-16 20:09:56
|
Hi Matteo, I am going to adjust the existing interface (viewport) code to work with your kernel module. After that we can do some performance tests. I have a question: Why are there 2 database connections? The first is made in PyCadDbKernel, the second is made in PyCadUndoDb. If I have more questions during the adjusting the existing interface code, I will post them in this thread. Regards, Gertwin Op schreef Matteo Boscolo <mat...@bo...>: > Hi All, > Today I have committed the new testing version of the kernel using the > sqlite db. > You can find it in the git unde Generic\kernel > This is just a working model for doing some performance and feature > test. > If the test that we are gonna to do well be good in performance and > feature, we well introduce it under R38. > This new way to store the information on a db will help us to improve > our solution with the following capability: > 1) possibility to have the drawing with all the technical revisions. > 2) very easy to develop new feature > 3) possibility to have a file stored in an mysql db(distribute > enviroment) > 4) force access of some part of the drawing with group\user policy (will > be develop after merging with the r38 code) > 5) improve performance in opening drawing > 6) improve performance during scale pan action > Any comment are really appreciated. > Regards, > Matteo > ps: > Actually the code is store in one single file, I need to split it into > more module .../ > ------------------------------------------------------------------------------ > SOLARIS 10 is the OS for Data Centers - provides features such as DTrace, > Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW > http://p.sf.net/sfu/solaris-dev2dev > _______________________________________________ > Pythoncad-developer mailing list > Pyt...@li... > https://lists.sourceforge.net/lists/listinfo/pythoncad-developer |
From: Matteo B. <mat...@bo...> - 2010-02-16 06:58:59
|
Hi All, Today I have committed the new testing version of the kernel using the sqlite db. You can find it in the git unde Generic\kernel This is just a working model for doing some performance and feature test. If the test that we are gonna to do well be good in performance and feature, we well introduce it under R38. This new way to store the information on a db will help us to improve our solution with the following capability: 1) possibility to have the drawing with all the technical revisions. 2) very easy to develop new feature 3) possibility to have a file stored in an mysql db(distribute enviroment) 4) force access of some part of the drawing with group\user policy (will be develop after merging with the r38 code) 5) improve performance in opening drawing 6) improve performance during scale pan action Any comment are really appreciated. Regards, Matteo ps: Actually the code is store in one single file, I need to split it into more module .../ |
From: Yagnesh D. <yn...@gm...> - 2010-02-14 13:11:39
|
Pythoncad.Rank() went 3K+ from 500 something Rank do not take into account the mediawiki activity - - - - - Best regards Yagnesh Desai Save a tree...please don't print this e-mail. |
From: Yagnesh D. <yn...@gm...> - 2010-02-09 01:02:10
|
Friends; I am forwarding the request sent by David Young might become a use case. - - - - Best regards Yagnesh Desai Save a tree...please don't print this e-mail. ---------- Forwarded message ---------- From: David Young <da...@ya...> Date: Tue, Feb 9, 2010 at 12:08 AM Subject: Pythoncad To: Yagnesh Desai <yn...@gm...> Dear Yagnesh, I am getting there on being able to indicate the useful cad elements I find I need. Attached is the pop-up function key box of cadam/helix which is direct from the mouse, and gives access to all main functions wherever your mouse pointer is on the screen. Mouse functions (using a 3-button mouse) give up to 6 functions plus whatever the wheel gives if it is a wheel mouse. I find this is an efficient way to work. Regards, David Young -- Young Architects (Pty) Ltd +267 3971181 |
From: Yagnesh D. <yn...@gm...> - 2010-02-08 10:10:51
|
Matteo; You are right, and this will amount to good amount of records. Can be have a look at how this version control is being handled by wikimedia. Though they mark all the saved version as a version. We can have a facility to make a specific version as a released version. - - - - - Best regards Yagnesh Desai Save a tree...please don't print this e-mail. On Mon, Feb 8, 2010 at 12:00 AM, Matteo Boscolo <mat...@bo...> wrote: > hi Gertwin, > >> The user can do undo steps in the current revision but not touch >> anything in any older revision, older revisions are "read only" >> We need to think very carefully about the implementation. > > may be a line could be in revision 1 released > the new version need to change the line of 10 mm , > so we have to take care of the old version and create a new version of > the some line. > so 2 record are ready for this entity > > This is an example of a line story .. > > step 1: create a new entity > 01 - Line - 10,10,10,100 - 1 - Active > step 2: release the version 1 of the drawing > 01 - Line - 10,10,10,100 - 1 - Released > step 3: Create a new version of the drawing (Version 2) and mark as > old_Released the old version of the line > 01 - Line - 10,10,10,100 - 1 - Old_Released > 02 - Line - 10,10,10,110 - 2 - Active > > > Regards, > Matteo > > > ------------------------------------------------------------------------------ > The Planet: dedicated and managed hosting, cloud storage, colocation > Stay online with enterprise data centers and the best network in the business > Choose flexible plans and management services without long-term contracts > Personal 24x7 support from experience hosting pros just a phone call away. > http://p.sf.net/sfu/theplanet-com > _______________________________________________ > Pythoncad-developer mailing list > Pyt...@li... > https://lists.sourceforge.net/lists/listinfo/pythoncad-developer > |