Joe to save time, if we know the things that needed to fix/change in the wallet to get it work faster there are others who can help you with the improvements.
(Like Wolf) Also would like to see a button: start/stop mining in the wallet. Very easy for newbies to mine Magi.
Welcome back Joe!
Mining in the wallet is inefficient but I'd think about it.
Mining in the wallet is just fine, you've just got to fix the code.
It will work but it may be less meaningful at the final people will realize. The wallet mining would be less efficient primarily because of cpu consumption by wallet and solo mining:
1) With the present network hash, solo mining would be unlikely, unless we enable pool mining by merging m-cpuminer-qt which is quite feasible.
2) Wallet takes up percentages of cpu, particularly PoS mining enabled as well; the hash of PoS or some things else I'd like to look at to make PoS efficient, however, staking more or less takes more cpu% than no staking.
I think a lightweight wallet with mining is better.
If you do it properly, you shouldn't see any difference between in-wallet mining and a standalone miner with the wallet running. It should simply make communication simpler.
EDIT: Further explanation, in case you need it: Most OS schedulers, including the Windows scheduler, schedule threads for execution - they don't really care what process they belong to, the priority matters a lot more. So, obviously you're going to spawn new miner threads inside the wallet process to mine. Assuming the miner code is the same, there's really little to no difference - except that passing info back to the wallet can be done with a pointer - dropping the overhead of JSON-RPC.
Talking about PoS taking up CPU time is irrelevant because the person would be mining and staking on the same system regardless - whether the wallet is in the miner or not, if there's a performance hit, it's going to happen. But I doubt there will be with staking - especially if the hashing code is done correctly.
The mining is actually working already by issuing setgenerate true, solo mining. I'd like get pool mining enabled as well. If you are saying little / no difference in performance, I doubt it. PoS mining is hashing with SHA256 which does affect.
Of course PoS mining is hashing with SHA256 - but you're not doing it constantly. Secondly, the wallet mining is slower mostly because the code is old - isn't it still the original M7M implementation?
EDIT: Also, SHA256 is probably wasting so much time because you're probably using a slow one-way implementation of it - if you're hashing, you can probably use SSE/AVX to parallelize the different iterations.