English Amiga Board


Go Back   English Amiga Board > Main > Amiga scene

 
 
Thread Tools
Old 02 August 2015, 15:53   #181
meynaf
son of 68k
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 44
Posts: 2,459
Quote:
Originally Posted by Mrs Beanbag View Post
but more horsepower means more powerful applications will also be developed. These will naturally be more complex. Yes they will! And that doesn't mean bloat!

Allow me to give a specific example... if you have, for instance, some table to look up some strings. If it is only a few strings, you can just scan through the list in a linear way and it won't be too slow. But if you have thousands, tens of thousands of strings... because there is more memory, and more hard disk space, and bigger files that people are creating. The faster CPU can only compensate so much, but it is worth implementing instead some kind of binary search tree - and maybe it would be better if you could make sure it was well-balanced (red black tree, for instance). Or maybe you choose instead some kind of hash map. This makes the code better performing with large sets of data, but it also means more code, and more complex code, which is more difficult to ensure there are no bugs. Especially in tree structures with nodes on the heap.

Sometimes you just want to do something that an old Amiga can't realistically do. Lately i've been implementing boolean operations on 3 dimensional solids. Getting this to run accurately enough in reasonable time involves data structure acrobatics, there are so many different concepts involved. I even had to hand-roll a bignum class. It seems pretty stable now, but i can't be entirely sure some weird combination of shapes won't crash it. It'll get even more complex when i optimise it.
And ? What do you intend to prove here ?
There is nothing an Amiga can't do, given enough power. But the same task needs less complexity.


Quote:
Originally Posted by Mrs Beanbag View Post
yeah it would be unexpected... it would also be the Kernel's fault, so i'd expect it to get fixed. If it is a user-mode app that is no longer maintained, tough luck.
If the kernel itself is no longer maintained, tough luck as well.
However, on the Amiga if support stops you're not dead - fixes can still come because the machine is open.


Quote:
Originally Posted by Mrs Beanbag View Post
The scariest crash i've ever made my Amiga do, by the way (while developing in asm), it caused a Guru, and when it reset it came up "Insert volume DH0 in any drive"! And it wouldn't go away on reset, i had to switch off at the mains! I was having kittens at this point, but thankfully no permanent damage was done... but i had to power off for some time, amazingly the fault even survived the first power cycle.
Well, basically you had an invalidation. Pretty much harmless for a scariest crash.
I've seen a pc laptop just die because its battery got empty while a write disk access was being made - this is what you get for complicated systems that constantly hit the disk.


Quote:
Originally Posted by Mrs Beanbag View Post
it proves one thing though, that the Amiga's simplicity doesn't guarantee it can't be hacked.
The fact it could be done in the past - and i might add that i have not seen it so i must trust some gossip here - doesn't prove it can be done today.

Now, all the security stuff on todays machines don't prove they can't be hacked either.

But instead of talk, talk, talk, PROVE IT. If an "unprotected" machine is so easy to hack, just do it. That is the ONLY PROOF there can be.


Quote:
Originally Posted by Mrs Beanbag View Post
I think the point is, that no-one would market it for general home consumer use, like the Amiga was back in its own day.
And ? Be realistic, it has no chance to become mainstream.
Did i say somewhere that i intended the machine to be for general home consumer use ? Did i say somewhere that i'd force anyone do disable that damned mp, or that disabling it would be an easy task available for the novice ?


Quote:
Originally Posted by vxm View Post
That is not the issue. What matters is that you are the devil's advocate because you practice proselytism. I am sure that your light switches are still not powered by an MMU and therefore without memory protection.
I'm not doing proselytism. I'm just describing what i'd like to have, and people have come here to aggress me. Sounds more and more religious.


There are many reasons to have an open system : you may want to bang the metal for the fun of it, for learning, maybe for manual system maintenance.
Simply forbidding this, is just stupid.
I am not a user on my machine, i am the owner of it. If you want to just be a user, fine with you. Just bear that it might be different for me.

