如何获得真实核心的数量?

时间:2015-12-10 15:30:02

标签: rust

num_cpus包给了我核心数,但这包括超线程核心。在我的情况下,这比使用真实核心要快得多(几乎2倍)。

1 个答案:

答案 0 :(得分:1)

如本博客binding所述,您可以对hwloc库使用防护post来执行此操作。

它可以在各种平台下使用,并允许您计算物理核心和逻辑处理单元(如果是超线程),就像这样(来自博客文章的代码):

package com.example.android.bluetoothlegatt;



public class DatabaseHelper extends SQLiteOpenHelper {
    public static final String DATABASE_NAME="mydb.db";
    public static final String TABLE_NAME="mytable";
    public static final String COL_1="MobileID";
    public static final String COL_2="DeviceName";
    public static final String COL_3="Time";

    public DatabaseHelper(Context context) {
        super(context, DATABASE_NAME, null, 1);

    }



    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table " + TABLE_NAME + "(MobileID TEXT, DeviceName TEXT,  Time TEXT)");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXIST "+TABLE_NAME);
        onCreate(db);
    }

    public boolean insertData(String mobileid, String devicename, String time)
    {
        SQLiteDatabase db= this.getWritableDatabase();
        ContentValues contentValues=new ContentValues();
        contentValues.put(COL_1,mobileid);
        contentValues.put(COL_2,devicename);
        contentValues.put(COL_3,time);
        long result=db.insert(TABLE_NAME,null,contentValues);
        if(result==-1)
            return false;
        else
            return true;
    }

}