Programming :: Implementing A Garbage Collector In C++?
Aug 27, 2009
I'm interested in writing a generational garbage collector in C++. This is for a Python-like programming language project. I have used Boehm's garbage collector before, but I'm worried that it will have noticeable pause times (unacceptable for interactive programs). Since I can't really find any other C++ established GCs out there, I have been thinking of simply writing my own.
However, there are two essential ingredients I need for this:
- Some kind of write barrier mechanism that will notify my collector when something is written to a part of the heap
- A way for me to know the addresses and sizes of the stack, heap and global storage (the root sets)
how to implement write barriers (and how to get the stack, heap and global storage information) on the Linux platform? As an alternative, if you know of C++ GCs other than Boehm, I would also be interested.
View 14 Replies
ADVERTISEMENT
Feb 27, 2015
After some years using OS X, I'm returning on Debian on my Macbook Pro in single boot.
I've bought a Samsung SSD (850 EVO 500Go) in order to replace the slow built-in HDD.
But I've earned about the need of repartition of writing operation on that kind of drives, and I'm concerned about swap partition.
I need swap (especially for Darktable, browsers and maybe Steam games), but I wonder if the usual swap partition (even with discard mount option) is really recommandable for SSD drives.
Actually, on Debian wiki and others, the usual recommandation is "if you have enough RAM, don't use swap or minimise swapiness to 1", but using of swap file is not mentioned.
Indeed, if I have only one "big" partition on the SSD drive and TRIM activated, the garbage collector (low level) built in chipet's SSD will optimize SSD life, but I don't know how the low level garbage collection works with multiple partition.
So there is my questions :
- Will SSD garbage collection will preserve the disc use even if I have a 2GB swap partition ?
- Will I'd use a swap file instead of swap partition (I don't really need to hibernate) ?
View 14 Replies
View Related
Jan 7, 2010
I was wondering if it is possible to have a garbage collector in C, and would it be too difficult to create?
View 1 Replies
View Related
Mar 4, 2010
Code:
char retBuffer[100];
recv(sock , retBuffer ,sizeof(retBuffer) , 0);
if i send a string smaller then my buffer size retBuffer always have garbage of the end of it....what can i do to eliminate tis problem ?
View 2 Replies
View Related
Feb 9, 2011
I actually have two reasons for posting this. One is to see if there's an actual name for characters like this:Hopefully that will show up correctly for you. If not, it's a little box with four numbers in it, one in each corner. I don't know their name or their reason for showing up, so it's hard to look for help.
My main problem, though, is that I wrote a program that prints some output to a console using ncurses as it runs. These characters show up on the console, seemingly at random, and disturb the whole thing. Sometimes I'll also get sets of characters like "[13;" I'm not printing anything bizarre on there, just strings and floating-point numbers.
View 6 Replies
View Related
Jul 21, 2010
The code below prints garbage if I use puts() but it is fine if I use printf() instead (see sample of output at the bottom of this post). The odd thing is that the mess always starts after exactly eight properly printed characters. That sort of regularity can't be a coincidence, can it? It almost looks like an encoding issue (I'm using UTF-8) but if it really is, then I don't understand why the printf() is unaffected.
Code:
#include <stdio.h>
#include <string.h>
const char *nChars (const char *, int);
int main (int argc, char * argv[]){
char * name ="Count Dracula++";
int len = strlen(name);
if (argv[1] == 0) argv[1]="printf";
printf("--->%d characters", len); .....
View 9 Replies
View Related
Jun 27, 2011
Code:
#loop until there are no more files
while [ ${#files[@]} -gt 0 ]; do
for num in `seq 1 ${#files[@]}`; do
wurd=`tail -4 ${files[$num-1]}`
[code].....
Everything works.. but when it has to unset.. it breaks.. it doesnt give an error though.. it just jams the program.
View 7 Replies
View Related
Apr 30, 2011
I read this guide: [URL].. but I still don't understand how to make objects created with new garbage-collected. Could someone explain how or find a link to an explanation?
View 13 Replies
View Related
Oct 17, 2010
I am working on xlib project to develop text editor without using help from any of toolkit/widgets.I get stuck in scrollbar.I have no idea how they work and developed.It become more difficult as I am using low-level C library - xlib.
View 1 Replies
View Related
Mar 31, 2011
Though I have developed some web applications (automation tools) using PHP which have been primarily meant for Intranet (within the organizations I have worked for), I have paid little attention to SEO (it was not required until now). But now I want to understand how do we go about implementing SEO and where do we fit this mechanism in a system / website?
Do we need any other tools or learn some specific programming /scripting language to achieve it?Will implementing a good SEO yield identical results irrespective of what search engine (be it Google or Yahoo!) is being used by users?
View 1 Replies
View Related
Sep 12, 2010
implementing hamming code in c: Calculating the Hamming Code The key to the Hamming Code is the use of extra parity bits to allow the identification of a single error. Create the code word as follows:
Mark all bit positions that are powers of two as parity bits. (positions 1, 2, 4, 8, 16, 32, 64, etc.)
All other bit positions are for the data to be encoded. (positions 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, etc.)
[code]....
View 2 Replies
View Related
May 13, 2011
i am running linux kernel 2.6.32-30 and my aim is to do packet aggregation in linux,so i created a qdisc simple one like sch_fifo.c and i wanted to put upon the dequeue function but when i attach my qdisct with tc qdisc add dev wlan0 root aggregate my screen just go black and in var/log/messages it says 31 m of stolen memory.graphic perfomance may suffer. can you somebody pls help me. Below is my dequeue function.
static struct sk_buff *aggregate_dequeue(struct Qdisc *sch)
{
struct sk_buff *skb;
struct packet_buffer *packet_buffer = {0};
packet_buffer->size=0;
skb = __skb_dequeue(&sch->q);
[Code]...
View 1 Replies
View Related
Sep 12, 2013
I run Wheezy Xfce 64-bit. I went through the Synaptic listings and added Python 3.3.2 and Tkinter for it, and that works fine; but for some reason PyGtk is available only for Python 2.7, not for Python 3.3, unless I'm just using the wrong way to try to find it. Is there a PyGtk available for Python 3.3 in Wheezy, and, if so, how do I install it and then import it once it's installed?
View 1 Replies
View Related
Nov 15, 2010
Options:A double linked list with fixed size character arrays. New nodes will be added when previous ones get filled. Dynamic arrays using realloc(). Linked list has the disadvantage of not having an O(1) search like an array but I think using realloc() will be more dangerous since it moves the whole block to a new location and if the new location is not big enough to hold the whole block, realloc fails !! this case will not occur with the linked list since its nodes are scattered.
View 14 Replies
View Related
Aug 22, 2010
I need to implement AIDE on my client machines. The builds on these machine are different, so each workstation will have its own specific db generated through running AIDE initially. It is not good practice to just leave the db on the machine, since an "attacker" would be able to view this information. However, at the same time I do not want to pull back over 100 different aide db's to the ftp server and have an update pull each specifically every time I need to run the check. The plan is to leave the db on the client machine, but encrypt it (using public/private keys). I need to be able to encrypt the file on the client machine. I will use a cron on the client to pull an update (from my ftp server) that runs AIDE. This update needs to be able to decrypt the file, use it running AIDE, then re-encrypt the file on the client.
View 1 Replies
View Related
Mar 21, 2011
I seek a GNU Common LISP package which implements forkpty(); openpty() would also be a big plus, and login_tty() would be a luxury I could live with.
View 3 Replies
View Related
Oct 11, 2010
I'm working on a problem in which i have to implement the regular sleeping barber problem with multiple (say n) barbers. The code i'm using is this :
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<pthread.h>
#include<errno.h>
#include<sys/ipc.h>
#include<semaphore.h>
[Code]...
how to implement the modification? (there are many more such modifications where i'm stuck , but will ask about those later)
View 6 Replies
View Related
Feb 5, 2010
I need to control matrix 5x4 keypad, on a processor
i am doing by making one row low at a time, and keeping all other rows high,
by scaning coloums, the corresponding key value becomes low.
my problems is that it is taking much time to respond, like to make gpio
low to high and high to low...
View 1 Replies
View Related
Jan 18, 2010
I am writing my own syslog collector, but im stuck with calculating the severity of the message. The PRI value is calculated:-
Code:
(Facility * 8) + Severity
But from the context of a collector, neither Facility or severity would be known? You need to know either severity or Facility to calculate facility or severity?! The RFC goes in to no more detail about calculating the severity value, other tan this expression.
View 1 Replies
View Related
Apr 6, 2011
My machine is dual booted with Fedora 14 and RHEL 6. (I have only installed Red Hat because I am studying for RHCE). Just now I tried to install the Banshee player on my Red Hat OS. I ran various scripts inside the directory to see what really happens and after I ran the 'Makefile.in' file my terminal froze. It displayed '/bin/ not found'Then i restarted my computer and I got the following messages:
init: Failed to spawn readahead-collector main process: unable to execute: no such file or directory
init: Failed to spawn rcS main process: unable to execute: No such file or directory
init: Failed to spawn readahead main process: unable to execute: No such file or directory
[code].....
I tried run level 1 and run level 3 but I get the same error messages.
PS: My Fedora 14 installation is working fine.
View 1 Replies
View Related
Mar 7, 2011
My root partition /dev/sda1 is 24.41 GiB with 10.48 GiB used. How can I tell if I have inadvertently placed a bunch of garbage on this partition? Also, should I, and I use the term loosely, 'move' certain directories to my home partition /dev/sda3? (118.77 GiB with 3.14 GiB used)
Right now I believe that, rightly or wrongly, if I screw up my system, all I need to do is install my Clonezilla image back to /dev/sda1 and I will have a 'mostly' working system. If I 'move' anything out of /dev/sda1 to /dev/sda3, will this hold true? Or am I out to lunch on this assumption anyway?
View 14 Replies
View Related
Mar 5, 2010
i am trying to implement DSR algo by tcl in ns2.but the problem i am facing is that i cannot make out how to circulate the ROUTE-REQUEST & ROUTE-REPLY packet in the established network.
View 2 Replies
View Related
Mar 5, 2011
if I open Yast2 via SSH I see the garbage (code page related issue; similar to this). If I set some other than UTF-8 in PuTTY (KOI8-U, iso-8859 etc) Yast looks good, but then the same problem appears with Midnight Commander. How can I have Yast to use 'right' UTF-8 instead of any legacy code pages? Or how better deal with the situation?
View 2 Replies
View Related
Mar 25, 2010
I've setup a git-svn repo with cron to fetch from the svn repo daily. I have a script to do the fetching, and this is what is invoked by cron. Everything is fine with the repo, and the script works fine when executed manually. However, when it runs under cron, empty files get dropped into the .git directory. The files have names that look like they are some base64 output, e.g. juTrvjP6m8 and kcKf3hu3b4. Two of these files show up for every cron run. I thought these might be commit hashes, but they're not, git-show says it's an unknown revision. I set-up the repo as follows:
[code]...
The last line pushes the repo to a separate (bare) public repo from which others can clone. I'm piping the output from the cron job to a file, which looks like this:
[code]...
The line "fatal: unable to run 'git-svn'" is alarming, but the fetch seems to go ahead anyway. Where are these empty garbage files coming from, and how to stop them? Am I in for bigger problems in the future?
View 1 Replies
View Related
Jan 6, 2010
I am trying to get a new box up. It has XP on one HDD. There is a second HDD, upon which I want to install Ubuntu and dual boot. My problem is that my CD drive is garbage and won't run the installer. Nor do I have any flash drives. Is it possible to install directly from Windows but not "within Windows" persay? If so, how is this done? (I do have Daemon Tools.)
View 2 Replies
View Related
Jan 23, 2010
I have installed scim and anthy. Most Japanese characters display, but some websites and files show garbage characters. Is there any way to resolve this?
View 1 Replies
View Related
Apr 30, 2010
With 10.04 final i still have the issue with a very distorted screen. Works with RadeonHD driver but performance is utterly crap so no good solution. Also when adding new panels they become invisible and only a logout and login makes them visible around the border. Errors somehow related? How do i file a bug report?
View 1 Replies
View Related
Nov 1, 2010
I have installed scim and anthy. Most Japanese characters display, but some websites and files show garbage characters.
View 1 Replies
View Related
Nov 2, 2009
Inherited an old Laserjet 6P that was working fine XP. No matter which printer driver I use all I get are pages and pages of garbage during the test print. I have tried the hplip, gimp, ljet4 drivers without success. I have tried sending text files from the command line as well (cat /etc/passwd > /dev/lp0) with the same result.
Fedora 11 64
cups 1.4
hplip-3.9
hpijs-3.9
Anyone using this printer with cups 1.4? Any ideas which driver to use?
View 4 Replies
View Related
Mar 5, 2010
When i pipe commands through 'less' in console, i get a load of garbage mixed into the results, and no colors either. Mainly the letters 'Esc' printed a couple of times on each line.
I had been messing about with my bash config files but i can't see anything in there to affect this. If I pipe through 'more' there is no problem, only 'less'.
View 11 Replies
View Related