Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

I have just read the following about Rust programming language

17 views
Skip to first unread message

Horizon68

unread,
Jan 21, 2019, 2:56:36 PM1/21/19
to
Hello...


I have just read the following about Rust programming language:

"What I’m going to discuss here is the choice made in Rust to disallow
having multiple mutable aliases to the same data (or a mutable alias
when there are active immutable aliases), even from the same thread.
This is essentially the “Read-Write lock” (RWLock) pattern, except it’s
not being used in a threaded context, and the “locks” are done via
static analysis (compile time “borrow checking”)."

Read more here:

https://manishearth.github.io/blog/2015/05/17/the-problem-with-shared-mutability/

So as you are noticing that to avoid race conditions etc. Rust is
using the Read-Write lock (RWLock) pattern , but i think this is not a
fine-grained parallelism, so with the Read-Write lock (RWLock) pattern
of Rust you are loosing fine-grained parallelism that gives
much more parallelism.

Also about Memory safety of Rust , we know that Memory safety that is
the state of being protected from various software bugs and security
vulnerabilities when dealing with memory access, such as buffer
overflows and dangling pointers. And as you have noticed i think i have
solved the problem of dangling pointers and i have solved the problem of
memory leaks by "inventing" a reference counting with efficient support
of weak references that is "scalable", and i think that this invention
of mine is the only one that you will find, and you will not find it in
C++ and you will not find it in Rust. Read about it in the following:


My new "invention" that is an enhanced fully scalable algorithm is
finished and is coming soon..

I have just enhanced "much" more my "invention" of a scalable algorithm
of a scalable reference counting with efficient support for weak
references, i think i am the only one who has invented this scalable
algorithm, because it is the only one who is suited for non-garbage
collecting languages such as C++ and Rust and Delphi, and i have just
made my enhanced algorithm fully scalable on manycores and multicores
and NUMA systems by using a clever scalable algorithm, so i think i will
"sell" my new invention that is my enhanced scalable reference counting
algorithm with efficient support for weak references and its
implementation to Microsoft or to Google or to Intel or Embarcadero

And about memory safety and memory leaks in programming languages..

Memory safety is the state of being protected from various software bugs
and security vulnerabilities when dealing with memory access, such as
buffer overflows and dangling pointers.

I am also working with Delphi and FreePascal and C++, and as you have
noticed i have invented a scalable reference counting with efficient
support for weak references that is really powerful, read about it and
download it from here(it is the Delphi and FreePascal implementation):

https://sites.google.com/site/scalable68/scalable-reference-counting-with-efficient-support-for-weak-references

And you have to understand that this invention of mine solves
the problem of dangling pointers and it solves the problem of memory
leaks and this reference counting of mine is also "scalable", and i
think that this invention of mine is the only one that you will find,
and you will not find it in C++ and you will not find it in Rust.

Also Delphi and FreePascal detect the out of bounds in arrays and
strings like this by making range checks enabled:

In the {$R+} state, all array and string-indexing expressions are
verified as being within the defined bounds, and all assignments to
scalar and subrange variables are checked to be within range. **If a
range check fails, an ERangeError exception is raised (or the program is
terminated if exception handling is not enabled).

Range Checks is OFF by default. To enable it, you can add this directive
to your code:

{$RANGECHECKS ON}

You can use also generic (template) style containers for bound checking,
my following writing to understand more:

About C++ and Delphi and FreePascal generic (template) style containers..

Generics.Collections of Delphi and FreePascal for generic (template)
style containers that you can download from here:

https://github.com/maciej-izak/generics.collections

TList of Generics.Collections of Delphi and FreePascal is implemented
the same as STL C++ Vectors: they are array-based. And since data
structureS are the same then also performance should be comparable.

So I've done a small test between Tlist of Generics.Collections of
Delphi and FreePascal and C++ vector, it's an addition of 3000000
records of 16 byte length, in one loop, here is the results:

Tlist time = 344ms
Vector time = 339ms

It seems they are the same, the test use only the function ( List.add ,
vector.push_back).

STL vectors with the at() and Delphi TList of Generics.Collections of
Delphi and FreePascal perform bounds checking.


So i think that with my invention above and with all my other inventions
that are my scalable algorithms and there implementations and such in
C++ and Delphi and FreePascal that you will find
in my following website, Delphi and FreePascal have become powerful:

https://sites.google.com/site/scalable68/



Thank you,
Amine Moulay Ramdane.
0 new messages