You can subscribe to this list here.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(64) |
Oct
(438) |
Nov
(183) |
Dec
|
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
(132) |
May
(466) |
Jun
(366) |
Jul
(392) |
Aug
(31) |
Sep
(18) |
Oct
|
Nov
|
Dec
|
|
From: Thomas W. <in...@w3...> - 2002-07-24 18:15:48
|
Hi, Can anyone stop this spammers? Why can't we block them? bye |
|
From: Eric K. <ek...@rz...> - 2002-07-24 16:11:18
|
"James Marjie" <jid...@sa...> wrote: > Has anyone else gotten like three or so junk emails sent to the > ros...@re... address? This mailing list does not exist any more. It is ordinary spam using a faked from-address. The spammer is not subscribed to the mailing list. Ignore it and delete it! Eric |
|
From: Eric K. <ek...@rz...> - 2002-07-24 15:01:45
|
"Robert K." <ro...@ko...> wrote: > Congratulations. Let's hope this is the only thing that has to be fixed > in order to run > MSVC compilend pgms. It's at least an impotand step. No, it seems there are more bugs ahead! I changed the code in NtMapViewOfSection() to make all parts of a mapped image section writable. The simple 'hello world!' example crashed upon initialization. This is propably due to missing or buggy SEH-support. > Whose mistake is it ? MSVC, Mingw, NT or ROS? It is not a mistake! MSVC executables and MinGW executables have a slightly different layout. That's all. Of course, M$ could use this to get rid of 'evil, criminal, cancerous <insert more buzzwords here> open source applications' by adding some checks to the loader. Eric |
|
From: Robert K. <ro...@ko...> - 2002-07-24 13:39:11
|
Congratulations. Let's hope this is the only thing that has to be fixed in order to run MSVC compilend pgms. It's at least an impotand step. Whose mistake is it ? MSVC, Mingw, NT or ROS? Eric Kohl schrieb: >Hi! > >I just found out why application compiled with MSVC++ don't run on ReactOS. > >These apps have a slighly different layout compared to apps compiled with >MinGW. MSVC++ stores the IAT (Import Address Table) inside of the .rdata >section, MinGW stores the IAT inside of the .data section. Now the problem >is that the .rdata setion is read-only. To fix-up the IAT of an application >the offsets stored in the IAT must be overwritten by the real import >addresses. Obviously this wont work if the IAT is inside of a read-only >section. > >To fix this bug I added calls to NtProtectVirtualMemory() to the fixup >routine to change the IAT's protection to read-write before it is modified >and reset its protection after the fixup is done. > >When I had a look at NtProtectVirtualMemory() I saw that its core >functionality is disabled. What's wrong? > > >Regards, >Eric > >Eric > > > >------------------------------------------------------- >This sf.net email is sponsored by:ThinkGeek >Welcome to geek heaven. >http://thinkgeek.com/sf >_______________________________________________ >reactos-kernel mailing list >rea...@li... >https://lists.sourceforge.net/lists/listinfo/reactos-kernel > > |
|
From: Eric K. <ek...@rz...> - 2002-07-24 11:47:39
|
"Steven Edwards" <ste...@ya...> wrote: > Take a look at this on google. Search for "equitable estoppel". To sum it up, if they knew or know > that we are using some of there IP. The only thing they really have patented are gdi related > things and if they do nothing to stop us then the patent will be rendered null. I think that as > the wine project has managed to not get sued to date then we should be ok. Don't you confuse patents and trademarks? In Germany a trademark is rendered null and void if the owner of that trademark doesn't enforce his ownership. A trademark also expires if the owner doesn't use it within five years after the registration. Eric |
|
From: Iwan F. <if...@bi...> - 2002-07-24 10:18:29
|
yess i've got them On Wed, 24 Jul 2002 03:05:31 -0700 James Marjie <jid...@sa...> wrote: > Has anyone else gotten like three or so junk emails sent to the > ros...@re... address? > -- > James Marjie |
|
From: Koert v. d. V. <ko...@ic...> - 2002-07-24 10:12:31
|
Yup, All three in chinese or japanese. ----- Original Message ----- From: "James Marjie" <jid...@sa...> To: <rea...@li...> Sent: Wednesday, July 24, 2002 12:05 PM Subject: [ros-kernel] Spam? Has anyone else gotten like three or so junk emails sent to the ros...@re... address? -- James Marjie ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ reactos-kernel mailing list rea...@li... https://lists.sourceforge.net/lists/listinfo/reactos-kernel |
|
From: James M. <jid...@sa...> - 2002-07-24 10:03:06
|
Has anyone else gotten like three or so junk emails sent to the=20 ros...@re... address? --=20 James Marjie |
|
From: Steven E. <ste...@ya...> - 2002-07-24 05:58:57
|
Take a look at this on google. Search for "equitable estoppel". To sum it up, if they knew or know that we are using some of there IP. The only thing they really have patented are gdi related things and if they do nothing to stop us then the patent will be rendered null. I think that as the wine project has managed to not get sued to date then we should be ok. Thanks Steven __________________________________________________ Do You Yahoo!? Yahoo! Health - Feel better, live better http://health.yahoo.com |
|
From: Steven E. <ste...@ya...> - 2002-07-23 22:21:20
|
This rocks dude. If you want me to help with testing/debugging this I will reinstall MS_VC and compile some simple applications once you figure out more of whats going on. Thanks Steven > I just found out why application compiled with MSVC++ don't run on ReactOS. > These apps have a slighly different layout compared to apps compiled with > MinGW. MSVC++ stores the IAT (Import Address Table) inside of the .rdata > section, MinGW stores the IAT inside of the .data section. Now the problem > is that the .rdata setion is read-only. To fix-up the IAT of an application > the offsets stored in the IAT must be overwritten by the real import > addresses. Obviously this wont work if the IAT is inside of a read-only > section. > > To fix this bug I added calls to NtProtectVirtualMemory() to the fixup > routine to change the IAT's protection to read-write before it is modified > and reset its protection after the fixup is done. > > When I had a look at NtProtectVirtualMemory() I saw that its core > functionality is disabled. What's wrong? __________________________________________________ Do You Yahoo!? Yahoo! Health - Feel better, live better http://health.yahoo.com |
|
From: Joachim B. <jmb...@gm...> - 2002-07-23 20:13:07
|
"Koert van der Veer" <ko...@ic...> writes: >> do you mean switch user? note that this user is still logged on. >> OTOH, a program that wil run for several users (sharing memory && >> recources) wil be cool. Think of cmd.exe, windows commander, ICQ >> and what ever. I would like to share this programs betwen logged >> users. > > A potential pittfall for such a structure is user permissions. Consider an > admin and a simple user sharing notepad (ridiculous, I know...) What happens > if the admin tries to open a severly protected file, such as kernel32.dll, > and what happens when the user tries to open it? The program would have to > behave differently for each of these situations, so either the uid an gid of > the proces should be changed, or the program should handle this itself. In > the latter, part of the code has to run as user 'System' (or, at your > option, root), which imposes severe security risks, as a simple buffer > overflow would enable a local (or perhaps even remote) user to gain all > permissions. In the world I come from "all" read-only parts of the program, such as the actual executable code (in the usual case, anyway), gets only loaded once and, depending on OS designed, used more or less directly out of the buffer cache pages. As this data is read-only sharing it between instances is indistinguishable from each instance having its own copy. All data which makes the program relate to its environment (data and stack, which roughly correspond to the "variables" in the source code) is allocated per instance (no matter whether these instances span different users or not). Especially the process control structure, which also "contains" the security context, is allocated per instance. Perhaps this can clarify how such a structure might work; especially that it does not necessarily require consent of the applications. I honestly don't know how much of that MS really implements. Btw, one of the frustrating points in using windows for me is that most programs have ill-defined notions of what should be "read-only", imposing severe limitations to the scheme above. Try to do just about anything with a read-only %SystemRoot% or HKLM... (pet peevee) So long, Joe P.S. I didn't forget about the "Wishlist for Windows by a Unix user", finding the time to do it is the harder part... -- "I use emacs, which might be thought of as a thermonuclear word processor." -- Neal Stephenson, "In the beginning... was the command line" |
|
From: Koert v. d. V. <ko...@ic...> - 2002-07-23 18:47:54
|
> do you mean switch user? note that this user is still logged on. > OTOH, a program that wil run for several users (sharing memory && recources) > wil be cool. Think of cmd.exe, windows commander, ICQ and what ever. I would > like to share this programs betwen logged users. A potential pittfall for such a structure is user permissions. Consider an admin and a simple user sharing notepad (ridiculous, I know...) What happens if the admin tries to open a severly protected file, such as kernel32.dll, and what happens when the user tries to open it? The program would have to behave differently for each of these situations, so either the uid an gid of the proces should be changed, or the program should handle this itself. In the latter, part of the code has to run as user 'System' (or, at your option, root), which imposes severe security risks, as a simple buffer overflow would enable a local (or perhaps even remote) user to gain all permissions. Anyway, I guess that would be a program-design issue, not an os-issue, so perhaps it is not really relevant to this list. |
|
From: Diego I. <ias...@ac...> - 2002-07-23 16:52:03
|
=E1=E9=E5=ED =F9=F0=E9, 22 =E1=E9=E5=EC=E9 2002, 23:37, Robert K. =EB=FA=E1= : > Don't go into peanuts and don't count peas. > If you wanna get efficient programs, then use Registry as you want and > use variables as you > want. As long as you don't use MFC (or th. like that) you'll save the > most memory and CPU-time. can you recommed a nice gui that works with mingw then? or even with the=20 command line tools from borland?=20 - diego --=20 You are only young once, but you can stay immature indefinitely. |
|
From: Diego I. <ias...@ac...> - 2002-07-23 16:52:03
|
=E1=E9=E5=ED =F8=E0=F9=E5=EF, 21 =E1=E9=E5=EC=E9 2002, 01:31, Royce Mitch= ell III =EB=FA=E1: > At login you are presented with a list of users, and each user's icon ( > obviously unnecessary ). If a user is already logged in ( wouldn't happ= en > on boot-up obviously ) then it shows that user as being logged in. This > isn't really why I say it's better, but I can't think of a better way t= o do > this. The better part is this: User's can log off without having to shu= t > down the applications they are running. I realize this is a tall order,= and > probably would be difficult to pull off, but it is one of the few featu= res > I actually like in XP. do you mean switch user? note that this user is still logged on. OTOH, a program that wil run for several users (sharing memory && recourc= es) =20 wil be cool. Think of cmd.exe, windows commander, ICQ and what ever. I wo= uld=20 like to share this programs betwen logged users. - diego --=20 Let sleeping dogs lie. -- Charles Dickens |
|
From: Eric K. <ek...@rz...> - 2002-07-23 12:04:57
|
"Ian McLean" <ian...@op...> wrote: > Hi Guys, > > Latest CVS download fails during the build of GDI32. The missing file has already been checked in. Please update your local source tree. Regards, Eric |
|
From: Eric K. <ek...@rz...> - 2002-07-23 11:51:18
|
Hi! I just found out why application compiled with MSVC++ don't run on ReactOS. These apps have a slighly different layout compared to apps compiled with MinGW. MSVC++ stores the IAT (Import Address Table) inside of the .rdata section, MinGW stores the IAT inside of the .data section. Now the problem is that the .rdata setion is read-only. To fix-up the IAT of an application the offsets stored in the IAT must be overwritten by the real import addresses. Obviously this wont work if the IAT is inside of a read-only section. To fix this bug I added calls to NtProtectVirtualMemory() to the fixup routine to change the IAT's protection to read-write before it is modified and reset its protection after the fixup is done. When I had a look at NtProtectVirtualMemory() I saw that its core functionality is disabled. What's wrong? Regards, Eric Eric |
|
From: Ian M. <ian...@op...> - 2002-07-23 11:25:23
|
Hi Guys, Latest CVS download fails during the build of GDI32. Details:- make -C lib/gdi32 make[1]: *** No rule to make target `objects/region.o', needed by `gdi32.o'. St op. make[1]: Entering directory `D:/Development/PROJECTS/REACTOS/source/reactos/lib/ gdi32' make[1]: Leaving directory `D:/Development/PROJECTS/REACTOS/source/reactos/lib/g di32' make: *** [gdi32] Error 2 Rgs Ian. |
|
From: Jarmo M. <ja...@mu...> - 2002-07-22 21:12:00
|
I was wondering will my message get any feedback. At least one. My title is "ATK suunnittelija" in Finnish (in English it would mean "Software Designer"). Nowadays I am keen to more designing than programming. I'd like others do the programming. At least web UI things because it's still a mess (VBScript). I hope .NET would be more OO. I do like programming too, but designing it first a bit better than before. OT: I have noticed that many times people (even English speaking) write "that" when they should write "than". I don't know the reason. In upper paragraph I wrote "that" two times and corrected them to "than". Why I wrote "that"??? I have an impression that many ReactOS developers don't design so much. Have I got it wrong? Does anyone design using UML? Like drawing class and activity diagrams for example. It would be nice if ReactOS site would have few UML dialgrams. Now to the answer. I meant "developer". I wrote "user" instead. I have made this mistake before. Usability tests come later when the program is running. Before that you need UR (usability requirements). If they are very defined the program could be usable. "Could be" because URs might be not that good. Think before you do is a good advice. I visited quickly at http://www.joelonsoftware.com/ and noticed that they/he have/has very similar bug tracking system than we have made. We have more fields to fill/to follow. At first it was built with Centure/SQLWindows (still in use) and now we have a web based version. JMu ----- Original Message ----- From: "KJK::Hyperion" <no...@li...> To: <rea...@li...> Sent: Sunday, July 21, 2002 12:58 AM Subject: Re: [ros-kernel] FURPS > At 08.35 20/07/2002, Jarmo Muukka wrote: > >I thought that it would be cool idea to have a web page where users would > >have a possibility to see and add requirements. > > mmmh. I'm not sure. Some good old usability tests would be better. You can > look at what the users expect the software to do, which is important. > Nobody should ever be forced to face a bug report or feature request form > > >These could be possible to see/add per module. It should be controlled > >someway. > > can you say "moderation"? last time I saw WinE's list of supported > applications, it was a chaotic mess: automatization is cool and stuff, but > moderation is sometimes necessary. Better yet: find some volunteers ("on > your marks...") for a help desk ("RUN!!!"), that will be the only people to > have direct contact with the users, and shield them from the beautiful hell > of mailing lists, bug report forms, and all those things that nobody in > their right mind would like to be subject to > > [...] > >I hope that you got the point. When you read this you might not like > >something, or think that it's too complicated, or there is something > >missing, or req is not needed, or it can be implemented later, etc. > > I suggest you (all of you) to have a look at Joel Spolsky's weblog: > > <http://www.joelonsoftware.com/> > > He speaks of software management mainly, but also of user interfaces. He > has a lot of common sense and humor. A good read. Too bad he doesn't update > very often > > >I feel that adding detailed requirements before we write a line of code > >will pay it back. > > definitely agree > > >By the way, the reqs are so general that there are no UI specific things. > > This doesn't mean that the UI doesn't require a spec on its own, of course > > >Was this interesting or not? > > if not else, at least someone has had the guts to bring this out > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > reactos-kernel mailing list > rea...@li... > https://lists.sourceforge.net/lists/listinfo/reactos-kernel > |
|
From: Robert K. <ro...@ko...> - 2002-07-22 20:35:02
|
Don't go into peanuts and don't count peas. If you wanna get efficient programs, then use Registry as you want and use variables as you want. As long as you don't use MFC (or th. like that) you'll save the most memory and CPU-time. Royce Mitchell III schrieb: >I considered this possibility, but I don't see how they would take up more >room than the code. If you don't cache the data, then you have to at least >put it on the stack or in a register. In order to get it there, you probably >have to place a function call. There's a 5-byte instruction already. On top >of that, we probably have to pass parameters to that function call. Let's >say a pointer to the parameter name, or an identifier at least. We're up to >9 bytes now. So, at a minimum, if we don't cache settings, we need at least >9 bytes for every point of code where we wish to pull them in. OTOH, a mov >eax, [var] is 5 bytes I think, 6 at most. > >If I'm mistaken, please show me the error of my ways :) > >It seems to me, if each setting is only accessed once, we save 4 bytes per >variable for each one we cache. If a particular setting is accessed more >often, then the savings only increase. > >I do realize there are more storage considerations, but I think they are >moot, especially as a setting's usage increases. > >For example, let's say each setting is accessed via a 16-bit identifier ( to >save space ). Let's also say there's a single function for loading >parameters, and it only needs this 16-bit identifier to return the requested >setting via EAX: There is only the size of the function for static storage >requirements for all settings, and no static storage requirements for >individual settings. Accessing each settings results in a 8-byte pair of op >codes: > MOV AX, id ( 3 bytes ) > CALL func ( 5 bytes ) >If we have 100 settings each accessed 100 times, this results in 80kb worth >of code for utilizing the settings. > >OTOH, let's say we cache all settings. The same single function for loading >parameters exists, so the storage space for this function is not necessary >for this comparison. However, a new function exists which must be called on >application startup which will cache all the settings ( perhaps in a >background thread ). This function must call the loading function once for >each of the 100 settings. Each setting is loaded like this: > MOV AX, id ( 3 bytes ) > CALL func ( 5 bytes ) > MOV [var], EAX ( 5 bytes ) >That results in an appx 1300 byte function. Now, for each setting to be >accessed, we must do this: > MOV EAX, [var] ( 5 bytes ) >So, if each setting is accessed a 100 times, that results in 50kb worth of >code to access the settings. Also, the program's memory footprint is >increased by sizeof(var) * 100 = 400 bytes. >Our total impact on memory comes to this: 1300 + 50000 + 400 = 51700. > >So, my attempt to compare the two comes up with this: > >non-cacheing: 80k >cacheing: 52k > >I'm obviously not addressing performance issues, but I can't possibly see >how (even) frequent cpu cache-misses could be slower than accessing the >registry constantly. > >Royce3 > >----- Original Message ----- >From: "Casper Hornstrup" <ch...@us...> >To: <rea...@li...> >Sent: Saturday, July 20, 2002 10:05 AM >Subject: Re: [ros-kernel] Re: ROS gui > > >lør, 2002-07-20 kl. 16:18 skrev Royce Mitchell III: > > >>----- Original Message ----- >> >> >>>Looking up registry keys and values is not an expensive task in terms of >>>time consumption, but keeping *all* settings in memory is expensive in >>> >>> >>terms >> >> >>>of memory consumption. This also obsoletes the concept of monitoring >>> >>> >>changes >> >> >>>to the registry, at least in most cases. >>> >>> >>Also, I forget to mention that most settings will take up less space than >>the code to call the registry and reload it. >> >> > >Maybe they do in your average free text editor application, but not in >your average full blown comercial application with several thousands of >settings. > >Casper > > > > >------------------------------------------------------- >This sf.net email is sponsored by:ThinkGeek >Welcome to geek heaven. >http://thinkgeek.com/sf >_______________________________________________ >reactos-kernel mailing list >rea...@li... >https://lists.sourceforge.net/lists/listinfo/reactos-kernel > > > > >------------------------------------------------------- >This sf.net email is sponsored by:ThinkGeek >Welcome to geek heaven. >http://thinkgeek.com/sf >_______________________________________________ >reactos-kernel mailing list >rea...@li... >https://lists.sourceforge.net/lists/listinfo/reactos-kernel > > |
|
From: Jarmo M. <ja...@mu...> - 2002-07-22 20:33:34
|
Hmm, others seem to have different way of programming than I have.
Lets say that I have few settings. I would write a class which has
interfaces for getting and setting values. Method is invisible to
the caller. It might use INI files or registry. It might read
settings from ini/reg every time it is called or it might cache
it.
In application class I'd have
private:
Settings settings;
In code I'd have
LANGID langID = settings.GetCurrentLanguageID();
So, from the caller's point of view there is no difference is it
cached or not. If it is cached, it might work a bit faster, if
used very frequently. If it is not cached, it would be a bit
slower, but it depends on what you're reading/writing and where
from/to.
Now to the code:
Non-cached version:
LANGID Settings::GetCurrentLanguageID()
{
DWORD value;
if ( QueryValue( TEXT("LanguageID"), value ) )
return LANGID(value);
return GetDefaultLanguageID();
}
Cached version:
class Settings
{
...
private:
LANGID currentLanguageID;
};
Settings::Settings()
{
DWORD value;
if ( QueryValue( TEXT("LanguageID"), value ) )
currentLanguageID = LANGID(value);
else
currentLanguageID = GetDefaultLanguageID();
}
// this is so short that it is sensible to write a inline function
in .h
inline LANGID Settings::GetCurrentLanguageID() const
{
return currentLanguageID;
}
Cached version with delayed query:
class Settings
{
...
private:
LANGID currentLanguageID;
};
Settings::Settings()
: currentLanguageID( 0 )
{
}
LANGID Settings::GetCurrentLanguageID()
{
if ( currentLanguageID == 0 )
{
DWORD value;
if ( QueryValue( TEXT("LanguageID"), value ) )
currentLanguageID = LANGID(value);
else
currentLanguageID = GetDefaultLanguageID();
}
return currentLanguageID;
}
Of course QueryValue is a function which queries DWORD value from
registry of from INI file. RegistryKey is opened in the first call
and the function itself knows where to read from.
Which one is fastest? Which one takes less memory? I actually
don't care, because it is dependent on frequent of usage. You just
cache some, if you feel that it's necessary.
JMu
----- Original Message -----
From: "Royce Mitchell III" <ro...@ev...>
To: <rea...@li...>
Sent: Monday, July 22, 2002 10:27 PM
Subject: Re: [ros-kernel] Re: ROS gui
> I considered this possibility, but I don't see how they would
take up more
> room than the code. If you don't cache the data, then you have
to at least
> put it on the stack or in a register. In order to get it there,
you probably
> have to place a function call. There's a 5-byte instruction
already. On top
> of that, we probably have to pass parameters to that function
call. Let's
> say a pointer to the parameter name, or an identifier at least.
We're up to
> 9 bytes now. So, at a minimum, if we don't cache settings, we
need at least
> 9 bytes for every point of code where we wish to pull them in.
OTOH, a mov
> eax, [var] is 5 bytes I think, 6 at most.
>
> If I'm mistaken, please show me the error of my ways :)
>
> It seems to me, if each setting is only accessed once, we save 4
bytes per
> variable for each one we cache. If a particular setting is
accessed more
> often, then the savings only increase.
>
> I do realize there are more storage considerations, but I think
they are
> moot, especially as a setting's usage increases.
>
> For example, let's say each setting is accessed via a 16-bit
identifier ( to
> save space ). Let's also say there's a single function for
loading
> parameters, and it only needs this 16-bit identifier to return
the requested
> setting via EAX: There is only the size of the function for
static storage
> requirements for all settings, and no static storage
requirements for
> individual settings. Accessing each settings results in a 8-byte
pair of op
> codes:
> MOV AX, id ( 3 bytes )
> CALL func ( 5 bytes )
> If we have 100 settings each accessed 100 times, this results in
80kb worth
> of code for utilizing the settings.
>
> OTOH, let's say we cache all settings. The same single function
for loading
> parameters exists, so the storage space for this function is not
necessary
> for this comparison. However, a new function exists which must
be called on
> application startup which will cache all the settings ( perhaps
in a
> background thread ). This function must call the loading
function once for
> each of the 100 settings. Each setting is loaded like this:
> MOV AX, id ( 3 bytes )
> CALL func ( 5 bytes )
> MOV [var], EAX ( 5 bytes )
> That results in an appx 1300 byte function. Now, for each
setting to be
> accessed, we must do this:
> MOV EAX, [var] ( 5 bytes )
> So, if each setting is accessed a 100 times, that results in
50kb worth of
> code to access the settings. Also, the program's memory
footprint is
> increased by sizeof(var) * 100 = 400 bytes.
> Our total impact on memory comes to this: 1300 + 50000 + 400 =
51700.
>
> So, my attempt to compare the two comes up with this:
>
> non-cacheing: 80k
> cacheing: 52k
>
> I'm obviously not addressing performance issues, but I can't
possibly see
> how (even) frequent cpu cache-misses could be slower than
accessing the
> registry constantly.
>
> Royce3
>
> ----- Original Message -----
> From: "Casper Hornstrup" <ch...@us...>
> To: <rea...@li...>
> Sent: Saturday, July 20, 2002 10:05 AM
> Subject: Re: [ros-kernel] Re: ROS gui
>
>
> lør, 2002-07-20 kl. 16:18 skrev Royce Mitchell III:
> >
> > ----- Original Message -----
> > > Looking up registry keys and values is not an expensive task
in terms of
> > > time consumption, but keeping *all* settings in memory is
expensive in
> > terms
> > > of memory consumption. This also obsoletes the concept of
monitoring
> > changes
> > > to the registry, at least in most cases.
> >
> > Also, I forget to mention that most settings will take up less
space than
> > the code to call the registry and reload it.
>
> Maybe they do in your average free text editor application, but
not in
> your average full blown comercial application with several
thousands of
> settings.
>
> Casper
>
>
>
>
> -------------------------------------------------------
> This sf.net email is sponsored by:ThinkGeek
> Welcome to geek heaven.
> http://thinkgeek.com/sf
> _______________________________________________
> reactos-kernel mailing list
> rea...@li...
> https://lists.sourceforge.net/lists/listinfo/reactos-kernel
>
>
>
>
> -------------------------------------------------------
> This sf.net email is sponsored by:ThinkGeek
> Welcome to geek heaven.
> http://thinkgeek.com/sf
> _______________________________________________
> reactos-kernel mailing list
> rea...@li...
> https://lists.sourceforge.net/lists/listinfo/reactos-kernel
>
|
|
From: Royce M. I. <ro...@ev...> - 2002-07-22 19:32:00
|
I considered this possibility, but I don't see how they would take up more
room than the code. If you don't cache the data, then you have to at least
put it on the stack or in a register. In order to get it there, you probably
have to place a function call. There's a 5-byte instruction already. On top
of that, we probably have to pass parameters to that function call. Let's
say a pointer to the parameter name, or an identifier at least. We're up to
9 bytes now. So, at a minimum, if we don't cache settings, we need at least
9 bytes for every point of code where we wish to pull them in. OTOH, a mov
eax, [var] is 5 bytes I think, 6 at most.
If I'm mistaken, please show me the error of my ways :)
It seems to me, if each setting is only accessed once, we save 4 bytes per
variable for each one we cache. If a particular setting is accessed more
often, then the savings only increase.
I do realize there are more storage considerations, but I think they are
moot, especially as a setting's usage increases.
For example, let's say each setting is accessed via a 16-bit identifier ( to
save space ). Let's also say there's a single function for loading
parameters, and it only needs this 16-bit identifier to return the requested
setting via EAX: There is only the size of the function for static storage
requirements for all settings, and no static storage requirements for
individual settings. Accessing each settings results in a 8-byte pair of op
codes:
MOV AX, id ( 3 bytes )
CALL func ( 5 bytes )
If we have 100 settings each accessed 100 times, this results in 80kb worth
of code for utilizing the settings.
OTOH, let's say we cache all settings. The same single function for loading
parameters exists, so the storage space for this function is not necessary
for this comparison. However, a new function exists which must be called on
application startup which will cache all the settings ( perhaps in a
background thread ). This function must call the loading function once for
each of the 100 settings. Each setting is loaded like this:
MOV AX, id ( 3 bytes )
CALL func ( 5 bytes )
MOV [var], EAX ( 5 bytes )
That results in an appx 1300 byte function. Now, for each setting to be
accessed, we must do this:
MOV EAX, [var] ( 5 bytes )
So, if each setting is accessed a 100 times, that results in 50kb worth of
code to access the settings. Also, the program's memory footprint is
increased by sizeof(var) * 100 = 400 bytes.
Our total impact on memory comes to this: 1300 + 50000 + 400 = 51700.
So, my attempt to compare the two comes up with this:
non-cacheing: 80k
cacheing: 52k
I'm obviously not addressing performance issues, but I can't possibly see
how (even) frequent cpu cache-misses could be slower than accessing the
registry constantly.
Royce3
----- Original Message -----
From: "Casper Hornstrup" <ch...@us...>
To: <rea...@li...>
Sent: Saturday, July 20, 2002 10:05 AM
Subject: Re: [ros-kernel] Re: ROS gui
lør, 2002-07-20 kl. 16:18 skrev Royce Mitchell III:
>
> ----- Original Message -----
> > Looking up registry keys and values is not an expensive task in terms of
> > time consumption, but keeping *all* settings in memory is expensive in
> terms
> > of memory consumption. This also obsoletes the concept of monitoring
> changes
> > to the registry, at least in most cases.
>
> Also, I forget to mention that most settings will take up less space than
> the code to call the registry and reload it.
Maybe they do in your average free text editor application, but not in
your average full blown comercial application with several thousands of
settings.
Casper
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
reactos-kernel mailing list
rea...@li...
https://lists.sourceforge.net/lists/listinfo/reactos-kernel
|
|
From: Steven E. <ste...@ya...> - 2002-07-22 11:08:15
|
Fixed. --- Brian Palmer <br...@sg...> wrote: > It looks like a couple of the bitmaps in rosapps\hcalc are garbled. I'll > bet they just need to be committed in binary mode instead of text. Does > anyone have an original copy of them? __________________________________________________ Do You Yahoo!? Yahoo! Health - Feel better, live better http://health.yahoo.com |
|
From: Casper H. <ch...@us...> - 2002-07-22 10:58:33
|
l=F8r, 2002-07-20 kl. 16:18 skrev Royce Mitchell III: >=20 > ----- Original Message ----- > > Looking up registry keys and values is not an expensive task in terms o= f > > time consumption, but keeping *all* settings in memory is expensive in > terms > > of memory consumption. This also obsoletes the concept of monitoring > changes > > to the registry, at least in most cases. >=20 > Also, I forget to mention that most settings will take up less space than > the code to call the registry and reload it. Maybe they do in your average free text editor application, but not in your average full blown comercial application with several thousands of settings. Casper |
|
From: Brian P. <br...@sg...> - 2002-07-22 08:07:33
|
It looks like a couple of the bitmaps in rosapps\hcalc are garbled. I'll bet they just need to be committed in binary mode instead of text. Does anyone have an original copy of them? Brian |
|
From: Steven E. <ste...@ya...> - 2002-07-22 06:15:45
|
From what I have seen they are going for a system that acts like windows but isnt windows. I think they are going to be putting together a linux distro that acts like Windows sort of like Lindows. My guess is they will ship Open/StarOffice with the default file formats being Office2K. See the slashdot threads for more info. Steven --- Jason Filby <jas...@ya...> wrote: > Since these guys may not have the source, I think I'll try and > contact them. Just to find out what they're up to and if they do have > any source that would scare us off. > > - Jason __________________________________________________ Do You Yahoo!? Yahoo! Health - Feel better, live better http://health.yahoo.com |