Remember : i do not force anyone to disable mp.
meynaf is offline  
AdSense AdSense  
Old 02 August 2015, 15:54   #182
Thorham
Computer Nerd

Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 41
Posts: 2,972
Quote:
Originally Posted by Mrs Beanbag View Post
Or maybe you choose instead some kind of hash map. This makes the code better performing with large sets of data, but it also means more code, and more complex code, which is more difficult to ensure there are no bugs. Especially in tree structures with nodes on the heap.
A hash table is hardly complicated. Not a good example. The difference in code complexity for string compares VS hash table is quite small.

Quote:
Originally Posted by Mrs Beanbag View Post
Sometimes you just want to do something that an old Amiga can't realistically do. Lately i've been implementing boolean operations on 3 dimensional solids.
Weren't Amigas doing that in the '90s with Real3D V3?
Thorham is offline  
Old 02 August 2015, 16:36   #183
Mrs Beanbag
Glastonbridge Software
Mrs Beanbag's Avatar
 
Join Date: Jan 2012
Location: Edinburgh/Scotland
Posts: 2,202
Quote:
Originally Posted by meynaf View Post
And ? What do you intend to prove here ?
There is nothing an Amiga can't do, given enough power. But the same task needs less complexity
that sometimes you need a complex program (complex data structures and algorithms) to perform a task, especially if performance is an issue.

The same task could be done with less complexity, bubble sort is less complex than heap sort for instance, but it is not as fast. If you are working on large sets of data, you need the complexity to deal with it... or wait all day for your results.

And sometimes a task really *can't* be done with less complexity. Sorting is a simple task with more or less complex ways to do it. Some problems are just complex problems.

Quote:
If the kernel itself is no longer maintained, tough luck as well.
However, on the Amiga if support stops you're not dead - fixes can still come because the machine is open.
True, i fully encourage Open Source operating systems. But as long as it is maintained, one OS fix sorts out all past, present and future manifestations of that vulnerability in all other software. If you had to patch every single software that had a bug it would be very inconvenient. It centralises it. Hypothetically we are talking about a currently supported OS. Anyway i generally expect better code quality from an OS than i do from other software simply because of how much rides on it. They have reliability as a high priority, i would hope.

Quote:
Well, basically you had an invalidation. Pretty much harmless for a scariest crash.
I've seen a pc laptop just die because its battery got empty while a write disk access was being made - this is what you get for complicated systems that constantly hit the disk.
(i was talking about scariest Amiga crash from my own asm-coding, not scariest ever.)
True, and things can be left inconsistent if disks are turned off without being synced, at least Amiga doesn't have that problem, but it is done for performance reasons i gathered. There exist less fragile file system designs now but when power is lost unexpectedly Windows still makes a terrible fuss about it (happened at work a while back, and it had to check the entire filesystem, taking hours for some reason). Then again why exactly DO PCs access the disk so much? I know there is a lot of logging going on. Maybe it's worth investigating how much could be eliminated. I did mount /tmp &c as ram drives already.

Quote:
The fact it could be done in the past - and i might add that i have not seen it so i must trust some gossip here - doesn't prove it can be done today.
Maybe not but if so it's not because the Amiga got any simpler!

Quote:
And ? Be realistic, it has no chance to become mainstream.
Did i say somewhere that i intended the machine to be for general home consumer use ?
This is the point of the thread, isn't it? Why don't we have computers like Amiga now?

I say it is because of such a proliferation of online threats, as well as increasingly complex software (bloatware or otherwise), and higher expectations of operating systems generally in terms of security from external threats and internal accidents. People no longer expect a bug in one program to cause a reboot. People expect their OS to be as robust and secure as people know how to make them. That means sacrificing efficiency, but silicon is cheap and people don't mind making that trade-off.
Mrs Beanbag is offline  
Old 02 August 2015, 16:46   #184
Mrs Beanbag
Glastonbridge Software
Mrs Beanbag's Avatar
 
