Core: POSIX ConfigFile moved to .cache with sandboxing additional logic, ide: Autosetup now has sandboxing features

git-svn-id: svn://ultimatepp.org/upp/trunk@14206 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cxl 2020-04-01 11:07:16 +00:00
parent 460751ff84
commit 7ccc7a2779
6 changed files with 96 additions and 738 deletions

View file

@ -138,6 +138,18 @@ String GetExeTitle()
return GetFileTitle(GetExeFilePath());
}
static String sAppName;
String GetAppName()
{
return Nvl(sAppName, GetExeTitle());
}
void SetAppName(const String& name)
{
sAppName = name;
}
String GetTempDirectory()
{
return GetTempPath();
@ -169,12 +181,21 @@ String GetHomeDirFile(const char *fp) {
static bool sHomecfg;
void UseHomeDirectoryConfig(bool b)
void UseHomeDirectoryConfig(bool b)
{
sHomecfg = b;
}
static String sConfigFolder;
void SetConfigDirectory(const String& s)
{
sConfigFolder = s;
}
String ConfigFile(const char *file) {
if(sConfigFolder.GetCount())
return AppendFileName(sConfigFolder, file);
#if defined(PLATFORM_WIN32)
if(sHomecfg) {
String p = GetHomeDirFile(GetExeTitle());
@ -184,13 +205,29 @@ String ConfigFile(const char *file) {
}
return GetExeDirFile(file);
#elif defined(PLATFORM_POSIX)
String p = GetHomeDirFile(".upp/" + GetExeTitle());
ONCELOCK
RealizeDirectory(p);
return AppendFileName(p, file);
static String cfgdir;
ONCELOCK {
String h = GetExeFolder();
if(!sHomecfg)
while(h.GetCount() > 1 && DirectoryExists(h)) {
String pp = AppendFileName(h, ".config");
if(DirectoryExists(pp)) {
cfgdir = pp;
break;
}
h = GetFileFolder(h);
}
if(IsNull(cfgdir))
cfgdir = GetEnv("XDG_CONFIG_HOME");
if(IsNull(cfgdir) || !DirectoryExists(cfgdir))
cfgdir = GetHomeDirFile(".config");
}
String pp = AppendFileName(cfgdir, GetAppName());
RealizeDirectory(pp);
return AppendFileName(pp, file);
#else
#error ConfigFile not implemented for this platform, comment this line to get input string back
return file;
NEVER();
return GetExeDirFile(file);
#endif//PLATFORM
}
@ -200,7 +237,7 @@ String GetConfigFolder()
}
String ConfigFile() {
return ConfigFile(GetExeTitle() + ".cfg");
return ConfigFile(GetAppName() + ".cfg");
}
Vector<WString>& coreCmdLine__()

View file

@ -5,6 +5,9 @@ String GetExeTitle();
String GetExeFolder();
String GetExeDirFile(const char *fp);
String GetAppName();
void SetAppName(const String& name);
String GetHomeDirFile(const char *fp);
String GetHomeDirectory();

View file

@ -53,6 +53,17 @@ name of the file&]
[s2;%% Returns the title of the application.&]
[s3; &]
[s4; &]
[s5;:Upp`:`:GetAppName`(`): [_^Upp`:`:String^ String]_[* GetAppName]()&]
[s2;%% Returns the name of the application. Default value is GetExeTitle,
but it can be changed with SetAppName. This values is used e.g.
as the name of configuration folder.&]
[s3; &]
[s4; &]
[s5;:Upp`:`:SetAppName`(const Upp`:`:String`&`): [@(0.0.255) void]_[* SetAppName]([@(0.0.255) c
onst]_[_^Upp`:`:String^ String][@(0.0.255) `&]_[*@3 name])&]
[s2;%% Overrides the name of the application.&]
[s3;%% &]
[s4; &]
[s5;:Upp`:`:GetTempDirectory`(`): [_^Upp`:`:String^ String]_[* GetTempDirectory]()&]
[s2;%% Return the temporary directory.&]
[s3; &]
@ -76,19 +87,30 @@ binary resides.&]
home folder (true) or application folder (false)&]
[s3; &]
[s4; &]
[s5;:Upp`:`:SetConfigDirectory`(const Upp`:`:String`&`): [@(0.0.255) void]_[* SetConfigDi
rectory]([@(0.0.255) const]_[_^Upp`:`:String^ String][@(0.0.255) `&]_[*@3 s])&]
[s2;%% Overrides the directory where configuration files are stored.&]
[s3;%% &]
[s4; &]
[s5;:ConfigFile`(const char`*`): [_^topic`:`/`/Core`/src`/String`$en`-us`#String`:`:class^ S
tring]_[* ConfigFile]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 file])&]
[s2;%% Returns the absolute path of a configuration file found in
the configuration files search path.&]
[s2;%% [*@(129.0.0) file]...............................................the
name of the file&]
[s2;%% Returns the absolute path of a configuration file. The directory
depends on host platform and other settings. If one was set with
SetConfigDirectory, it is used. Otherwise, in POSIX, function
searches for .config folder starting with directory of binary,
then goes up until root. If none is found, XDG`_CONFIG`_HOME
is used. If that does not exist, `~/.config is used. Function
then appends GetAppName() to this directory and makes sure it
exists (with RealizeDirectory). In Win32, this is either the
directory of .exe file, or if UseHomeDirectoryConfig is set,
user`'s home directory.&]
[s3; &]
[s4; &]
[s5;:ConfigFile`(`): [_^topic`:`/`/Core`/src`/String`$en`-us`#String`:`:class^ String]_
[* ConfigFile]()&]
[s2;%% Returns the default configuration file from the configuration
files search path. The default configuration file is called [*/ `[application
title`]][* .cfg].&]
files search path. The default configuration file is called [*/ `[GetAppName()`]][* .
cfg].&]
[s3; &]
[s4; &]
[s5;:CommandLine`(`): [@(0.0.255) const]_[_^topic`:`/`/Core`/src`/Vector`$en`-us`#Vector`:`:class^ V

View file

@ -211,7 +211,6 @@ Value StdChLookFn(Draw& w, const Rect& r, const Value& v, int op, Color ink)
Size isz = img.GetSize();
Size sz = r.GetSize();
Point p = img.GetHotSpot();
bool areaimage = false;
if(p.x == CH_SCROLLBAR_IMAGE) {
if(op == LOOK_MARGINS)
return Rect(0, 0, 0, 0);
@ -300,7 +299,7 @@ Value StdChLookFn(Draw& w, const Rect& r, const Value& v, int op, Color ink)
single_color_body = IsSingleColor(img, sr);
if(single_color_body_cache.GetCount() > 1000)
single_color_body_cache.Clear();
single_color_body_cache.Add(key, q);
single_color_body_cache.Add(key, single_color_body);
}
else
single_color_body = single_color_body_cache[q];

View file

@ -5,12 +5,26 @@
bool Install(bool& hasvars)
{
String out = GetHomeDirFile("out");
String ass = GetConfigFolder();
String myapps = GetHomeDirFile("MyApps");
RealizeDirectory(out);
String myapps = DirectoryExists(GetExeDirFile("uppsrc")) ? GetExeDirFile("MyApps") : GetHomeDirFile("MyApps");
String uppsrc;
String out;
String p = GetExeFolder();
while(p.GetCount() > 1 && DirectoryExists(p)) {
String h = AppendFileName(p, ".cache");
if(DirectoryExists(h)) {
out = h;
break;
}
p = GetFileFolder(p);
}
out = Nvl(out, GetHomeDirFile(".cache")) + "/upp.out";
RealizeDirectory(out);
auto MakeAssembly = [&](String b, String name = Null) {
name = Nvl(name, GetFileTitle(b));
@ -53,6 +67,8 @@ bool Install(bool& hasvars)
}
#endif
Scan(GetExeFolder() + "/uppsrc");
Scan(GetExeFolder() + "/*");
Scan(GetHomeDirFile("upp.src/uppsrc"));
Scan(GetHomeDirFile("upp.src/*"));
Scan(GetHomeDirFile("upp/uppsrc"));

View file

@ -1,719 +0,0 @@
================================================================
TheIDE String histrograms
-----------------------
name = Dest
0 2019143 34.70% < 0.00% >65.30%
1 556878 9.57% <34.70% >55.72%
2 233921 4.02% <44.28% >51.70%
3 222671 3.83% <48.30% >47.88%
4 251397 4.32% <52.12% >43.55%
5 282915 4.86% <56.45% >38.69%
6 205141 3.53% <61.31% >35.17%
7 185713 3.19% <64.83% >31.97%
8 166263 2.86% <68.03% >29.12%
9 173057 2.97% <70.88% >26.14%
10 124624 2.14% <73.86% >24.00%
11 104467 1.80% <76.00% >22.20%
12 129868 2.23% <77.80% >19.97%
13 99487 1.71% <80.03% >18.26%
14 73304 1.26% <81.74% >17.00%
15 54341 0.93% <83.00% >16.07%
16 59307 1.02% <83.93% >15.05%
17 48508 0.83% <84.95% >14.21%
18 42583 0.73% <85.79% >13.48%
19 43111 0.74% <86.52% >12.74%
20 59832 1.03% <87.26% >11.71%
21 39133 0.67% <88.29% >11.04%
22 30435 0.52% <88.96% >10.52%
23 37915 0.65% <89.48% > 9.87%
24 24436 0.42% <90.13% > 9.45%
25 118560 2.04% <90.55% > 7.41%
26 21802 0.37% <92.59% > 7.03%
27 23236 0.40% <92.97% > 6.63%
28 19079 0.33% <93.37% > 6.31%
29 29684 0.51% <93.69% > 5.80%
30 19241 0.33% <94.20% > 5.47%
31 23357 0.40% <94.53% > 5.06%
32 18513 0.32% <94.94% > 4.75%
33 18224 0.31% <95.25% > 4.43%
34 9560 0.16% <95.57% > 4.27%
35 14026 0.24% <95.73% > 4.03%
36 9118 0.16% <95.97% > 3.87%
37 11223 0.19% <96.13% > 3.68%
38 7825 0.13% <96.32% > 3.54%
39 11201 0.19% <96.46% > 3.35%
40 8579 0.15% <96.65% > 3.20%
41 6584 0.11% <96.80% > 3.09%
42 8836 0.15% <96.91% > 2.94%
43 10112 0.17% <97.06% > 2.76%
44 7006 0.12% <97.24% > 2.64%
45 10865 0.19% <97.36% > 2.46%
46 8272 0.14% <97.54% > 2.31%
47 4888 0.08% <97.69% > 2.23%
48 6266 0.11% <97.77% > 2.12%
49 5208 0.09% <97.88% > 2.03%
50 9706 0.17% <97.97% > 1.87%
51 5686 0.10% <98.13% > 1.77%
52 3632 0.06% <98.23% > 1.71%
53 4911 0.08% <98.29% > 1.62%
54 3398 0.06% <98.38% > 1.56%
55 4169 0.07% <98.44% > 1.49%
56 1887 0.03% <98.51% > 1.46%
57 3989 0.07% <98.54% > 1.39%
58 6423 0.11% <98.61% > 1.28%
59 4172 0.07% <98.72% > 1.21%
60 4928 0.08% <98.79% > 1.12%
61 1524 0.03% <98.88% > 1.10%
62 6174 0.11% <98.90% > 0.99%
63 4641 0.08% <99.01% > 0.91%
64 2359 0.04% <99.09% > 0.87%
65 2940 0.05% <99.13% > 0.82%
66 1596 0.03% <99.18% > 0.79%
67 1574 0.03% <99.21% > 0.77%
68 1103 0.02% <99.23% > 0.75%
69 4132 0.07% <99.25% > 0.68%
70 1490 0.03% <99.32% > 0.65%
71 1821 0.03% <99.35% > 0.62%
72 6387 0.11% <99.38% > 0.51%
73 1116 0.02% <99.49% > 0.49%
74 1064 0.02% <99.51% > 0.47%
75 944 0.02% <99.53% > 0.46%
76 2417 0.04% <99.54% > 0.41%
77 882 0.02% <99.59% > 0.40%
78 1025 0.02% <99.60% > 0.38%
79 923 0.02% <99.62% > 0.37%
80 660 0.01% <99.63% > 0.35%
81 671 0.01% <99.65% > 0.34%
82 543 0.01% <99.66% > 0.33%
83 572 0.01% <99.67% > 0.32%
84 473 0.01% <99.68% > 0.32%
85 445 0.01% <99.68% > 0.31%
86 429 0.01% <99.69% > 0.30%
87 450 0.01% <99.70% > 0.29%
88 397 0.01% <99.71% > 0.29%
89 928 0.02% <99.71% > 0.27%
90 370 0.01% <99.73% > 0.26%
91 1822 0.03% <99.74% > 0.23%
92 320 0.01% <99.77% > 0.23%
93 290 0.00% <99.77% > 0.22%
94 348 0.01% <99.78% > 0.22%
95 1656 0.03% <99.78% > 0.19%
96 224 0.00% <99.81% > 0.18%
97 222 0.00% <99.82% > 0.18%
98 192 0.00% <99.82% > 0.18%
99 209 0.00% <99.82% > 0.17%
100 199 0.00% <99.83% > 0.17%
101 234 0.00% <99.83% > 0.17%
102 198 0.00% <99.83% > 0.16%
103 155 0.00% <99.84% > 0.16%
104 108 0.00% <99.84% > 0.16%
105 1619 0.03% <99.84% > 0.13%
106 113 0.00% <99.87% > 0.13%
107 175 0.00% <99.87% > 0.12%
108 112 0.00% <99.88% > 0.12%
109 116 0.00% <99.88% > 0.12%
110 76 0.00% <99.88% > 0.12%
111 114 0.00% <99.88% > 0.12%
112 91 0.00% <99.88% > 0.12%
113 72 0.00% <99.88% > 0.11%
114 73 0.00% <99.89% > 0.11%
115 64 0.00% <99.89% > 0.11%
116 109 0.00% <99.89% > 0.11%
117 95 0.00% <99.89% > 0.11%
118 88 0.00% <99.89% > 0.11%
119 72 0.00% <99.89% > 0.11%
120 55 0.00% <99.89% > 0.11%
121 103 0.00% <99.89% > 0.10%
122 36 0.00% <99.90% > 0.10%
123 54 0.00% <99.90% > 0.10%
124 51 0.00% <99.90% > 0.10%
125 36 0.00% <99.90% > 0.10%
126 35 0.00% <99.90% > 0.10%
127 68 0.00% <99.90% > 0.10%
128 47 0.00% <99.90% > 0.10%
129 19 0.00% <99.90% > 0.10%
130 41 0.00% <99.90% > 0.10%
131 10 0.00% <99.90% > 0.10%
132 21 0.00% <99.90% > 0.10%
133 57 0.00% <99.90% > 0.10%
134 25 0.00% <99.90% > 0.10%
135 24 0.00% <99.90% > 0.09%
136 32 0.00% <99.91% > 0.09%
137 39 0.00% <99.91% > 0.09%
138 20 0.00% <99.91% > 0.09%
139 29 0.00% <99.91% > 0.09%
140 21 0.00% <99.91% > 0.09%
141 6 0.00% <99.91% > 0.09%
142 25 0.00% <99.91% > 0.09%
143 13 0.00% <99.91% > 0.09%
144 22 0.00% <99.91% > 0.09%
145 26 0.00% <99.91% > 0.09%
146 28 0.00% <99.91% > 0.09%
147 24 0.00% <99.91% > 0.09%
148 5 0.00% <99.91% > 0.09%
149 14 0.00% <99.91% > 0.09%
150 19 0.00% <99.91% > 0.09%
151 19 0.00% <99.91% > 0.09%
152 13 0.00% <99.91% > 0.09%
153 14 0.00% <99.91% > 0.09%
154 23 0.00% <99.91% > 0.09%
155 21 0.00% <99.91% > 0.09%
156 7 0.00% <99.91% > 0.09%
157 4 0.00% <99.91% > 0.09%
158 3 0.00% <99.91% > 0.09%
159 17 0.00% <99.91% > 0.09%
160 22 0.00% <99.91% > 0.09%
161 10 0.00% <99.91% > 0.09%
162 13 0.00% <99.91% > 0.09%
163 3 0.00% <99.91% > 0.09%
164 15 0.00% <99.91% > 0.09%
165 10 0.00% <99.91% > 0.09%
166 2 0.00% <99.91% > 0.09%
167 3 0.00% <99.91% > 0.09%
168 8 0.00% <99.91% > 0.09%
169 15 0.00% <99.91% > 0.09%
170 1 0.00% <99.91% > 0.09%
172 11 0.00% <99.91% > 0.09%
173 6 0.00% <99.91% > 0.08%
174 5 0.00% <99.92% > 0.08%
175 4 0.00% <99.92% > 0.08%
176 4 0.00% <99.92% > 0.08%
177 10 0.00% <99.92% > 0.08%
178 8 0.00% <99.92% > 0.08%
179 4 0.00% <99.92% > 0.08%
180 4 0.00% <99.92% > 0.08%
181 3 0.00% <99.92% > 0.08%
182 13 0.00% <99.92% > 0.08%
183 2 0.00% <99.92% > 0.08%
184 7 0.00% <99.92% > 0.08%
185 5 0.00% <99.92% > 0.08%
186 11 0.00% <99.92% > 0.08%
187 13 0.00% <99.92% > 0.08%
188 8 0.00% <99.92% > 0.08%
189 7 0.00% <99.92% > 0.08%
191 3 0.00% <99.92% > 0.08%
192 18 0.00% <99.92% > 0.08%
193 2 0.00% <99.92% > 0.08%
194 7 0.00% <99.92% > 0.08%
195 8 0.00% <99.92% > 0.08%
197 3 0.00% <99.92% > 0.08%
199 7 0.00% <99.92% > 0.08%
200 3 0.00% <99.92% > 0.08%
203 4 0.00% <99.92% > 0.08%
204 9 0.00% <99.92% > 0.08%
205 1 0.00% <99.92% > 0.08%
206 3 0.00% <99.92% > 0.08%
207 5 0.00% <99.92% > 0.08%
208 8 0.00% <99.92% > 0.08%
209 9 0.00% <99.92% > 0.08%
210 1 0.00% <99.92% > 0.08%
211 1 0.00% <99.92% > 0.08%
212 8 0.00% <99.92% > 0.08%
213 5 0.00% <99.92% > 0.08%
214 2 0.00% <99.92% > 0.08%
215 22 0.00% <99.92% > 0.08%
216 11 0.00% <99.92% > 0.08%
217 5 0.00% <99.92% > 0.08%
219 2 0.00% <99.92% > 0.08%
220 22 0.00% <99.92% > 0.08%
221 3 0.00% <99.92% > 0.08%
222 17 0.00% <99.92% > 0.08%
223 4 0.00% <99.92% > 0.08%
224 3 0.00% <99.92% > 0.08%
225 4 0.00% <99.92% > 0.08%
227 5 0.00% <99.92% > 0.08%
228 9 0.00% <99.92% > 0.08%
230 6 0.00% <99.92% > 0.08%
232 1 0.00% <99.92% > 0.08%
233 1 0.00% <99.92% > 0.08%
234 3 0.00% <99.92% > 0.08%
235 1 0.00% <99.92% > 0.08%
237 6 0.00% <99.92% > 0.08%
238 6 0.00% <99.92% > 0.08%
239 6 0.00% <99.92% > 0.08%
240 7 0.00% <99.92% > 0.08%
242 3 0.00% <99.92% > 0.08%
244 1 0.00% <99.92% > 0.08%
245 3 0.00% <99.92% > 0.08%
254 1 0.00% <99.92% > 0.08%
255 4855 0.08% <99.92% >-0.00%
-----------------------
name = Hash
0 1338 0.15% < 0.00% >99.85%
1 107094 12.38% < 0.15% >87.46%
2 49193 5.69% <12.54% >81.77%
3 63695 7.36% <18.23% >74.41%
4 90981 10.52% <25.59% >63.89%
5 103625 11.98% <36.11% >51.91%
6 76401 8.83% <48.09% >43.07%
7 44848 5.19% <56.93% >37.89%
8 47510 5.49% <62.11% >32.39%
9 35233 4.07% <67.61% >28.32%
10 31314 3.62% <71.68% >24.70%
11 22956 2.65% <75.30% >22.05%
12 18834 2.18% <77.95% >19.87%
13 14790 1.71% <80.13% >18.16%
14 12900 1.49% <81.84% >16.67%
15 10799 1.25% <83.33% >15.42%
16 9737 1.13% <84.58% >14.29%
17 8758 1.01% <85.71% >13.28%
18 7569 0.88% <86.72% >12.40%
19 6927 0.80% <87.60% >11.60%
20 7574 0.88% <88.40% >10.73%
21 10014 1.16% <89.27% > 9.57%
22 8659 1.00% <90.43% > 8.57%
23 8886 1.03% <91.43% > 7.54%
24 5980 0.69% <92.46% > 6.85%
25 5678 0.66% <93.15% > 6.19%
26 5584 0.65% <93.81% > 5.55%
27 6032 0.70% <94.45% > 4.85%
28 6615 0.76% <95.15% > 4.08%
29 9300 1.08% <95.92% > 3.01%
30 5043 0.58% <96.99% > 2.43%
31 3638 0.42% <97.57% > 2.01%
32 3909 0.45% <97.99% > 1.55%
33 1820 0.21% <98.45% > 1.34%
34 1449 0.17% <98.66% > 1.18%
35 1147 0.13% <98.82% > 1.04%
36 1505 0.17% <98.96% > 0.87%
37 589 0.07% <99.13% > 0.80%
38 647 0.07% <99.20% > 0.73%
39 451 0.05% <99.27% > 0.67%
40 456 0.05% <99.33% > 0.62%
41 405 0.05% <99.38% > 0.57%
42 461 0.05% <99.43% > 0.52%
43 378 0.04% <99.48% > 0.48%
44 342 0.04% <99.52% > 0.44%
45 270 0.03% <99.56% > 0.41%
46 328 0.04% <99.59% > 0.37%
47 230 0.03% <99.63% > 0.34%
48 278 0.03% <99.66% > 0.31%
49 200 0.02% <99.69% > 0.29%
50 215 0.02% <99.71% > 0.26%
51 192 0.02% <99.74% > 0.24%
52 173 0.02% <99.76% > 0.22%
53 168 0.02% <99.78% > 0.20%
54 111 0.01% <99.80% > 0.19%
55 128 0.01% <99.81% > 0.17%
56 103 0.01% <99.83% > 0.16%
57 64 0.01% <99.84% > 0.15%
58 93 0.01% <99.85% > 0.14%
59 95 0.01% <99.86% > 0.13%
60 139 0.02% <99.87% > 0.12%
61 34 0.00% <99.88% > 0.11%
62 70 0.01% <99.89% > 0.10%
63 86 0.01% <99.90% > 0.09%
64 58 0.01% <99.91% > 0.09%
65 51 0.01% <99.91% > 0.08%
66 39 0.00% <99.92% > 0.08%
67 75 0.01% <99.92% > 0.07%
68 14 0.00% <99.93% > 0.07%
69 29 0.00% <99.93% > 0.06%
70 115 0.01% <99.94% > 0.05%
71 3 0.00% <99.95% > 0.05%
72 32 0.00% <99.95% > 0.05%
73 29 0.00% <99.95% > 0.04%
74 10 0.00% <99.96% > 0.04%
75 34 0.00% <99.96% > 0.04%
76 13 0.00% <99.96% > 0.04%
77 10 0.00% <99.96% > 0.03%
78 4 0.00% <99.97% > 0.03%
79 6 0.00% <99.97% > 0.03%
80 19 0.00% <99.97% > 0.03%
81 32 0.00% <99.97% > 0.03%
82 11 0.00% <99.97% > 0.03%
83 6 0.00% <99.97% > 0.03%
84 16 0.00% <99.97% > 0.02%
85 13 0.00% <99.98% > 0.02%
86 9 0.00% <99.98% > 0.02%
88 3 0.00% <99.98% > 0.02%
89 8 0.00% <99.98% > 0.02%
90 8 0.00% <99.98% > 0.02%
91 2 0.00% <99.98% > 0.02%
94 10 0.00% <99.98% > 0.02%
95 4 0.00% <99.98% > 0.02%
96 2 0.00% <99.98% > 0.02%
97 8 0.00% <99.98% > 0.02%
98 10 0.00% <99.98% > 0.01%
99 3 0.00% <99.99% > 0.01%
100 4 0.00% <99.99% > 0.01%
101 7 0.00% <99.99% > 0.01%
102 3 0.00% <99.99% > 0.01%
103 2 0.00% <99.99% > 0.01%
105 4 0.00% <99.99% > 0.01%
106 1 0.00% <99.99% > 0.01%
107 31 0.00% <99.99% > 0.01%
108 10 0.00% <99.99% > 0.01%
109 10 0.00% <99.99% > 0.01%
111 10 0.00% <99.99% > 0.00%
113 1 0.00% <100.00% > 0.00%
114 3 0.00% <100.00% > 0.00%
117 3 0.00% <100.00% > 0.00%
118 5 0.00% <100.00% > 0.00%
120 5 0.00% <100.00% > 0.00%
121 13 0.00% <100.00% > 0.00%
132 2 0.00% <100.00% > 0.00%
133 7 0.00% <100.00% > 0.00%
139 5 0.00% <100.00% >-0.00%
142 4 0.00% <100.00% >-0.00%
185 1 0.00% <100.00% >-0.00%
=================================================
Odpady
-----------------------
name = Dest
0 311210 14.63% < 0.00% >85.37%
1 230893 10.86% <14.63% >74.51%
2 62496 2.94% <25.49% >71.57%
3 112700 5.30% <28.43% >66.27%
4 130500 6.14% <33.73% >60.13%
5 122505 5.76% <39.87% >54.37%
6 58129 2.73% <45.63% >51.64%
7 108148 5.09% <48.36% >46.55%
8 70533 3.32% <53.45% >43.23%
9 199104 9.36% <56.77% >33.87%
10 132089 6.21% <66.13% >27.66%
11 28380 1.33% <72.34% >26.33%
12 65562 3.08% <73.67% >23.24%
13 64272 3.02% <76.76% >20.22%
14 236274 11.11% <79.78% > 9.11%
15 27626 1.30% <90.89% > 7.81%
16 23281 1.09% <92.19% > 6.72%
17 20631 0.97% <93.28% > 5.75%
18 16701 0.79% <94.25% > 4.96%
19 7003 0.33% <95.04% > 4.63%
20 12503 0.59% <95.37% > 4.04%
21 3510 0.17% <95.96% > 3.88%
22 1461 0.07% <96.12% > 3.81%
23 1385 0.07% <96.19% > 3.74%
24 3305 0.16% <96.26% > 3.59%
25 5528 0.26% <96.41% > 3.33%
26 8634 0.41% <96.67% > 2.92%
27 10264 0.48% <97.08% > 2.44%
28 11443 0.54% <97.56% > 1.90%
29 10792 0.51% <98.10% > 1.39%
30 8730 0.41% <98.61% > 0.98%
31 6113 0.29% <99.02% > 0.70%
32 3919 0.18% <99.30% > 0.51%
33 2628 0.12% <99.49% > 0.39%
34 1365 0.06% <99.61% > 0.32%
35 697 0.03% <99.68% > 0.29%
36 1581 0.07% <99.71% > 0.22%
37 196 0.01% <99.78% > 0.21%
38 175 0.01% <99.79% > 0.20%
39 57 0.00% <99.80% > 0.20%
40 46 0.00% <99.80% > 0.20%
41 25 0.00% <99.80% > 0.19%
42 23 0.00% <99.81% > 0.19%
43 34 0.00% <99.81% > 0.19%
44 45 0.00% <99.81% > 0.19%
45 62 0.00% <99.81% > 0.19%
46 57 0.00% <99.81% > 0.18%
47 21 0.00% <99.82% > 0.18%
48 23 0.00% <99.82% > 0.18%
49 74 0.00% <99.82% > 0.18%
50 76 0.00% <99.82% > 0.17%
51 113 0.01% <99.83% > 0.17%
52 161 0.01% <99.83% > 0.16%
53 48 0.00% <99.84% > 0.16%
54 83 0.00% <99.84% > 0.16%
55 124 0.01% <99.84% > 0.15%
56 175 0.01% <99.85% > 0.14%
57 130 0.01% <99.86% > 0.14%
58 34 0.00% <99.86% > 0.13%
59 35 0.00% <99.87% > 0.13%
60 40 0.00% <99.87% > 0.13%
61 197 0.01% <99.87% > 0.12%
62 382 0.02% <99.88% > 0.10%
63 51 0.00% <99.90% > 0.10%
64 104 0.00% <99.90% > 0.10%
65 35 0.00% <99.90% > 0.09%
66 18 0.00% <99.91% > 0.09%
67 10 0.00% <99.91% > 0.09%
68 24 0.00% <99.91% > 0.09%
69 3 0.00% <99.91% > 0.09%
70 24 0.00% <99.91% > 0.09%
71 6 0.00% <99.91% > 0.09%
72 14 0.00% <99.91% > 0.09%
76 22 0.00% <99.91% > 0.09%
77 24 0.00% <99.91% > 0.09%
78 56 0.00% <99.91% > 0.08%
80 24 0.00% <99.92% > 0.08%
81 8 0.00% <99.92% > 0.08%
82 8 0.00% <99.92% > 0.08%
83 6 0.00% <99.92% > 0.08%
84 10 0.00% <99.92% > 0.08%
85 34 0.00% <99.92% > 0.08%
86 28 0.00% <99.92% > 0.08%
87 5 0.00% <99.92% > 0.08%
88 3 0.00% <99.92% > 0.08%
89 22 0.00% <99.92% > 0.08%
90 30 0.00% <99.92% > 0.08%
91 37 0.00% <99.92% > 0.07%
92 9 0.00% <99.93% > 0.07%
93 25 0.00% <99.93% > 0.07%
94 15 0.00% <99.93% > 0.07%
95 16 0.00% <99.93% > 0.07%
96 31 0.00% <99.93% > 0.07%
97 8 0.00% <99.93% > 0.07%
98 31 0.00% <99.93% > 0.07%
99 82 0.00% <99.93% > 0.06%
100 24 0.00% <99.94% > 0.06%
101 55 0.00% <99.94% > 0.06%
102 39 0.00% <99.94% > 0.06%
103 46 0.00% <99.94% > 0.06%
104 20 0.00% <99.94% > 0.06%
105 40 0.00% <99.94% > 0.05%
107 22 0.00% <99.95% > 0.05%
108 8 0.00% <99.95% > 0.05%
109 6 0.00% <99.95% > 0.05%
110 8 0.00% <99.95% > 0.05%
111 4 0.00% <99.95% > 0.05%
112 43 0.00% <99.95% > 0.05%
113 6 0.00% <99.95% > 0.05%
114 7 0.00% <99.95% > 0.05%
115 9 0.00% <99.95% > 0.05%
116 14 0.00% <99.95% > 0.05%
117 4 0.00% <99.95% > 0.05%
118 48 0.00% <99.95% > 0.05%
119 54 0.00% <99.95% > 0.04%
120 2 0.00% <99.96% > 0.04%
121 8 0.00% <99.96% > 0.04%
123 48 0.00% <99.96% > 0.04%
124 12 0.00% <99.96% > 0.04%
125 4 0.00% <99.96% > 0.04%
126 6 0.00% <99.96% > 0.04%
129 11 0.00% <99.96% > 0.04%
130 17 0.00% <99.96% > 0.04%
131 29 0.00% <99.96% > 0.04%
132 11 0.00% <99.96% > 0.04%
133 6 0.00% <99.96% > 0.04%
134 1 0.00% <99.96% > 0.04%
135 25 0.00% <99.96% > 0.03%
136 16 0.00% <99.97% > 0.03%
137 4 0.00% <99.97% > 0.03%
138 4 0.00% <99.97% > 0.03%
139 8 0.00% <99.97% > 0.03%
140 2 0.00% <99.97% > 0.03%
141 14 0.00% <99.97% > 0.03%
142 14 0.00% <99.97% > 0.03%
143 10 0.00% <99.97% > 0.03%
144 16 0.00% <99.97% > 0.03%
145 3 0.00% <99.97% > 0.03%
146 12 0.00% <99.97% > 0.03%
148 5 0.00% <99.97% > 0.03%
149 8 0.00% <99.97% > 0.03%
150 2 0.00% <99.97% > 0.03%
151 2 0.00% <99.97% > 0.03%
152 19 0.00% <99.97% > 0.03%
153 4 0.00% <99.97% > 0.03%
154 4 0.00% <99.97% > 0.03%
155 12 0.00% <99.97% > 0.03%
157 6 0.00% <99.97% > 0.03%
158 6 0.00% <99.97% > 0.03%
159 16 0.00% <99.97% > 0.03%
160 4 0.00% <99.97% > 0.03%
161 14 0.00% <99.97% > 0.02%
162 126 0.01% <99.98% > 0.02%
163 72 0.00% <99.98% > 0.02%
164 6 0.00% <99.98% > 0.02%
165 5 0.00% <99.98% > 0.01%
166 2 0.00% <99.99% > 0.01%
167 1 0.00% <99.99% > 0.01%
168 6 0.00% <99.99% > 0.01%
170 6 0.00% <99.99% > 0.01%
171 6 0.00% <99.99% > 0.01%
172 20 0.00% <99.99% > 0.01%
173 1 0.00% <99.99% > 0.01%
174 1 0.00% <99.99% > 0.01%
175 38 0.00% <99.99% > 0.01%
176 18 0.00% <99.99% > 0.01%
177 15 0.00% <99.99% > 0.01%
178 3 0.00% <99.99% > 0.01%
179 3 0.00% <99.99% > 0.01%
180 24 0.00% <99.99% > 0.01%
181 7 0.00% <99.99% > 0.01%
182 1 0.00% <99.99% > 0.01%
185 3 0.00% <99.99% > 0.01%
190 3 0.00% <99.99% > 0.01%
191 2 0.00% <99.99% > 0.01%
192 6 0.00% <99.99% > 0.01%
196 8 0.00% <99.99% > 0.01%
200 9 0.00% <99.99% > 0.01%
213 18 0.00% <99.99% > 0.01%
216 36 0.00% <99.99% > 0.00%
217 12 0.00% <100.00% > 0.00%
244 6 0.00% <100.00% > 0.00%
247 9 0.00% <100.00% > 0.00%
248 3 0.00% <100.00% > 0.00%
255 326 0.02% <100.00% >-0.01%
-----------------------
name = Hash
0 19 0.07% < 0.00% >99.93%
1 22359 83.06% < 0.07% >16.87%
2 320 1.19% <83.15% >15.66%
3 425 1.58% <84.34% >14.08%
4 329 1.22% <85.92% >12.86%
5 716 2.66% <87.14% >10.20%
6 158 0.59% <89.80% > 9.61%
7 147 0.55% <90.39% > 9.06%
8 117 0.43% <90.94% > 8.63%
9 252 0.94% <91.37% > 7.69%
10 142 0.53% <92.31% > 7.17%
11 97 0.36% <92.83% > 6.81%
12 144 0.53% <93.19% > 6.27%
13 97 0.36% <93.73% > 5.91%
14 72 0.27% <94.09% > 5.64%
15 70 0.26% <94.36% > 5.38%
16 114 0.42% <94.62% > 4.96%
17 18 0.07% <95.04% > 4.89%
18 15 0.06% <95.11% > 4.84%
19 7 0.03% <95.16% > 4.81%
20 7 0.03% <95.19% > 4.78%
21 5 0.02% <95.22% > 4.77%
22 3 0.01% <95.23% > 4.76%
23 1 0.00% <95.24% > 4.75%
24 2 0.01% <95.25% > 4.74%
25 1 0.00% <95.26% > 4.74%
27 1 0.00% <95.26% > 4.74%
35 1 0.00% <95.26% > 4.73%
36 1283 4.77% <95.27% >-0.03%
38 1 0.00% <100.03% >-0.04%
=========================================================
TheIDE Dest
-----------------------
name = Dest
0 2019143 34.70% < 0.00% >65.30%
14 73304 1.26% <81.74% >17.00%
15 54341 0.93% <83.00% >16.07%
22 30435 0.52% <88.96% >10.52%
23 37915 0.65% <89.48% > 9.87%
30 19241 0.33% <94.20% > 5.47%
31 23357 0.40% <94.53% > 5.06%
46 8272 0.14% <97.54% > 2.31%
47 4888 0.08% <97.69% > 2.23%
62 6174 0.11% <98.90% > 0.99%
63 4641 0.08% <99.01% > 0.91%
-----------------------
name = Hash
0 1338 0.15% < 0.00% >99.85%
14 12900 1.49% <81.84% >16.67%
15 10799 1.25% <83.33% >15.42%
22 8659 1.00% <90.43% > 8.57%
23 8886 1.03% <91.43% > 7.54%
30 5043 0.58% <96.99% > 2.43%
31 3638 0.42% <97.57% > 2.01%
46 328 0.04% <99.59% > 0.37%
47 230 0.03% <99.63% > 0.34%
62 70 0.01% <99.89% > 0.10%
63 86 0.01% <99.90% > 0.09%
=================================================
Bussines logic app
-----------------------
name = Dest
0 311210 14.63% < 0.00% >85.37%
14 236274 11.11% <79.78% > 9.11%
15 27626 1.30% <90.89% > 7.81%
22 1461 0.07% <96.12% > 3.81%
23 1385 0.07% <96.19% > 3.74%
30 8730 0.41% <98.61% > 0.98%
31 6113 0.29% <99.02% > 0.70%
46 57 0.00% <99.81% > 0.18%
47 21 0.00% <99.82% > 0.18%
62 382 0.02% <99.88% > 0.10%
63 51 0.00% <99.90% > 0.10%
-----------------------
name = Hash
0 19 0.07% < 0.00% >99.93%
14 72 0.27% <94.09% > 5.64%
15 70 0.26% <94.36% > 5.38%
22 3 0.01% <95.23% > 4.76%
23 1 0.00% <95.24% > 4.75%
36 1283 4.77% <95.27% >-0.03%
////////////////////////////////////////////////////
16 B, 26117 allocated ( 408 KB), 45 fragmented ( 0 KB)
32 B, 84407 allocated ( 2637 KB), 48 fragmented ( 1 KB)
48 B, 16884 allocated ( 791 KB), 0 fragmented ( 0 KB)
64 B, 8897 allocated ( 556 KB), 175 fragmented ( 10 KB)
80 B, 16480 allocated ( 1287 KB), 270 fragmented ( 21 KB)
96 B, 1845 allocated ( 172 KB), 129 fragmented ( 12 KB)
112 B, 432 allocated ( 47 KB), 0 fragmented ( 0 KB)
128 B, 2232 allocated ( 279 KB), 0 fragmented ( 0 KB)
144 B, 168 allocated ( 23 KB), 0 fragmented ( 0 KB)
160 B, 77 allocated ( 12 KB), 23 fragmented ( 3 KB)
176 B, 41 allocated ( 7 KB), 5 fragmented ( 0 KB)
192 B, 24 allocated ( 4 KB), 18 fragmented ( 3 KB)
224 B, 50 allocated ( 10 KB), 4 fragmented ( 0 KB)
288 B, 508 allocated ( 142 KB), 10 fragmented ( 2 KB)
352 B, 17 allocated ( 5 KB), 5 fragmented ( 1 KB)
448 B, 47 allocated ( 20 KB), 7 fragmented ( 3 KB)
576 B, 318 allocated ( 178 KB), 11 fragmented ( 6 KB)
672 B, 8 allocated ( 5 KB), 4 fragmented ( 2 KB)
800 B, 35 allocated ( 27 KB), 5 fragmented ( 3 KB)
992 B, 16 allocated ( 15 KB), 4 fragmented ( 3 KB)
1344 B, 276 allocated ( 362 KB), 9 fragmented ( 11 KB)
TOTAL, 158879 allocated ( 6996 KB), 772 fragmented ( 91 KB)
.............
4 B, 811 allocated ( 3 KB), 213 fragmented ( 0 KB)
8 B, 258 allocated ( 2 KB), 254 fragmented ( 1 KB)
16 B, 14878 allocated ( 232 KB), 226 fragmented ( 3 KB)
24 B, 68982 allocated ( 1616 KB), 208 fragmented ( 4 KB)
32 B, 23844 allocated ( 745 KB), 92 fragmented ( 2 KB)
40 B, 13768 allocated ( 537 KB), 104 fragmented ( 4 KB)
48 B, 6564 allocated ( 307 KB), 66 fragmented ( 3 KB)
56 B, 2990 allocated ( 163 KB), 3 fragmented ( 0 KB)
64 B, 3358 allocated ( 209 KB), 34 fragmented ( 2 KB)
72 B, 2267 allocated ( 159 KB), 29 fragmented ( 2 KB)
80 B, 15465 allocated ( 1208 KB), 39 fragmented ( 3 KB)
88 B, 393 allocated ( 33 KB), 21 fragmented ( 1 KB)
96 B, 1418 allocated ( 132 KB), 52 fragmented ( 4 KB)
104 B, 151 allocated ( 15 KB), 5 fragmented ( 0 KB)
112 B, 235 allocated ( 25 KB), 17 fragmented ( 1 KB)
120 B, 945 allocated ( 110 KB), 75 fragmented ( 8 KB)
128 B, 1140 allocated ( 142 KB), 12 fragmented ( 1 KB)
144 B, 206 allocated ( 28 KB), 18 fragmented ( 2 KB)
160 B, 44 allocated ( 6 KB), 6 fragmented ( 0 KB)
176 B, 49 allocated ( 8 KB), 20 fragmented ( 3 KB)
192 B, 23 allocated ( 4 KB), 19 fragmented ( 3 KB)
224 B, 24 allocated ( 5 KB), 12 fragmented ( 2 KB)
256 B, 464 allocated ( 116 KB), 16 fragmented ( 4 KB)
288 B, 12 allocated ( 3 KB), 2 fragmented ( 0 KB)
304 B, 5 allocated ( 1 KB), 8 fragmented ( 2 KB)
336 B, 15 allocated ( 4 KB), 9 fragmented ( 2 KB)
368 B, 3 allocated ( 1 KB), 8 fragmented ( 2 KB)
408 B, 9 allocated ( 3 KB), 11 fragmented ( 4 KB)
448 B, 29 allocated ( 12 KB), 7 fragmented ( 3 KB)
512 B, 309 allocated ( 154 KB), 11 fragmented ( 5 KB)
672 B, 13 allocated ( 8 KB), 5 fragmented ( 3 KB)
816 B, 4 allocated ( 3 KB), 1 fragmented ( 0 KB)
1024 B, 253 allocated ( 253 KB), 11 fragmented ( 11 KB)
TOTAL, 158929 allocated ( 6263 KB), 1614 fragmented ( 101 KB)
----------------------------
NewCore idmap benchmark, Core2 Duo, 2.7Ghz
Ubuntu64, gcc (GCC) 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5)
Small
U++ allocator
STL hash_map time: 2978 ms
STL map time: 3318 ms
NTL time: 1075 ms
Standard allocator
STL hash_map time: 3774 ms
STL map time: 4079 ms
NTL time: 1394 ms
Large
U++ allocator
STL hash_map time: 28558 ms
STL map time: 37230 ms
NTL time: 8604 ms
Standard allocator
STL hash_map time: 36374 ms
STL map time: 43718 ms
NTL time: 10552 ms