View Issue Details

IDProjectCategoryView StatusLast Update
0029349Open CASCADEOCCT:Foundation Classespublic2018-06-29 21:19
Reporterkgv Assigned Tobugmaster  
PrioritynormalSeverityintegration request 
Status closedResolutionfixed 
Target Version7.3.0Fixed in Version7.3.0 
Summary0029349: Foundation Classes, OSD_Timer - add missing theThisThreadOnly constructor option available in OSD_Chronometer
DescriptionOSD_Timer constructor does not provide options for initializing OSD_Chronometer, making it stuck on measuring whole process CPU time, which makes OSD_Chronometer within OSD_Timer instance a useless burden in case if thread-only time should be measured instead.
Steps To ReproduceN/A
TagsNo tags attached.
Test case numberNot required

Activities

git

2017-11-28 08:44

administrator   ~0072513

Branch CR29349 has been created by kgv.

SHA-1: 80dcd314b7dc8b9d9f306fc38a5853a03d92fe36


Detailed log of new commits:

Author: kgv
Date: Tue Nov 28 08:42:40 2017 +0300

    0029349: Foundation Classes, OSD_Timer - add missing theThisThreadOnly constructor option available in OSD_Chronometer
    
    OSD_Timer constructor now has theThisThreadOnly option passed to OSD_Chronometer,
    which is FALSE by default.
    
    OSD_Chronometer now provides methods ::UserTimeCPU(), ::SystemTimeCPU() allowing
    to fetch CPU times without akward syntax through overloaded ::Show().

kgv

2017-11-28 08:44

developer   ~0072514

Patch is ready for review.

abv

2017-11-28 09:07

manager   ~0072515

Some remarks:

1. OSD_Chronometer::timeToHoursMinutesSeconds() is public but starts with lower case -- should be either private or starting with uppercase

2. Method timeToHoursMinutesSeconds() is defined in OSD_Chronometer but used only in OSD_Timer; please move closer to location where it is used. Do we need it to be public at all?

3. Method OSD_Chronometer::Show (Standard_OStream& os) could be refactored to call Show(Standard_Real& theUserSec, Standard_Real& theSystemSec) to avoid code duplication for querying time

4. I see no reason to move implementation of the latter method Show() to header -- it is better to keep it in CXX

git

2017-11-28 09:18

administrator   ~0072516

Branch CR29349 has been updated forcibly by kgv.

SHA-1: 4cf9f977e040a66077665ed4b27a117ece370a2b

git

2017-11-28 09:29

administrator   ~0072517

Branch CR29349_1 has been created by kgv.

SHA-1: 7c2161bce774f477ba29dc138f71f3244a7a96e6


Detailed log of new commits:

Author: kgv
Date: Tue Nov 28 08:42:40 2017 +0300

    0029349: Foundation Classes, OSD_Timer - add missing theThisThreadOnly constructor option available in OSD_Chronometer
    
    OSD_Timer constructor now has theThisThreadOnly option passed to OSD_Chronometer,
    which is FALSE by default.
    
    OSD_Chronometer now provides methods ::UserTimeCPU(), ::SystemTimeCPU() allowing
    to fetch CPU times without akward syntax through overloaded ::Show().

kgv

2017-11-28 09:29

developer   ~0072518

Last edited: 2017-11-28 12:25

Remarks have been applied.

http://jenkins-test-10.nnov.opencascade.com/view/CR29349_1-master-KGV

abv

2017-11-28 10:02

manager   ~0072520

No remarks, please test

bugmaster

2017-11-28 13:38

administrator   ~0072532

Combination -
OCCT branch : CR29349_1 SHA - 7c2161bce774f477ba29dc138f71f3244a7a96e6
Products branch : master SHA - e6803066bfddb413c99c934cc8af4386abcbc679
was compiled on Linux, MacOS and Windows platforms and tested on optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian70-64:
OCCT
Total CPU difference: 20046.18000000047 / 19837.270000000357 [+1.05%]
Products
Total CPU difference: 8020.620000000084 / 8039.350000000084 [-0.23%]
Windows-64-VC10:
OCCT
Total CPU difference: 17896.34111939866 / 17832.614710898575 [+0.36%]
Products
Total CPU difference: 8019.57460719996 / 8019.621407499985 [-0.00%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2017-12-07 21:08

administrator   ~0072829

Branch CR29349 has been deleted by kgv.

SHA-1: 4cf9f977e040a66077665ed4b27a117ece370a2b

git

2017-12-07 21:08

administrator   ~0072830

Branch CR29349_1 has been deleted by kgv.

SHA-1: 7c2161bce774f477ba29dc138f71f3244a7a96e6

Related Changesets

occt: master 2da51263

2017-11-28 05:42:40

kgv


Committer: bugmaster Details Diff
0029349: Foundation Classes, OSD_Timer - add missing theThisThreadOnly constructor option available in OSD_Chronometer

OSD_Timer constructor now has theThisThreadOnly option passed to OSD_Chronometer,
which is FALSE by default.

OSD_Chronometer now provides methods ::UserTimeCPU(), ::SystemTimeCPU() allowing
to fetch CPU times without akward syntax through overloaded ::Show().
Affected Issues
0029349
mod - src/OSD/OSD_Chronometer.cxx Diff File
mod - src/OSD/OSD_Chronometer.hxx Diff File
mod - src/OSD/OSD_Timer.cxx Diff File
mod - src/OSD/OSD_Timer.hxx Diff File

Issue History

Date Modified Username Field Change
2017-11-28 08:39 kgv New Issue
2017-11-28 08:39 kgv Assigned To => abv
2017-11-28 08:44 git Note Added: 0072513
2017-11-28 08:44 kgv Note Added: 0072514
2017-11-28 08:44 kgv Status new => resolved
2017-11-28 09:07 abv Note Added: 0072515
2017-11-28 09:07 abv Status resolved => assigned
2017-11-28 09:18 git Note Added: 0072516
2017-11-28 09:29 git Note Added: 0072517
2017-11-28 09:29 kgv Note Added: 0072518
2017-11-28 09:29 kgv Status assigned => resolved
2017-11-28 10:02 abv Note Added: 0072520
2017-11-28 10:02 abv Assigned To abv => bugmaster
2017-11-28 10:02 abv Status resolved => reviewed
2017-11-28 12:25 kgv Note Edited: 0072518
2017-11-28 13:38 bugmaster Note Added: 0072532
2017-11-28 13:38 bugmaster Status reviewed => tested
2017-11-28 13:39 bugmaster Test case number => Not required
2017-12-02 16:59 bugmaster Changeset attached => occt master 2da51263
2017-12-02 16:59 bugmaster Status tested => verified
2017-12-02 16:59 bugmaster Resolution open => fixed
2017-12-07 21:08 git Note Added: 0072829
2017-12-07 21:08 git Note Added: 0072830
2018-02-20 12:58 aiv Target Version 7.4.0 => 7.3.0
2018-06-29 21:15 aiv Fixed in Version => 7.3.0
2018-06-29 21:19 aiv Status verified => closed