Join Date: Jan 2012
Location: Edinburgh/Scotland
Posts: 2,202
Quote:
Originally Posted by Thorham View Post
A hash table is hardly complicated. Not a good example. The difference in code complexity for string compares VS hash table is quite small.
Ok it's not super-complicated, but it's at least as complicated, since you've got to do a full string comparison anyway to ensure you got a match. Then you've got to deal with hash collisions and rehashing strategies, also choice of hash function.

Quote:
Weren't Amigas doing that in the '90s with Real3D V3?
*looks this up*

ok, from v2, but it looks like they're doing "CSG" between geometric primitives, like Povray does (also on Amiga!), and during rendering?

http://www.realsoft.com/history/
Quote:
For example, a sphere was not defined by a two dimensional surface but a set of points whose distance from the center of the sphere was within the radius of the sphere. In addition of "inserting" new geometric objects into the scene to be simulated, the user could now also use geometric objects to "remove" matter from the virtual universe. The program was finally capable to model complex shapes like this guitar on the left. This hierarchical CSG - Constructive Solid Geometry approach, as it is called these days, is still an essential feature in the software.
i'm talking about booleans between triangle meshes (i.e. boundary surface representation), in real time. If you don't think that is a complex task, you try doing it.

(For whatever reason, computation geometry seems to distinguish boolean operations and CSG these days, at least in the literature i've been reading)
Mrs Beanbag is offline  
Old 02 August 2015, 17:16   #185
meynaf
son of 68k
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 44
Posts: 2,459
Quote:
Originally Posted by Mrs Beanbag View Post
that sometimes you need a complex program (complex data structures and algorithms) to perform a task, especially if performance is an issue.

The same task could be done with less complexity, bubble sort is less complex than heap sort for instance, but it is not as fast. If you are working on large sets of data, you need the complexity to deal with it... or wait all day for your results.

And sometimes a task really *can't* be done with less complexity. Sorting is a simple task with more or less complex ways to do it. Some problems are just complex problems.
When i mean less complex, i mean for the exact same work, exact same algorithm.


Quote:
Originally Posted by Mrs Beanbag View Post
(i was talking about scariest Amiga crash from my own asm-coding, not scariest ever.)
True, and things can be left inconsistent if disks are turned off without being synced, at least Amiga doesn't have that problem, but it is done for performance reasons i gathered. There exist less fragile file system designs now but when power is lost unexpectedly Windows still makes a terrible fuss about it (happened at work a while back, and it had to check the entire filesystem, taking hours for some reason). Then again why exactly DO PCs access the disk so much? I know there is a lot of logging going on. Maybe it's worth investigating how much could be eliminated. I did mount /tmp &c as ram drives already.
Hint : peecees started hitting the disk constantly at the same time they started to have memory protection.


Quote:
Originally Posted by Mrs Beanbag View Post
Maybe not but if so it's not because the Amiga got any simpler!
Of course but it was probably quite easy to fix, and don't forget that it worked on MUI - one of the most complex software we have.


Quote:
Originally Posted by Mrs Beanbag View Post
This is the point of the thread, isn't it? Why don't we have computers like Amiga now?

I say it is because of such a proliferation of online threats, as well as increasingly complex software (bloatware or otherwise), and higher expectations of operating systems generally in terms of security from external threats and internal accidents. People no longer expect a bug in one program to cause a reboot. People expect their OS to be as robust and secure as people know how to make them. That means sacrificing efficiency, but silicon is cheap and people don't mind making that trade-off.
What you describe here isn't the root cause, but rather a consequence.
meynaf is offline  
Old 02 August 2015, 17:46   #186
Mrs Beanbag
Glastonbridge Software
Mrs Beanbag's Avatar
 
Join Date: Jan 2012
Location: Edinburgh/Scotland
Posts: 2,202
Quote:
Originally Posted by meynaf View Post
When i mean less complex, i mean for the exact same work, exact same algorithm.
ok, but now i'm puzzled... how is that so? Apart from that m68k is so much nicer, i would certainly rather implement any algorithm in m68k asm than in x86 asm. But if it is only pure computation, and not interactions with the OS, surely there can be no difference? Or you mean, the same computation can be done on a less complex OS?

Quote:
Hint : peecees started hitting the disk constantly at the same time they started to have memory protection.
you mean at the same time they started having an MMU... which can do not only memory protection, but virtual memory. Windows did seem to like using swap space a lot. Having more RAM helps. Feel free also to blame bloatware at this point (which i don't deny exists).

i just ran ioctl on my (Linux) PC. The biggest culprit for occasional HDD access was Firefox. After i closed that and Thunderbird (the only things running), there was no disk activity at all. I guess mounting /tmp and /var/tmp as ram filesystems makes a difference.

Quote:
Of course but it was probably quite easy to fix, and don't forget that it worked on MUI - one of the most complex software we have.
Points to note:
* Amiga became more secure after software update
* One of the most complex software had a bug

Usually these things are simple to fix. They are just situations nobody thought of, because you can't think of everything. The more complex the code is, the more things there are to think about. Also i just remembered the things i was thinking about last night, that being the perils of development by teams.

Sometimes what you get is two bugs, that are very simple to fix individually, and are by appearance quite unrelated, but it turns out fixing both at once requires a little more care. The problem is, each bug was assigned to a different person...

We also had on our team once, a guy who was from a military embedded systems background. He was a disciplined coder, and he knew his stuff, and he'd write some fix and one of us would review it, and it would be very nice and neat and logical, and simple and clear and easy to understand. And we'd go "yeah, that all makes sense". And it would get pushed. And it would break everything. And there would be "oops" and red faces.

There exist competitions for writing this sort of code.

Quote:
What you describe here isn't the root cause, but rather a consequence.
It's a good old chicken-and-egg scenario.
Mrs Beanbag is offline  
Old 02 August 2015, 18:08   #187
Pyromania
Moderator

Pyromania's Avatar
 
Join Date: Jan 2002
Location: Chicago, IL
Posts: 1,785
Make AmigaOS work on a Quantum Computer and then you will have your spiffy new all knowing, all powerful Amiga again.



Amen
Pyromania is offline  
Old 02 August 2015, 18:18   #188
Thorham
Computer Nerd

Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 41
Posts: 2,972
Quote:
Originally Posted by Mrs Beanbag View Post
Ok it's not super-complicated, but it's at least as complicated, since you've got to do a full string comparison anyway to ensure you got a match. Then you've got to deal with hash collisions and rehashing strategies, also choice of hash function.
It's not complicated, period, unless I'm missing something.

Quote:
Originally Posted by Mrs Beanbag View Post
i'm talking about booleans between triangle meshes (i.e. boundary surface representation)
You said solids (Real3D!) before

Quote:
Originally Posted by Mrs Beanbag View Post
If you don't think that is a complex task, you try doing it.
Didn't say it's not complex, you said Amiga can't realistically do it, and it appears it can.

Turing complete machines can do everything that's computable as long as they have enough memory. Whether or not they can do it fast enough is a different matter. Means an Intel 4004 with enough memory can emulate an I7 at the transistor level. Useless, but it can do it.
Thorham is offline  
Old 02 August 2015, 18:30   #189
Mrs Beanbag
Glastonbridge Software
Mrs Beanbag's Avatar
 
Join Date: Jan 2012
Location: Edinburgh/Scotland
Posts: 2,202
Quote:
Originally Posted by Thorham View Post
It's not complicated, period, unless I'm missing something.
it's not exactly head-bending, but it takes a lot more code than a simple array and a linear search. you're not arguing about the R/B Tree though i see!
(one day i want to try out my Merkle Tree idea...)

Quote:
You said solids (Real3D!) before
yeah... boundary representation of solids (BREP).
https://en.wikipedia.org/wiki/Boundary_representation

Quote:
Didn't say it's not complex, you said Amiga can't realistically do it, and it appears it can.
well ok, i was a little careless there. it CAN. but it would take hours rather than seconds. especially with the number of triangles we're dealing with (a few thousand to represent a sphere).

Last edited by Mrs Beanbag; 02 August 2015 at 18:36.
Mrs Beanbag is offline  
Old 02 August 2015, 18:46   #190
Thorham
Computer Nerd

Thorham's Avatar
 
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 41
Posts: 2,972
Quote:
Originally Posted by Mrs Beanbag View Post
it's not exactly head-bending, but it takes a lot more code than a simple array and a linear search.
A plain hash table based string table search doesn't even take twice as much code as a plain string compare version, and that's not exactly a lot to begin with. Especially in C it's not much code at all. The basic hash table is a very simple data structure, after all. That's why it's a bad example for complexity.

Quote:
Originally Posted by Mrs Beanbag View Post
you're not arguing about the R/B Tree though i see!
I'm embarrassed to say I've never actually implemented a binary tree before Can't possibly complicated, though

Quote:
Originally Posted by Mrs Beanbag View Post
well ok, i was a little careless there. it CAN. but it would take hours rather than seconds. especially with the number of triangles we're dealing with (a few thousand to represent a sphere).
Hours? Is that stuff really that heavy?
Thorham is offline  
Old 02 August 2015, 19:13   #191
Mrs Beanbag
Glastonbridge Software
Mrs Beanbag's Avatar
 
Join Date: Jan 2012
Location: Edinburgh/Scotland
Posts: 2,202
Quote:
Originally Posted by Thorham View Post
A plain hash table based string table search doesn't even take twice as much code as a plain string compare version, and that's not exactly a lot to begin with. Especially in C it's not much code at all. The basic hash table is a very simple data structure, after all. That's why it's a bad example for complexity.
Well, it depends how basic. If it is a fixed size and you can guarantee no collisions, it is very simple. If it can dynamically grow, you have to think about different strategies. And just the hash function can range from simple to complex.

Quote:
I'm embarrassed to say I've never actually implemented a binary tree before Can't possibly complicated, though
A basic (naive) binary search tree is simple enough, but it has worst case performance of O(n^2) if you happen to insert things in alphabetical order, for instance. It's keeping it well balanced that is the dark art. And iterating over it (if you need to do so linearly, like standard template library does... recursion is obviously easy).

Quote:
Hours? Is that stuff really that heavy?
We can go off topic and discuss this if you like...

actually i'll send you a PM

but the long and the short of it is, yes, it's a pretty heavy calculation if you have a lot of triangles and you need it to be numerically stable (CAD level accuracy, not just visually good enough for games), and we need it to be interactive.
Mrs Beanbag is offline  
Old 02 August 2015, 19:46   #192
meynaf
son of 68k
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 44
Posts: 2,459
Quote:
Originally Posted by Mrs Beanbag View Post
ok, but now i'm puzzled... how is that so? Apart from that m68k is so much nicer, i would certainly rather implement any algorithm in m68k asm than in x86 asm. But if it is only pure computation, and not interactions with the OS, surely there can be no difference? Or you mean, the same computation can be done on a less complex OS?
You never have a program that's only pure computation. At one place or another, you have interactions with the OS.


Quote:
Originally Posted by Mrs Beanbag View Post
you mean at the same time they started having an MMU... which can do not only memory protection, but virtual memory. Windows did seem to like using swap space a lot. Having more RAM helps. Feel free also to blame bloatware at this point (which i don't deny exists).

i just ran ioctl on my (Linux) PC. The biggest culprit for occasional HDD access was Firefox. After i closed that and Thunderbird (the only things running), there was no disk activity at all. I guess mounting /tmp and /var/tmp as ram filesystems makes a difference.
Well, you can eventually redirect hd activity to some ram disk, it's nevertheless disk activity.


Quote:
Originally Posted by Mrs Beanbag View Post
Points to note:
* Amiga became more secure after software update
* One of the most complex software had a bug

Usually these things are simple to fix. They are just situations nobody thought of, because you can't think of everything. The more complex the code is, the more things there are to think about. Also i just remembered the things i was thinking about last night, that being the perils of development by teams.

Sometimes what you get is two bugs, that are very simple to fix individually, and are by appearance quite unrelated, but it turns out fixing both at once requires a little more care. The problem is, each bug was assigned to a different person...

We also had on our team once, a guy who was from a military embedded systems background. He was a disciplined coder, and he knew his stuff, and he'd write some fix and one of us would review it, and it would be very nice and neat and logical, and simple and clear and easy to understand. And we'd go "yeah, that all makes sense". And it would get pushed. And it would break everything. And there would be "oops" and red faces.

There exist competitions for writing this sort of code.
I could give my own stories about team development, but during all that time i'm still waiting for someone to hack my amiga config.


Quote:
Originally Posted by Mrs Beanbag View Post
It's a good old chicken-and-egg scenario.
The egg came first
meynaf is offline  
Old 02 August 2015, 19:55   #193
Mrs Beanbag
Glastonbridge Software
Mrs Beanbag's Avatar
 
Join Date: Jan 2012
Location: Edinburgh/Scotland
Posts: 2,202
Quote:
Originally Posted by meynaf View Post
You never have a program that's only pure computation. At one place or another, you have interactions with the OS.
well... ok... but it's the computation part of the user program that might necessarily be complex, and... does anybody remember the point of this conversation?

i think it was that sometimes you need complex algorithms and data structures. of course you don't need to have a complex operating system to write a complex user program. but if you have a computer with a lot of resources, someone will probably find a use for a complex program, and the more complex the program the more likely it is to have unexpected bugs in it.

If the operating system is simple, great! Make it as simple as you can, but no simpler... a simple OS that is unlikely to have bugs, to protect us from complex software that is highly likely to have bugs. That sounds nice.

Quote:
Well, you can eventually redirect hd activity to some ram disk, it's nevertheless disk activity.
i feel there is a word game going on here.

if the system is writing to ram disk when it unexpectedly loses power, it's not going to corrupt my physical disk, is it?

Quote:
I could give my own stories about team development, but during all that time i'm still waiting for someone to hack my amiga config.
well i have to keep you distracted, remember!
Mrs Beanbag is offline  
Old 02 August 2015, 20:28   #194
modrobert
old bearded fool

modrobert's Avatar
 
Join Date: Jan 2010
Location: Bangkok
Age: 50
Posts: 425
On the topic of "bare metal" without any protection where even disk blocks can be edited on the fly bypassing any file system.

TempleOS: Grand Tour
[ Show youtube player ]

The guy is clearly an "original", and it takes some patience to comprehend the genius. I was inspired by his coding ideas regarding how an OS should be.

A compiler built like an OS where home is a debugger, and it has the appeal of a playground...impressive! Can I play too?

Last edited by modrobert; 02 August 2015 at 20:39.
modrobert is offline  
Old 02 August 2015, 20:44   #195
meynaf
son of 68k
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 44
Posts: 2,459
Quote:
Originally Posted by Mrs Beanbag View Post
well... ok... but it's the computation part of the user program that might necessarily be complex, and... does anybody remember the point of this conversation?

i think it was that sometimes you need complex algorithms and data structures. of course you don't need to have a complex operating system to write a complex user program. but if you have a computer with a lot of resources, someone will probably find a use for a complex program, and the more complex the program the more likely it is to have unexpected bugs in it.

If the operating system is simple, great! Make it as simple as you can, but no simpler... a simple OS that is unlikely to have bugs, to protect us from complex software that is highly likely to have bugs. That sounds nice.
Well, did you know... the "complex algorithm" is often a small part of the overall code. In complex systems, most code is for system specific stuff (e.g. ui), not bare computations.

Furthermore, the used programming language - independently of the compiler's quality - may also be responsible of a lot of additionnal code.
If you code in c, your code will be more complex than with asm. If you use OOP, then even more complex.

I may also add that the coding style sometimes does more than everything else united...

If you want we may try to find a concrete example, coded in various ways, and see how big the differences are. Must have some complexity, not too high. Ready ?


Quote:
Originally Posted by Mrs Beanbag View Post
i feel there is a word game going on here.

if the system is writing to ram disk when it unexpectedly loses power, it's not going to corrupt my physical disk, is it?
The physical disk corruption was just an example. The main problem is the incredible high disk activity in everyday use. Hiding it is meaningless, there is still activity that shouldn't be here.


Quote:
Originally Posted by Mrs Beanbag View Post
well i have to keep you distracted, remember!
Who gave you this mission ?
meynaf is offline  
Old 02 August 2015, 22:07   #196
Mrs Beanbag
Glastonbridge Software
Mrs Beanbag's Avatar
 
Join Date: Jan 2012
Location: Edinburgh/Scotland
Posts: 2,202
Quote:
Originally Posted by meynaf View Post
Well, did you know... the "complex algorithm" is often a small part of the overall code. In complex systems, most code is for system specific stuff (e.g. ui), not bare computations.
ok true, although we use platform-independent libraries for that. i don't know how inefficient those libraries are, but some of them are vastly over-specified for the simple things we use them for. which doesn't matter so much on Linux, because they can be shared with other things that use them, but on Windows we package up the DLLs...

but the general-purpose library (for GUI, 3D engine or whatnot) has to be able to cope with a broad range of use cases... and there are so many different ones that provide essentially the same features. Frankly i would like to dispense with the lot of them and re-implement them in house. In an ideal world there would be time and funding for that...

Quote:
Furthermore, the used programming language - independently of the compiler's quality - may also be responsible of a lot of additional code.
Yes indeed, i have been inspired to look up the executable size problem, if you include "iostream" in a C++ program it can add quite a lot to the object code size if it gets statically linked (which is apparently the default for some reason?) so if you have lots of object files presumably you end up with multiple copies of it.

Quote:
If you code in c, your code will be more complex than with asm. If you use OOP, then even more complex.
The machine code produced will be more complex maybe, but surely the source code will be simpler? Depends on definition of "complex" at this point.

RTTI adds class information (data) to the output. "Overhead free" exceptions also increase code size (trade off between code size and performance).

Quote:
If you want we may try to find a concrete example, coded in various ways, and see how big the differences are. Must have some complexity, not too high. Ready ?
Go!

Quote:
The physical disk corruption was just an example. The main problem is the incredible high disk activity in everyday use. Hiding it is meaningless, there is still activity that shouldn't be here.
That is a judgement... some people find log files useful. Would be nice to be able to turn them off though. But in my experience of running Linux it is not "incredibly high activity". User apps seems far worse than the OS anyway. (Edit: from what i'm reading right now, Firefox is one of the worst culprits...)

Quote:
Who gave you this mission ?
an angel on my shoulder... or was it the devil?

Last edited by Mrs Beanbag; 02 August 2015 at 22:30.
Mrs Beanbag is offline  
Old 02 August 2015, 22:07   #197
Michael Sykes
WinUAE end user

Michael Sykes's Avatar
 
Join Date: Jan 2014
Location: Bremen
Age: 38
Posts: 627
Quote:
Originally Posted by modrobert View Post
The guy is clearly an "original"...
....Can I play too?
Original is an understatement when it comes to this guy.
God himself told him how to build his OS.

And if you wann play,too - feel free to do so at: http://www.templeos.org/
Michael Sykes is offline  
Old 02 August 2015, 22:53   #198
meynaf
son of 68k
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 44
Posts: 2,459
Quote:
Originally Posted by Mrs Beanbag View Post
Yes indeed, i have been inspired to look up the executable size problem, if you include "iostream" in a C++ program it can add quite a lot to the object code size if it gets statically linked (which is apparently the default for some reason?) so if you have lots of object files presumably you end up with multiple copies of it.
Normally a good linker should be able to cope with that...


Quote:
Originally Posted by Mrs Beanbag View Post
The machine code produced will be more complex maybe, but surely the source code will be simpler? Depends on definition of "complex" at this point.
Alas the source code isn't always simpler... actually for OOP i might even say it's often, if not always, bigger...


Quote:
Originally Posted by Mrs Beanbag View Post
RTTI adds class information (data) to the output. "Overhead free" exceptions also increase code size (trade off between code size and performance).
Never used RTTI, but isn't it for debug purposes only ? At least i wouldn't use it for any other reason.


Quote:
Originally Posted by Mrs Beanbag View Post
Go!
I gave this example before and got no reply. How complex should some PNG decoder be ? I bet you can easily have code that's 20x the size of my own 68k implementation... and even the source may well be much larger than my asm one.


Quote:
Originally Posted by Mrs Beanbag View Post
That is a judgement... some people find log files useful. Would be nice to be able to turn them off though. But in my experience of running Linux it is not "incredibly high activity". User apps seems far worse than the OS anyway. (Edit: from what i'm reading right now, Firefox is one of the worst culprits...)
Anyway it's a fact i've observed that hard drives live longer in an amiga than in a pc.
About FF, you can also observe its memory usage. Gruesome.


Quote:
Originally Posted by Mrs Beanbag View Post
an angel on my shoulder... or was it the devil?
Oh noes they've found me


Quote:
Originally Posted by Michael Sykes View Post
God himself told him how to build his OS.
This is not true I did not tell anything to that guy
meynaf is offline  
Old 02 August 2015, 23:01   #199
Michael Sykes
WinUAE end user

Michael Sykes's Avatar
 
Join Date: Jan 2014
Location: Bremen
Age: 38
Posts: 627
Quote:
Originally Posted by meynaf View Post
This is not true I did not tell anything to that guy
Thats not my fault I'm just human.
But if you didn't tell him you created at least the guy who wrote the darn wikipedia article.
Michael Sykes is offline  
Old 02 August 2015, 23:05   #200
Mrs Beanbag
Glastonbridge Software
Mrs Beanbag's Avatar
 
Join Date: Jan 2012
Location: Edinburgh/Scotland
Posts: 2,202
Quote:
Originally Posted by meynaf View Post
Never used RTTI, but isn't it for debug purposes only ? At least i wouldn't use it for any other reason.
If you use polymorphic classes, you are using RTTI. Or at least if you ever use dynamic_cast.

Quote:
I gave this example before and got no reply. How complex should some PNG decoder be ? I bet you can easily have code that's 20x the size of my own 68k implementation... and even the source may well be much larger than my asm one.
ok. i have no idea, to be honest! i have wanted a PNG decoder for Amiga though, it strikes me as a convenient format to store my game data in, since it's much more efficient than ILBM and then i can create the graphics on anything.

Does it fully implement the PNG format, with all modes and colour depths?

Quote:
Anyway it's a fact i've observed that hard drives live longer in an amiga than in a pc.
Are you sure it is not just because old hard drives outlive new ones? They seem to have become terribly unreliable these days, a computer i built a few years ago had a hard drive fail recently and i was looking for a replacement and realised consumer drives now only come with 1 year warranties! It used to be 3 year warranties were standard. I guess they just don't care any more. It went downhill when they went over 500Gb i think, manufacturers were in such a competition for data density. Samsung had big problems with their platters and ended up having to limit drives to 5400 rpm for reliable operation.

Also temperature is a consideration. I keep my own PC very cool, and it is not very high-powered. There was a study that showed reliability decreased with increasing temperature. Gaming PCs can get very hot inside...

I am only using enterprise grade HDDs from now on and hang the expense.

Or SSDs... but for 2Tbs of SSD you are talking serious money.

Last edited by Mrs Beanbag; 02 August 2015 at 23:11.
Mrs Beanbag is offline  
AdSense AdSense  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Amiga 1200 computer sidrulez! MarketPlace 4 02 January 2015 00:36
looking for my amiga 3000 computer amicrawler MarketPlace 4 19 September 2009 22:50
Amiga inc reveal new entry Amiga computer - $489usd Mikey_C News 132 01 October 2007 14:10
The DADDY Amiga computer is? Bloodwych Retrogaming General Discussion 27 05 August 2002 19:14

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 18:48.


Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Page generated in 0.59297 seconds with 11 queries