Topic: index-cluster to replace std::map
Author: svenbieg@web.de
Date: Sun, 22 Oct 2017 02:32:39 -0700 (PDT)
Raw View
------=_Part_5493_1099998427.1508664759636
Content-Type: multipart/alternative;
boundary="----=_Part_5494_280883540.1508664759636"
------=_Part_5494_280883540.1508664759636
Content-Type: text/plain; charset="UTF-8"
Hello Mr. and Mrs.,
i have written an algoritm which can order and sort large numbers of items.
It builds a directory-tree in form of a pyramid.
My index is about twice as fast as the std::map and it consumumes only
about 15% of memory.
<http://svenbieg.azurewebsites.net/index.jpg>
You can find further information and the source-code on my homepage at
http://svenbieg.azurewebsites.net/Clusters
Best regards,
Sven Bieg
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/db6c86e7-7d28-4b93-95f2-4109aa805b7f%40isocpp.org.
------=_Part_5494_280883540.1508664759636
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div>Hello Mr. and Mrs.,</div><div><br></div><div>i have w=
ritten an algoritm which can order and sort large numbers of items. It buil=
ds a directory-tree in form of a pyramid.=C2=A0</div><div>My index is about=
twice as fast as the std::map and it consumumes only about 15% of memory.<=
/div><div><br></div><div><a style=3D"margin-right: 1em; margin-left: 1em;" =
href=3D"http://svenbieg.azurewebsites.net/index.jpg" imageanchor=3D"1"><img=
src=3D"http://svenbieg.azurewebsites.net/index.jpg" border=3D"0"></a></div=
><div style=3D"text-align: left;"><br></div><div><span style=3D"display: in=
line !important; float: none; background-color: transparent; color: rgb(34,=
34, 34); font-family: "Arial","Helvetica",sans-serif; =
font-size: 13px; font-style: normal; font-variant: normal; font-weight: 400=
; letter-spacing: normal; orphans: 2; text-align: left; text-decoration: no=
ne; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px;=
white-space: normal; word-spacing: 0px;">You can find further information =
and the source-code on my homepage at</span></div><div><span style=3D"displ=
ay: inline !important; float: none; background-color: transparent; color: r=
gb(34, 34, 34); font-family: "Arial","Helvetica",sans-s=
erif; font-size: 13px; font-style: normal; font-variant: normal; font-weigh=
t: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decorati=
on: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width=
: 0px; white-space: normal; word-spacing: 0px;"><a href=3D"http://svenbieg.=
azurewebsites.net/Clusters">http://svenbieg.azurewebsites.net/Clusters</a><=
/span></div><div><span style=3D"display: inline !important; float: none; ba=
ckground-color: transparent; color: rgb(34, 34, 34); font-family: "Ari=
al","Helvetica",sans-serif; font-size: 13px; font-style: nor=
mal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphan=
s: 2; text-align: left; text-decoration: none; text-indent: 0px; text-trans=
form: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spaci=
ng: 0px;"><br></span></div><div>Best regards,</div><div><br></div><div>Sven=
Bieg</div><div><br></div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/db6c86e7-7d28-4b93-95f2-4109aa805b7f%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/db6c86e7-7d28-4b93-95f2-4109aa805b7f=
%40isocpp.org</a>.<br />
------=_Part_5494_280883540.1508664759636--
------=_Part_5493_1099998427.1508664759636--
.
Author: Todd Fleming <tbfleming@gmail.com>
Date: Sun, 22 Oct 2017 08:19:25 -0700 (PDT)
Raw View
------=_Part_6067_2035778336.1508685565712
Content-Type: multipart/alternative;
boundary="----=_Part_6068_497566719.1508685565712"
------=_Part_6068_497566719.1508685565712
Content-Type: text/plain; charset="UTF-8"
On Sunday, October 22, 2017 at 5:32:39 AM UTC-4, sven...@web.de wrote:
>
> Hello Mr. and Mrs.,
>
> i have written an algoritm which can order and sort large numbers of
> items. It builds a directory-tree in form of a pyramid.
> My index is about twice as fast as the std::map and it consumumes only
> about 15% of memory.
>
> <http://svenbieg.azurewebsites.net/index.jpg>
>
> You can find further information and the source-code on my homepage at
> http://svenbieg.azurewebsites.net/Clusters
>
> Best regards,
>
> Sven Bieg
>
- What is INT?
- Why doesn't Index's interface match the standard containers?
- What do those numbers mean in that table? I don't read German.
- Why would I download a .zip to look at it. Put it on GitHub or some
other place that's convenient for people to look at.
Todd
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/9ba25673-7349-46de-b076-c07e950e07fa%40isocpp.org.
------=_Part_6068_497566719.1508685565712
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">On Sunday, October 22, 2017 at 5:32:39 AM UTC-4, sven...@w=
eb.de wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-lef=
t: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir=3D"ltr"><=
div>Hello Mr. and Mrs.,</div><div><br></div><div>i have written an algoritm=
which can order and sort large numbers of items. It builds a directory-tre=
e in form of a pyramid.=C2=A0</div><div>My index is about twice as fast as =
the std::map and it consumumes only about 15% of memory.</div><div><br></di=
v><div><a style=3D"margin-right:1em;margin-left:1em" href=3D"http://svenbie=
g.azurewebsites.net/index.jpg" target=3D"_blank" rel=3D"nofollow" onmousedo=
wn=3D"this.href=3D'http://www.google.com/url?q\x3dhttp%3A%2F%2Fsvenbieg=
..azurewebsites.net%2Findex.jpg\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFwW5=
UZUdBX8iyawLp3u1exNnRYNQ';return true;" onclick=3D"this.href=3D'htt=
p://www.google.com/url?q\x3dhttp%3A%2F%2Fsvenbieg.azurewebsites.net%2Findex=
..jpg\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFwW5UZUdBX8iyawLp3u1exNnRYNQ&#=
39;;return true;"><img src=3D"https://lh3.googleusercontent.com/proxy/u5ybu=
V4beqrH7ZKuKtJ8Bju_BFnBkl6--u69rtHv7XPmmmLCAOolAYnsEkddMqCIfV9aFPbvxgRcBJSr=
N9s=3Dw5000-h5000" border=3D"0"></a></div><div style=3D"text-align:left"><b=
r></div><div><span style=3D"display:inline!important;float:none;background-=
color:transparent;color:rgb(34,34,34);font-family:"Arial","H=
elvetica",sans-serif;font-size:13px;font-style:normal;font-variant:nor=
mal;font-weight:400;letter-spacing:normal;text-align:left;text-decoration:n=
one;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px=
">You can find further information and the source-code on my homepage at</s=
pan></div><div><span style=3D"display:inline!important;float:none;backgroun=
d-color:transparent;color:rgb(34,34,34);font-family:"Arial","=
;Helvetica",sans-serif;font-size:13px;font-style:normal;font-variant:n=
ormal;font-weight:400;letter-spacing:normal;text-align:left;text-decoration=
:none;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0=
px"><a href=3D"http://svenbieg.azurewebsites.net/Clusters" target=3D"_blank=
" rel=3D"nofollow" onmousedown=3D"this.href=3D'http://www.google.com/ur=
l?q\x3dhttp%3A%2F%2Fsvenbieg.azurewebsites.net%2FClusters\x26sa\x3dD\x26snt=
z\x3d1\x26usg\x3dAFQjCNHV7drSsjcZKFj-DWh2CAHs1wyCPw';return true;" oncl=
ick=3D"this.href=3D'http://www.google.com/url?q\x3dhttp%3A%2F%2Fsvenbie=
g.azurewebsites.net%2FClusters\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNHV7d=
rSsjcZKFj-DWh2CAHs1wyCPw';return true;">http://svenbieg.azurewebsites.<=
wbr>net/Clusters</a></span></div><div><span style=3D"display:inline!importa=
nt;float:none;background-color:transparent;color:rgb(34,34,34);font-family:=
"Arial","Helvetica",sans-serif;font-size:13px;font-styl=
e:normal;font-variant:normal;font-weight:400;letter-spacing:normal;text-ali=
gn:left;text-decoration:none;text-indent:0px;text-transform:none;white-spac=
e:normal;word-spacing:0px"><br></span></div><div>Best regards,</div><div><b=
r></div><div>Sven Bieg</div></div></blockquote><div><br></div><div><ul><li>=
What is INT?<br></li><li>Why doesn't Index's interface match the st=
andard containers?</li><li>What do those numbers mean in that table? I don&=
#39;t read German.</li><li>Why would I download a .zip to look at it. Put i=
t on GitHub or some other place that's convenient for people to look at=
..</li></ul><div>Todd</div></div><div><br></div><div><br></div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/9ba25673-7349-46de-b076-c07e950e07fa%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/9ba25673-7349-46de-b076-c07e950e07fa=
%40isocpp.org</a>.<br />
------=_Part_6068_497566719.1508685565712--
------=_Part_6067_2035778336.1508685565712--
.
Author: Sven Bieg <svenbieg@web.de>
Date: Sun, 22 Oct 2017 16:10:17 +0000
Raw View
--_000_VI1PR10MB01574A847538322438C26685B1410VI1PR10MB0157EURP_
Content-Type: text/plain; charset="UTF-8"
Visit http://github.com/svenbieg/Clusters!
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/VI1PR10MB01574A847538322438C26685B1410%40VI1PR10MB0157.EURPRD10.PROD.OUTLOOK.COM.
--_000_VI1PR10MB01574A847538322438C26685B1410VI1PR10MB0157EURP_
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" xmlns:w=3D"urn:sc=
hemas-microsoft-com:office:word" xmlns:m=3D"http://schemas.microsoft.com/of=
fice/2004/12/omml" xmlns=3D"http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
..MsoChpDefault
{mso-style-type:export-only;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:1546016810;
mso-list-template-ids:-1;}
@list l0:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:36.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l0:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:72.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:"Courier New";
mso-bidi-font-family:"Times New Roman";}
@list l0:level3
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:108.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l0:level4
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:144.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l0:level5
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:180.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l0:level6
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:216.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l0:level7
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:252.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l0:level8
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:288.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l0:level9
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:324.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
--></style>
</head>
<body lang=3D"DE" link=3D"blue" vlink=3D"#954F72">
<div class=3D"WordSection1">
<p class=3D"MsoNormal">Visit <a href=3D"http://github.com/svenbieg/Clusters=
">http://github.com/svenbieg/Clusters</a>!<o:p></o:p></p>
</div>
</body>
</html>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/VI1PR10MB01574A847538322438C26685B141=
0%40VI1PR10MB0157.EURPRD10.PROD.OUTLOOK.COM?utm_medium=3Demail&utm_source=
=3Dfooter">https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/VI1=
PR10MB01574A847538322438C26685B1410%40VI1PR10MB0157.EURPRD10.PROD.OUTLOOK.C=
OM</a>.<br />
--_000_VI1PR10MB01574A847538322438C26685B1410VI1PR10MB0157EURP_--
.
Author: Jan Wilmans <janwilmans@gmail.com>
Date: Sun, 22 Oct 2017 20:03:04 +0200
Raw View
--f403045d9170afbd75055c26856f
Content-Type: text/plain; charset="UTF-8"
Translating windownese and german:
Zuweisungen == assignments, heapgrosse == heapsize
minwindef.h:
typedef int INT;
typedef unsigned int UINT;
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CADtNNhi%3DUcuPgkKfcOPGGCZXakMZe923j_pcBaAbrnqxsCUqdA%40mail.gmail.com.
--f403045d9170afbd75055c26856f
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div><br></div><div>Translating windownese and german:</di=
v><br>Zuweisungen =3D=3D assignments, heapgrosse =3D=3D heapsize<div class=
=3D"gmail_extra"><div class=3D"gmail_signature"><div dir=3D"ltr"><div><div =
dir=3D"ltr"><div></div></div></div></div></div>
</div><div><br></div><div>minwindef.h:</div><div><div>typedef int=C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0INT;</div><div>typedef =
unsigned int=C2=A0 =C2=A0 =C2=A0 =C2=A0 UINT;</div></div><div><br></div><di=
v><br></div><div><br></div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/CADtNNhi%3DUcuPgkKfcOPGGCZXakMZe923j_=
pcBaAbrnqxsCUqdA%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter">h=
ttps://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CADtNNhi%3DUcuP=
gkKfcOPGGCZXakMZe923j_pcBaAbrnqxsCUqdA%40mail.gmail.com</a>.<br />
--f403045d9170afbd75055c26856f--
.
Author: svenbieg@web.de
Date: Sun, 22 Oct 2017 21:21:50 -0700 (PDT)
Raw View
------=_Part_6932_1116964830.1508732510198
Content-Type: multipart/alternative;
boundary="----=_Part_6933_570461342.1508732510198"
------=_Part_6933_570461342.1508732510198
Content-Type: text/plain; charset="UTF-8"
The code does simply add integers from 1000 to 1, so they get sorted. In
the first column of the table You can see, that the index needs only 0.41s,
while the std::map needs 0.8s. In the second column You find the number of
allocations, the third column shows the memory used. The code should maybe
be revised by professionals, I am a hobby-programmer only. Thank You Todd
for Your interest and Your tip. I followed Your advise, You can now find
the Code at http://github.com/svenbieg/clusters.
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/3c30e2d8-f438-4d3f-bdb8-eb5ff54e2fd5%40isocpp.org.
------=_Part_6933_570461342.1508732510198
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><span style=3D"display: inline !important; float: none; ba=
ckground-color: transparent; color: rgb(34, 34, 34); font-family: "Ari=
al","Helvetica",sans-serif; font-size: 13px; font-style: nor=
mal; font-variant: normal; font-weight: 400; letter-spacing: normal; orphan=
s: 2; text-align: left; text-decoration: none; text-indent: 0px; text-trans=
form: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spaci=
ng: 0px;">The code does simply add integers from 1000 to 1, so they get sor=
ted. In the first column of the table You can see, that the index needs onl=
y 0.41s, while the std::map needs 0.8s. In the second column You find the n=
umber of allocations, the third column shows the memory used. The code shou=
ld maybe be revised by professionals, I am a hobby-programmer only. Thank Y=
ou Todd for Your interest and Your tip. I followed Your advise, You can now=
find the Code at </span><a style=3D"background-color: transparent; border-=
bottom-color: rgb(17, 85, 204); border-bottom-style: none; border-bottom-wi=
dth: 0px; border-image-outset: 0; border-image-repeat: stretch; border-imag=
e-slice: 100%; border-image-source: none; border-image-width: 1; border-lef=
t-color: rgb(17, 85, 204); border-left-style: none; border-left-width: 0px;=
border-right-color: rgb(17, 85, 204); border-right-style: none; border-rig=
ht-width: 0px; border-top-color: rgb(17, 85, 204); border-top-style: none; =
border-top-width: 0px; color: rgb(17, 85, 204); cursor: text; font-family: =
&quot;Arial&quot;,&quot;Helvetica&quot;,sans-serif; font-si=
ze: 13px; font-style: normal; font-variant: normal; font-weight: 400; lette=
r-spacing: normal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px;=
margin-top: 0px; orphans: 2; padding-bottom: 0px; padding-left: 0px; paddi=
ng-right: 0px; padding-top: 0px; text-align: left; text-decoration: none; t=
ext-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; whit=
e-space: normal; word-spacing: 0px;" href=3D"http://github.com/svenbieg/clu=
sters">http://github.com/svenbieg/clusters</a><span style=3D"display: inlin=
e !important; float: none; background-color: transparent; color: rgb(34, 34=
, 34); font-family: "Arial","Helvetica",sans-serif; fon=
t-size: 13px; font-style: normal; font-variant: normal; font-weight: 400; l=
etter-spacing: normal; orphans: 2; text-align: left; text-decoration: none;=
text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; wh=
ite-space: normal; word-spacing: 0px;">.</span><br></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/3c30e2d8-f438-4d3f-bdb8-eb5ff54e2fd5%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/3c30e2d8-f438-4d3f-bdb8-eb5ff54e2fd5=
%40isocpp.org</a>.<br />
------=_Part_6933_570461342.1508732510198--
------=_Part_6932_1116964830.1508732510198--
.
Author: svenbieg@web.de
Date: Sat, 28 Oct 2017 14:50:55 -0700 (PDT)
Raw View
------=_Part_3591_1692667338.1509227455278
Content-Type: multipart/alternative;
boundary="----=_Part_3592_1815113156.1509227455278"
------=_Part_3592_1815113156.1509227455278
Content-Type: text/plain; charset="UTF-8"
Hello Mr. and Mrs.,
i have written an algorithm which can order and sort large numbers of items.
It creates a directory-tree in form of a pyramid, moving entries and groups
accordingly.
I provide the algorithm in form of c++-templates via
http://github.com/svenbieg/Clusters.
You can find further Information on my website at
http://svenbieg.azurewebsites.net/Clusters.
<http://svenbieg.azurewebsites.net/Clusters/Pyramid.jpg>
The most simple cluster is the list, a replacement for the std::list:
<http://svenbieg.azurewebsites.net/Clusters/List/List.jpg>
In the parentgroups the number of entries is stored, so each entry can be
accessed by its position.
Also, the group with less entries is preferred when inserting.
You can find benchmarks on my website at
http://svenbieg.azurewebsites.net/Clusters/List.
The next cluster is the index, which is a replacement for the std::map:
<http://svenbieg.azurewebsites.net/Clusters/Index/Index.jpg>
Each parentgroup stores the number of entries, so each entry can be
accessed by its position.
Also, the group with less entries is preferred when inserting. The first
and the last entry are referenced,
so each entry can be accessed by its id, and new entries can be inserted in
the right position.
You can find benchmarks on my website at
http://svenbieg.azurewebsites.net/Clusters/Index.
I hope my solution will make it into the standard-library, it is faster and
consumes less memory.
Best regards,
Sven Bieg
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/3af6aee0-9b64-46ef-8345-bd7044249cb8%40isocpp.org.
------=_Part_3592_1815113156.1509227455278
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><p class=3D"separator" style=3D"text-align: left; clear: b=
oth;">Hello Mr. and Mrs.,</p><p class=3D"separator" style=3D"text-align: le=
ft; clear: both;"><br></p><p class=3D"separator" style=3D"text-align: left;=
clear: both;">i have written an algorithm which can order and sort large n=
umbers of items.</p><p class=3D"separator" style=3D"text-align: left; clear=
: both;">It creates a directory-tree in form of a pyramid, moving entries a=
nd groups accordingly.</p><p class=3D"separator" style=3D"text-align: left;=
clear: both;">I provide the algorithm in form of c++-templates via <a href=
=3D"http://github.com/svenbieg/Clusters">http://github.com/svenbieg/Cluster=
s</a>.</p><p class=3D"separator" style=3D"text-align: left; clear: both;">Y=
ou can find further Information on my website at <a href=3D"http://svenbieg=
..azurewebsites.net/Clusters">http://svenbieg.azurewebsites.net/Clusters</a>=
..</p><p class=3D"separator" style=3D"text-align: left; clear: both;"><br></=
p><p class=3D"separator" style=3D"text-align: left; clear: both;"><a style=
=3D"margin-right: 1em; margin-left: 1em;" href=3D"http://svenbieg.azurewebs=
ites.net/Clusters/Pyramid.jpg" imageanchor=3D"1"><img width=3D"200" height=
=3D"102" src=3D"http://svenbieg.azurewebsites.net/Clusters/Pyramid.jpg" bor=
der=3D"0"></a></p><div style=3D"text-align: left;"><br></div><p class=3D"se=
parator" style=3D"text-align: left; clear: both;"><font color=3D"#000020"><=
br></font></p><div style=3D"text-align: left;">The most simple cluster is t=
he list, a replacement for the std::list:</div><div style=3D"text-align: le=
ft;"><br></div><div style=3D"text-align: left;"><a style=3D"background-colo=
r: transparent; border-bottom-color: rgb(17, 85, 204); border-bottom-style:=
none; border-bottom-width: 0px; border-image-outset: 0; border-image-repea=
t: stretch; border-image-slice: 100%; border-image-source: none; border-ima=
ge-width: 1; border-left-color: rgb(17, 85, 204); border-left-style: none; =
border-left-width: 0px; border-right-color: rgb(17, 85, 204); border-right-=
style: none; border-right-width: 0px; border-top-color: rgb(17, 85, 204); b=
order-top-style: none; border-top-width: 0px; color: rgb(17, 85, 204); curs=
or: text; font-family: &quot;Arial&quot;,&quot;Helvetica&qu=
ot;,sans-serif; font-size: 13px; font-style: normal; font-variant: normal; =
font-weight: 400; letter-spacing: normal; margin-bottom: 0px; margin-left: =
13px; margin-right: 13px; margin-top: 0px; orphans: 2; padding-bottom: 0px;=
padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;=
text-decoration: none; text-indent: 0px; text-transform: none; -webkit-tex=
t-stroke-width: 0px; white-space: normal; word-spacing: 0px;" href=3D"http:=
//svenbieg.azurewebsites.net/Clusters/List/List.jpg" imageanchor=3D"1"><img=
style=3D"border-bottom-color: rgb(17, 85, 204); border-bottom-style: none;=
border-bottom-width: 0px; border-image-outset: 0; border-image-repeat: str=
etch; border-image-slice: 100%; border-image-source: none; border-image-wid=
th: 1; border-left-color: rgb(17, 85, 204); border-left-style: none; border=
-left-width: 0px; border-right-color: rgb(17, 85, 204); border-right-style:=
none; border-right-width: 0px; border-top-color: rgb(17, 85, 204); border-=
top-style: none; border-top-width: 0px; margin-bottom: 0px; margin-left: 0p=
x; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0=
px; padding-right: 0px; padding-top: 0px;" src=3D"http://svenbieg.azurewebs=
ites.net/Clusters/List/List.jpg" border=3D"0"></a><br>In the parentgroups t=
he number of entries is stored, so each entry can be accessed by its positi=
on.</div><div style=3D"text-align: left;">Also, the group with less entries=
is preferred when inserting.</div><div style=3D"text-align: left;">You can=
find benchmarks on my website at <a href=3D"http://svenbieg.azurewebsites.=
net/Clusters/List">http://svenbieg.azurewebsites.net/Clusters/List</a>.</di=
v><div style=3D"text-align: left;"><br></div><p class=3D"separator" style=
=3D"text-align: left; clear: both;"><font color=3D"#000020"><br></font></p>=
<div style=3D"text-align: left;">The next cluster is the index, which is a =
replacement for the std::map:</div><div style=3D"text-align: left;"><br></d=
iv><p class=3D"separator" style=3D"text-align: left; clear: both;"><a style=
=3D"margin-right: 1em; margin-left: 1em;" href=3D"http://svenbieg.azurewebs=
ites.net/Clusters/Index/Index.jpg" imageanchor=3D"1"><img src=3D"http://sve=
nbieg.azurewebsites.net/Clusters/Index/Index.jpg" border=3D"0"></a></p><div=
style=3D"text-align: left;">Each parentgroup stores the number of entries,=
so each entry can be accessed by its position.<br></div><div>Also, the gro=
up with less entries is preferred when inserting. The first and the last en=
try are referenced,</div><div>so each entry can be accessed by its id, and =
new entries can be inserted in the right position.</div><div>You can find b=
enchmarks on my website at <a href=3D"http://svenbieg.azurewebsites.net/Clu=
sters/Index">http://svenbieg.azurewebsites.net/Clusters/Index</a>.</div><di=
v><br></div><div>I hope my solution will make it into the standard-library,=
it is faster and consumes less memory.</div><div><br></div><div>Best regar=
ds,</div><div><br></div><div>Sven Bieg</div><div><font color=3D"#000020"><b=
r></font></div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/3af6aee0-9b64-46ef-8345-bd7044249cb8%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/3af6aee0-9b64-46ef-8345-bd7044249cb8=
%40isocpp.org</a>.<br />
------=_Part_3592_1815113156.1509227455278--
------=_Part_3591_1692667338.1509227455278--
.
Author: Magnus Fromreide <magfr@lysator.liu.se>
Date: Sun, 29 Oct 2017 00:15:33 +0200
Raw View
On Sat, Oct 28, 2017 at 02:50:55PM -0700, svenbieg@web.de wrote:
>
>
> Hello Mr. and Mrs.,
>
>
> i have written an algorithm which can order and sort large numbers of items.
>
> It creates a directory-tree in form of a pyramid, moving entries and groups
> accordingly.
>
> I provide the algorithm in form of c++-templates via
> http://github.com/svenbieg/Clusters.
>
> You can find further Information on my website at
> http://svenbieg.azurewebsites.net/Clusters.
This sounds like B-trees.
> <http://svenbieg.azurewebsites.net/Clusters/Pyramid.jpg>
>
> The most simple cluster is the list, a replacement for the std::list:
>
> <http://svenbieg.azurewebsites.net/Clusters/List/List.jpg>
> In the parentgroups the number of entries is stored, so each entry can be
> accessed by its position.
> Also, the group with less entries is preferred when inserting.
> You can find benchmarks on my website at
> http://svenbieg.azurewebsites.net/Clusters/List.
How does it handle the splice operation with non-movable non-copyable data?
> The next cluster is the index, which is a replacement for the std::map:
>
> <http://svenbieg.azurewebsites.net/Clusters/Index/Index.jpg>
> Each parentgroup stores the number of entries, so each entry can be
> accessed by its position.
> Also, the group with less entries is preferred when inserting. The first
> and the last entry are referenced,
> so each entry can be accessed by its id, and new entries can be inserted in
> the right position.
> You can find benchmarks on my website at
> http://svenbieg.azurewebsites.net/Clusters/Index.
>
> I hope my solution will make it into the standard-library, it is faster and
> consumes less memory.
If it have better guarantees for speed and memory usage for all sizes of
containers and usage patterns then I suppose it could be interesting for an
implementation of the standard library but this is not something to write to
this group about, I would suggest either some journal on computer science or
an library implementation.
/MF
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/20171028221533.GB4483%40fukushima.lysator.liu.se.
.
Author: svenbieg@web.de
Date: Sat, 28 Oct 2017 15:32:31 -0700 (PDT)
Raw View
------=_Part_3637_1198948153.1509229952093
Content-Type: multipart/alternative;
boundary="----=_Part_3638_1181050033.1509229952093"
------=_Part_3638_1181050033.1509229952093
Content-Type: text/plain; charset="UTF-8"
No B-Tree:
The entries are stored in Groups.
The size of the groups is limited and 100 by default.
If the group is full, a parentgroup is created. This parentgroup references
the first and the last entry when sorting.
The first and the last entry can be moved to the neighbour-group.
The entries are moved between the groups, so all groups get as full as
possible.
The number of groups is limited too, another parentgroup is created.
If an entry needs to be inserted in a full group, a whole subtree can be
moved.
The groups are small, 100 entries by default, so only small portions have
to be moved.
It is a future-proposal, so it is the right place i think. Maybe a Team can
build a standard-implementation.
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/b70f1505-95b9-4d85-a44c-efeb633545e6%40isocpp.org.
------=_Part_3638_1181050033.1509229952093
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div>No B-Tree:</div><div><br></div><div><span style=3D"di=
splay: inline !important; float: none; background-color: transparent; color=
: rgb(0, 0, 0); font-family: "Segoe UI"; font-size: 16px; font-st=
yle: normal; font-variant: normal; font-weight: 400; letter-spacing: normal=
; orphans: 2; text-align: left; text-decoration: none; text-indent: 0px; te=
xt-transform: none; -webkit-text-stroke-width: 0px; white-space: normal; wo=
rd-spacing: 0px;">
</span></div><div><table style=3D"background-color: transparent; border-col=
lapse: collapse; color: rgb(0, 0, 0); font-family: &quot;Segoe UI&q=
uot;; font-size: 16px; font-style: normal; font-variant: normal; font-weigh=
t: 400; letter-spacing: normal; orphans: 2; text-align: left; text-decorati=
on: none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width=
: 0px; white-space: normal; width: 600px; word-spacing: 0px;">
<tbody style=3D"border-collapse: collapse;"><tr style=3D"border-collapse:=
collapse;">
<td class=3D"img" style=3D"padding-bottom: 0px; padding-left: 0px; padd=
ing-right: 0px; padding-top: 0px; text-align: right;"><img style=3D"padding=
-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text=
-align: right;" src=3D"http://svenbieg.azurewebsites.net/Clusters/Group.png=
"></td>
<td class=3D"txt" style=3D"padding-bottom: 0px; padding-left: 16px; pad=
ding-right: 0px; padding-top: 0px;"><div><span style=3D"border-collapse: co=
llapse;">The entries are stored in Groups.</span><span style=3D"border-coll=
apse: collapse;"></span></div></td>
</tr>
<tr style=3D"border-collapse: collapse;"><td class=3D"space" style=3D"hei=
ght: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; paddi=
ng-top: 0px; width: 86px;"></td></tr>
<tr style=3D"border-collapse: collapse;">
<td class=3D"img" style=3D"padding-bottom: 0px; padding-left: 0px; padd=
ing-right: 0px; padding-top: 0px; text-align: right;"><img style=3D"padding=
-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text=
-align: right;" src=3D"http://svenbieg.azurewebsites.net/Clusters/GroupFull=
..png"></td>
<td class=3D"txt" style=3D"padding-bottom: 0px; padding-left: 16px; pad=
ding-right: 0px; padding-top: 0px;"><span style=3D"border-collapse: collaps=
e;">The size of the groups is limited and 100 by default.</span></td>
</tr>
<tr style=3D"border-collapse: collapse;"><td class=3D"space" style=3D"hei=
ght: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; paddi=
ng-top: 0px; width: 86px;"></td></tr>
<tr style=3D"border-collapse: collapse;">
<td class=3D"img" style=3D"padding-bottom: 0px; padding-left: 0px; padd=
ing-right: 0px; padding-top: 0px; text-align: right;"><img style=3D"padding=
-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text=
-align: right;" src=3D"http://svenbieg.azurewebsites.net/Clusters/ParentGro=
up.png"></td>
<td class=3D"txt" style=3D"padding-bottom: 0px; padding-left: 16px; pad=
ding-right: 0px; padding-top: 0px;"><span style=3D"border-collapse: collaps=
e;">If the group is full, a parentgroup is created. This parentgroup refere=
nces the first and the last entry when sorting.</span></td>
</tr>
<tr style=3D"border-collapse: collapse;"><td class=3D"space" style=3D"hei=
ght: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; paddi=
ng-top: 0px; width: 86px;"></td></tr>
<tr style=3D"border-collapse: collapse;">
<td class=3D"img" style=3D"padding-bottom: 0px; padding-left: 0px; padd=
ing-right: 0px; padding-top: 0px; text-align: right;"><img style=3D"padding=
-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text=
-align: right;" src=3D"http://svenbieg.azurewebsites.net/Clusters/ParentGro=
up1.png"></td>
<td class=3D"txt" style=3D"padding-bottom: 0px; padding-left: 16px; pad=
ding-right: 0px; padding-top: 0px;"><span style=3D"border-collapse: collaps=
e;">The first and the last entry can be moved to the neighbour-group.</span=
></td>
</tr>
<tr style=3D"border-collapse: collapse;"><td class=3D"space" style=3D"hei=
ght: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; paddi=
ng-top: 0px; width: 86px;"></td></tr>
<tr style=3D"border-collapse: collapse;">
<td class=3D"img" style=3D"padding-bottom: 0px; padding-left: 0px; padd=
ing-right: 0px; padding-top: 0px; text-align: right;"><img style=3D"padding=
-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text=
-align: right;" src=3D"http://svenbieg.azurewebsites.net/Clusters/ParentGro=
up2.png"></td>
<td class=3D"txt" style=3D"padding-bottom: 0px; padding-left: 16px; pad=
ding-right: 0px; padding-top: 0px;"><span style=3D"border-collapse: collaps=
e;">The entries are moved between the groups, so all groups get as full as =
possible.</span></td>
</tr>
<tr style=3D"border-collapse: collapse;"><td class=3D"space" style=3D"hei=
ght: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; paddi=
ng-top: 0px; width: 86px;"></td></tr>
<tr style=3D"border-collapse: collapse;">
<td class=3D"img" style=3D"padding-bottom: 0px; padding-left: 0px; padd=
ing-right: 0px; padding-top: 0px; text-align: right;"><img style=3D"padding=
-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text=
-align: right;" src=3D"http://svenbieg.azurewebsites.net/Clusters/Level2Gro=
up.png"></td>
<td class=3D"txt" style=3D"padding-bottom: 0px; padding-left: 16px; pad=
ding-right: 0px; padding-top: 0px;"><span style=3D"border-collapse: collaps=
e;">The number of groups is limited too, another parentgroup is created.</s=
pan></td>
</tr>
<tr style=3D"border-collapse: collapse;"><td class=3D"space" style=3D"hei=
ght: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; paddi=
ng-top: 0px; width: 86px;"></td></tr>
<tr style=3D"border-collapse: collapse;">
<td class=3D"img" style=3D"padding-bottom: 0px; padding-left: 0px; padd=
ing-right: 0px; padding-top: 0px; text-align: right;"><img style=3D"padding=
-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text=
-align: right;" src=3D"http://svenbieg.azurewebsites.net/Clusters/Level2Gro=
up1.png"></td>
<td class=3D"txt" style=3D"padding-bottom: 0px; padding-left: 16px; pad=
ding-right: 0px; padding-top: 0px;"><span style=3D"border-collapse: collaps=
e;">If an entry needs to be inserted in a full group, a whole subtree can b=
e moved.</span></td>
</tr>
</tbody></table></div><div><span style=3D"display: inline !important; float=
: none; background-color: transparent; color: rgb(0, 0, 0); font-family: &q=
uot;Segoe UI"; font-size: 16px; font-style: normal; font-variant: norm=
al; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left;=
text-decoration: none; text-indent: 0px; text-transform: none; -webkit-tex=
t-stroke-width: 0px; white-space: normal; word-spacing: 0px;"></span><b></b=
><i></i><u></u><sub></sub><sup></sup><strike></strike>The groups are small,=
100 entries by default, so only small portions have to be moved.</div><div=
>It is a future-proposal, so it is the right place i think. Maybe a Team ca=
n build a standard-implementation.<br></div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/b70f1505-95b9-4d85-a44c-efeb633545e6%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/b70f1505-95b9-4d85-a44c-efeb633545e6=
%40isocpp.org</a>.<br />
------=_Part_3638_1181050033.1509229952093--
------=_Part_3637_1198948153.1509229952093--
.