[Unicode]   Common Locale Data Repository : Bug Tracking Home | Site Map | Search
 
Modify

CLDR Ticket #6840(closed: fixed)

Opened 5 years ago

Last modified 5 years ago

remove the creaiton of duplicate instances of SupplementalDataInfo

Reported by: jali01 Owned by: ribnitz
Component: perf Data Locale:
Phase: Review: mark
Weeks: Data Xpath:
Xref:

Description (last modified by jali01) (diff)

SupplementalDatainfo.java:
in the function getInstance, different instances of SupplementalDataInfo are stored in a map named directory_instance,where the keys are the Supplemental Data directories (in String form). The function will return a previously generated instance if its key exists in the map, otherwise a new one is made and added to the map. However duplicate instances of SupplementalDatainfo exist because there are different ways to represent a directory, for example "cldr\trunk\common\supplemental" is the same as "cldr\trunk\common\main\..\supplemental" and is also the same as "cldr\trunk\common\main/../supplemental/".

Look up the string.
If exists, return.
If there is nothing, canonicalize the file name, then look up again.
If exists, put original-string + result into map, and return.
If there is nothing
create
Put into the map the original string + result
Put into the map the canonical string + result

Attachments

Change History

comment:1 Changed 5 years ago by jali01

  • Description modified (diff)

comment:2 Changed 5 years ago by jali01

  • Owner changed from jali01 to anybody
  • Status changed from new to assigned

comment:3 Changed 5 years ago by emmons

  • Status changed from assigned to new

comment:4 Changed 5 years ago by emmons

  • Owner changed from anybody to jali01
  • Status changed from new to assigned
  • Milestone changed from UNSCH to 25M1

comment:5 Changed 5 years ago by emmons

  • Status changed from assigned to closed
  • Resolution set to as-designed

Per Jonathan:

I have made a mistake with the ST Performance analysis regarding the multiple instances Supplemental Data Info
I have looked into the class again and it seems that the path's were already being canonicalized, and the directory_instance Hashmap storing the SDI's had multiple entries, but were pointing to the same instances of SDI.

The reason I suspected something was wrong was because instances of Supplemental Data Info were taking up 10%+ of the heap in memory dumps. However I should have made a closer look before assuming there was an error with the code. My apologies, could you please close the ticket?

comment:6 Changed 5 years ago by mark

  • Status changed from closed to new
  • Resolution as-designed deleted

comment:7 Changed 5 years ago by mark

  • Owner changed from jali01 to ribnitz
  • Status changed from new to assigned
  • Component changed from survey to perf

comment:8 Changed 5 years ago by mark

  • Milestone changed from 25M1 to 25final

comment:9 Changed 5 years ago by ribnitz

  • Status changed from assigned to reviewing
  • Review set to mark

comment:10 Changed 5 years ago by mark

  • Status changed from reviewing to closed
  • Resolution set to fixed
View

Add a comment

Modify Ticket

Action
as closed
Next status will be 'new'
Next status will be 'closed'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.