View Issue Details

IDProjectCategoryView StatusLast Update
0033646Open CASCADEOCCT:Codingpublic2024-04-06 13:43
Reporterdpasukhi Assigned Todpasukhi  
PrioritynormalSeverityfeature 
Status newResolutionopen 
Target Version7.9.0 
Summary0033646: Coding - Performance analyzing of OCCT RTTI
DescriptionOCCT RTTI looks like have an additional resource for mutex and real-time loading and processing.
Especially OCCT RTTI impact on multithreading processing.
Need to analyze impact and in non-relevant result replace OCCT RTTI by Dynamic cast and std::type_info operations.
TagsNo tags attached.
Test case number

Relationships

related to 0033588 newdpasukhi Coding - Performance research 
related to 0033656 feedbackdpasukhi Foundation Classes - Standard_Type crash during unloading static lib 

Activities

git

2024-03-22 18:52

administrator   ~0115446

Branch CR33646 has been created by dpasukhi.

SHA-1: 008ea1ba32b24a8154331c5d3edbf80f5b55f098


Detailed log of new commits:

Author: dpasukhi
Date: Wed Mar 20 06:17:53 2024 +0000

    0033646: Coding - Performance analyzing of OCCT RTTI
    
    First iteration of testing.
      There are 2 options: continue to use type_info or going to pure downcast functionality
    
    Current solution - reorganize Standard_Type to be as a type_info temp object.
    There are limitation based on extraction parents classes, but can be develop for specific usages with new method for only some objects.
    
    Later need to replace "Handle(Standard_Type)&" with "Handle(Standard_Type)". There are no more references.

git

2024-03-22 19:02

administrator   ~0115447

Branch CR33646 has been updated forcibly by dpasukhi.

SHA-1: 4e5b31650b673b33682c15759926bab2fcd74f26

git

2024-03-22 19:59

administrator   ~0115449

Branch CR33646 has been updated by dpasukhi.

SHA-1: 6188c1112b975777b3ce053c0ae99bcee66a4356


Detailed log of new commits:

Author: dpasukhi
Date: Fri Mar 22 16:58:55 2024 +0000

    // temp solution to avoid "class prefix"

git

2024-03-22 20:28

administrator   ~0115450

Branch CR33646 has been updated forcibly by dpasukhi.

SHA-1: 8f1fd53c0803d4141430f4315c2507ab9cee8c97

git

2024-03-22 21:23

administrator   ~0115451

Branch CR33646 has been updated forcibly by dpasukhi.

SHA-1: c499019bb9f85670ba2e36923bde0541739cedfe

git

2024-03-23 03:03

administrator   ~0115452

Branch CR33646 has been updated by dpasukhi.

SHA-1: d5255588b4ff5d743b1bb81ef13489ba082563e6


Detailed log of new commits:

Author: dpasukhi
Date: Sat Mar 23 00:02:51 2024 +0000

    // new test solution to test pure down-cast functionality.
    
    Another solution will be store instances without maps and mutexes (recursive list)

Author: dpasukhi
Date: Fri Mar 22 19:59:46 2024 +0000

    // test for a little cleaning

git

2024-03-23 03:13

administrator   ~0115453

Branch CR33646 has been updated forcibly by dpasukhi.

SHA-1: b1d99806554820908e6fb9da613965334273ca9b

git

2024-03-23 03:25

administrator   ~0115454

Branch CR33646 has been updated forcibly by dpasukhi.

SHA-1: bc625704f297410bd96c7634361869729818bfaf

git

2024-03-23 15:04

administrator   ~0115456

Branch CR33646 has been updated by dpasukhi.

SHA-1: 92313e8bcc33590271ca4fd187cbd86cbd7ad956


Detailed log of new commits:

Author: dpasukhi
Date: Sat Mar 23 12:04:11 2024 +0000

    middle solution - no improvements
      needs to create a static instances with type_info only
    the goal - avoid mutex and internal cache map (it is already part of STD)

git

2024-03-28 12:59

administrator   ~0115490

Branch CR33646 has been updated forcibly by dpasukhi.

SHA-1: 870f9b4713b1076862d68bb470625f86b315ce82

git

2024-03-28 14:54

administrator   ~0115493

Branch CR33646 has been updated forcibly by dpasukhi.

SHA-1: 5b5771791db337ee67609ab537083fd43ff516b2

dpasukhi

2024-03-29 02:34

administrator   ~0115515

There are no difference for Memory or CPU, but at least there are no regressions at that parameters.
The solution is possible. The benefit is avoid global map of types.

git

2024-03-29 12:54

administrator   ~0115516

Branch CR33646 has been updated by dpasukhi.

SHA-1: 650d98489777001ec5da1fd0d1319a95564fe38c


Detailed log of new commits:

Author: dpasukhi
Date: Thu Mar 28 18:03:03 2024 +0000

    // just for check ProgressIndicator performance impact

git

2024-03-29 13:21

administrator   ~0115517

Branch CR33646 has been updated by dpasukhi.

SHA-1: aad8997ee30a55d3df7dcfe0a57329c975231e6c


Detailed log of new commits:

Author: dpasukhi
Date: Fri Mar 29 10:03:52 2024 +0000

    // revert some changes

git

2024-03-29 15:06

administrator   ~0115518

Branch CR33646 has been updated forcibly by dpasukhi.

SHA-1: d246f1d09a4c1b7e35ea6ab4834b88ae2d968520

git

2024-03-29 15:09

administrator   ~0115519

Branch CR33646 has been updated forcibly by dpasukhi.

SHA-1: a744fc545e4132a36609a80d1e7904cff5a74b34

git

2024-03-29 16:41

administrator   ~0115520

Branch CR33646 has been updated forcibly by dpasukhi.

SHA-1: fa04444ba385dd90894fbab4cd2aa9dddba3c5e9

Issue History

Date Modified Username Field Change
2024-03-19 13:28 dpasukhi New Issue
2024-03-19 13:28 dpasukhi Assigned To => dpasukhi
2024-03-22 18:52 git Note Added: 0115446
2024-03-22 19:02 git Note Added: 0115447
2024-03-22 19:59 git Note Added: 0115449
2024-03-22 20:28 git Note Added: 0115450
2024-03-22 21:23 git Note Added: 0115451
2024-03-23 03:03 git Note Added: 0115452
2024-03-23 03:13 git Note Added: 0115453
2024-03-23 03:25 git Note Added: 0115454
2024-03-23 15:04 git Note Added: 0115456
2024-03-28 12:59 git Note Added: 0115490
2024-03-28 13:03 dpasukhi Relationship added related to 0033656
2024-03-28 14:54 git Note Added: 0115493
2024-03-29 02:34 dpasukhi Note Added: 0115515
2024-03-29 12:54 git Note Added: 0115516
2024-03-29 13:21 git Note Added: 0115517
2024-03-29 15:06 git Note Added: 0115518
2024-03-29 15:09 git Note Added: 0115519
2024-03-29 16:41 git Note Added: 0115520
2024-04-06 13:43 dpasukhi Relationship added related to 0033588